Cuprins:

Cum să conectați o tastatură PS / 2 la iPhone: 11 pași
Cum să conectați o tastatură PS / 2 la iPhone: 11 pași

Video: Cum să conectați o tastatură PS / 2 la iPhone: 11 pași

Video: Cum să conectați o tastatură PS / 2 la iPhone: 11 pași
Video: iPhone blocat | Modul iTunes pe iPhone SE 2020 2024, Noiembrie
Anonim
Cum se conectează o tastatură PS / 2 la iPhone
Cum se conectează o tastatură PS / 2 la iPhone
Cum să conectați o tastatură PS / 2 la iPhone
Cum să conectați o tastatură PS / 2 la iPhone
Cum să conectați o tastatură PS / 2 la iPhone
Cum să conectați o tastatură PS / 2 la iPhone

Deși am văzut multe fotografii cu tastaturi PS / 2 conectate la iPhone pe internet, nimeni nu a publicat încă un manual detaliat despre cum să funcționezi singur. Până acum, asta este.

În acest Instructable vă voi arăta cum puteți realiza un convertor PS / 2 de la tastatură la iPhone, inclusiv toate instrucțiunile hardware și software.

Condiții prealabile

  • IPhone Jailbroken - SDK-ul oficial nu permite accesul la portul serial din cauza Elf Conspiracy, deci este necesar jailbreak-ul. Tot ce trebuie să știți despre jailbreaking este pe blogul iPhone Dev Team.
  • Arduino Diecimila sau Dumilanove (sau clonă), disponibile din multe locuri. Acest lucru presupune că Arduino este asamblat.
  • O placă iPod Breakout, ca aceasta de la Sparkfun. Orice produs similar va funcționa.
  • Un conector pentru tastatură PS / 2 (Din 6) feminin. Scoateți unul de pe un computer vechi sau cumpărați unul de la Digikey sau de la un furnizor similar.
  • Sârmă, de preferință mai multe culori și aproximativ 24 de ecartament. Folosesc o bobină de la RadioShack în fotografiile de mai jos.
  • Un rezistor de 500k. Folosesc un rezistor axial prin gaură de la RadioShack, dar ați putea adăuga acest lucru și la comanda dvs. Digikey.
  • Fier de lipit și lipit. Dacă nu știți cum să lipiți, puteți învăța aici și aici.
  • (Opțional) Anteturi de fixare, ca acestea. Le rup și le lipesc la capetele firelor, astfel încât să se conecteze frumos la Arduino.
  • (Opțional) Ham de baterie Sweet 9v, astfel încât Arduino să devină portabil disponibil din Magazinul Maker.
  • (Opțional) Jack pentru căști stereo de la RadioShack sau Digikey.

Pasul 1: lipiți iPhone Breakout - Partea 1

Lipiți iPhone Breakout - Partea 1
Lipiți iPhone Breakout - Partea 1

Odată ce sosesc toate ingredientele, aprindeți fierul de lipit și aruncați o privire rapidă la Pin-Out-ul conectorului iPod.

Vom folosi patru dintre acești pini pentru tastatură: 11, 13, 16 și 21. Definiția pinului 21 spune că trebuie să amplasăm un rezistor de 500k între pinul 21 și masă pentru a permite comunicațiile seriale către iPhone, deci vom lipi un rezistor între pinul 21 și pinul 16, care este masa de serie. De asemenea, vom adăuga anteturi pin la pinii 11 și 13, care vor acționa ca pinii TX și RX pentru comunicațiile seriale. Deoarece vom trimite DOAR pe iPhone, vom folosi doar pinul RX al iPhone-ului, așa că vom adăuga și o bucată de sârmă pentru a conecta pinul 11, pinul TX neutilizat, direct la sol la pinul 16.

De asemenea, puteți adăuga opțional mufa pentru căști steroidă la pinii 2, 3 și 4 chiar acum și va funcționa ori de câte ori este conectat breakout-ul. Acest lucru nu are nicio legătură cu tastatura, dar dacă aveți un iPhone 1G cu lame non- mufa standard pentru căști, aceasta o va remedia.

Pasul 2: lipiți iPhone Breakout - Partea 2

Lipiți iPhone Breakout - Partea 2
Lipiți iPhone Breakout - Partea 2

Am pus jumperul între pinul 11 și pinul 16 pe spatele panoului de rupere. Poate fi un pic dificil să potriviți totul la pinul 16, așa că vă recomand să băgați mai întâi rezistorul prin gaură, apoi să înfășurați capătul firului jumper în jurul său și să-i lipiți înainte de a tăia cablul rezistorului.

O altă tactică care poate fi utilă aici este mai întâi să tăiați capetele firului, apoi să blocați o mică lipire pe orificiul la care doriți să lipiți firul. Folosiți partea fierului de lipit pentru a vă încălzi blobul de lipit și glisați capătul stanjat al firului în blob. Scoateți fierul de călcat, lăsați blobul să se răcească, apoi eliberați firul.

Pasul 3: lipiți conectorul PS / 2 - Partea 1

Lipiți conectorul PS / 2 - Partea 1
Lipiți conectorul PS / 2 - Partea 1

Nu există nicio cale pe care să o parcurgeți prin numerotarea pinului conectorului PS / 2 care să aibă orice sens în afara contextului deranjărilor deranjate ale unei reuniuni a comitetului. Nu vă gândiți prea mult la numerele PIN, ci doar să vedeți imaginea.

Vom folosi patru pini aici și le vom conecta pe toți la Arduino. Masa va fi conectată la masă pe Arduino, VCC va fi conectată la 5V, iar pinii de date și ceas vor fi aduși la doi dintre pinii digitali ai Arduino (3 și 4).

Pasul 4: lipiți conectorul PS / 2 - Partea 2

Lipiți conectorul PS / 2 - Partea 2
Lipiți conectorul PS / 2 - Partea 2

Partea inferioară a conectorului PS / 2 este chiar mai puțin intuitivă decât schema de numerotare. Vă recomand să verificați această imagine, dar și să verificați dacă pinii de pe partea inferioară a conectorului se potrivesc cu pinii numerotați pe care credeți că îi fac înainte de a lipi ceva. Puteți verifica conectivitatea cu un multimetru obișnuit setându-l pentru a măsura rezistența și conectând o sondă la știftul de jos și lipind cealaltă în gaură. Dacă există vreo rezistență, atunci acel pin este conectat la acea gaură.

Folosesc firul verde pentru știftul ceasului, firul roșu pentru VCC, firul alb pentru date și firul negru pentru împământare.

Pasul 5: anteturile de lipit la cabluri

Anteturi de lipit cu pini pentru a conduce
Anteturi de lipit cu pini pentru a conduce

După ce ați conectat cablurile, dezbrăcați celelalte capete ale firelor și lipiți cablurile la anteturile pinului. Acest lucru vă va permite să le conectați cu ușurință la Arduino. Dacă nu ați obținut anteturile pinului, puteți încerca să cosiți cu grijă firele pentru a le face să rămână mai bine în orificiile pinului Arduino.

Am atașat câteva fire la anteturile pinilor de pe pinii 11 și 13 ai plăcii iPhone Breakout. Firul negru este la masă (pinul 11), iar firul roșu este la VCC (pinul 13). Am lipit apoi anteturile de pin pe cablurile pentru cele două fire de la placa de rupere și cele patru provenind de la conectorul PS / 2.

Pasul 6: (Opțional) Cablajul bateriei de 9V

(Opțional) Cablajul bateriei de 9V
(Opțional) Cablajul bateriei de 9V

Folosesc un Arduino Diecimila, deoarece acest program nu necesită un cip mai bun. Acest lucru este prezentat cu un cablu de baterii de 9V de la SparkFun pentru portabilitate.

Pasul 7: Atașați cablurile PS / 2 la Arduino

Atașați cablurile PS / 2 la Arduino
Atașați cablurile PS / 2 la Arduino

Apoi, conectăm conectorul PS / 2 la Arduino. Conectați firul de ceas la pinul digital 3, firul de date la pinul digital 4 și conectați firul de împământare la masă pe Arduino și firul VCC la pinul de 5V.

Pasul 8: Atașați cablurile IPhone la Arduino

Atașați cablurile IPhone la Arduino
Atașați cablurile IPhone la Arduino

Pentru a conecta dispozitivul iPhone, conectați pur și simplu cablul de la pinul 13 la pinul TX de pe Arduino (pinul digital 1) și apoi conectați cablul de la pinul 11 la orice masă disponibilă de pe Arduino.

IMPORTANT: Pentru a evita probleme cu intermitentul Arduino, vă rugăm să deconectați pinul TX de pe Arduino înainte de a clipi. Mai multe despre acest lucru mai târziu. După aceea, toate lipirile sunt terminate. Acum este timpul să treceți la programarea Arduino!

Pasul 9: Codul Arduino

Codul Arduino
Codul Arduino

Software-ul Arduino urmărește datele din tastatură, traduce codurile de scanare a tastaturii în coduri de taste și gestionează apăsarea tastelor Shift și Majuscule.

În primul rând, descărcați și instalați mediul de dezvoltare Arduino de aici. Urmați instrucțiunile de pe site, dar asigurați-vă că instalați driverul FTDI corespunzător din directorul de drivere din instalarea Arduino.

Apoi, veți avea nevoie de o bibliotecă Arduino suplimentară pentru PS / 2. Descărcați fișierul „ps2.zip” de pe această pagină. Pentru a instala, dezarhivați descărcarea într-un folder și mutați acel folder pentru a fi un subdirector al directorului „hardware / biblioteci” din instalarea Arduino. Pe OSX, puteți accesa mai întâi Arduino.app și „Afișați conținutul pachetului”.

Odată ce Arduino și biblioteca ps2 sunt instalate, descărcați codul sursă de aici. Deschideți aplicația Arduino, creați un proiect nou și lipiți codul sursă în ea. Salvați, apoi accesați Sketch-> Verify / Compile pentru a vă asigura că se construiește. Dacă nu, asigurați-vă că biblioteca este instalată corect.

Pe de o parte, de fapt nu am scris absolut niciun cod pentru acest proiect. Am început încercând să folosesc biblioteca PS2KeyboardExt2, dar acea bibliotecă se bazează pe întreruperi și, deși poate rula pe un Arduino care vorbește și serial la 9600 bps, odată ce am pornit serialul până la 19200 bps, întreruperile au încetat să funcționeze într-un mod stabil. Așa că am scos tot codul frumos din PS2KeyboardExt2, inclusiv definițiile cheii și manevrarea frumoasă a blocajelor de ture și majuscule și l-am refăcut într-un program care nu folosește întreruperi și folosește o bibliotecă PS / 2 mult mai simplă.. Acest lucru îl face capabil să gestioneze seria de 19200 bps într-un mod fiabil.

Acum, pentru a programa Arduino!

Deconectați cablul care merge la Pinul 1 de pe Arduino. Apoi, conectați Arduino la computer prin cablu USB. Poate fi necesar să reporniți aplicația Arduino, astfel încât să detecteze corect noul dispozitiv serial USB. Încărcați schița salvată cu sursa, apoi apăsați butonul Încărcare pentru a programa Arduino.

Odată ce programul este încărcat, conectați tastatura la conectorul PS / 2. Ar trebui să vedeți luminile clipind. Puteți deschide Serial Monitor în aplicația Arduino și puteți încerca să tastați câteva litere pe tastatură. Ar trebui să vedeți aceste litere afișate în Serial Monitor. Încercați să activați și să dezactivați blocarea majusculelor, lumina de pe tastatură ar trebui să se aprindă și să se stingă, iar caracterele să iasă corect cu majuscule.

Pasul 10: Programul IPhone Client

Acum, pentru a configura programul client iPhone.

Pentru codul clientului, folosesc un program pe care l-am găsit pe pagina Cod Google a lui Anthony Pray. Acest program citește intrarea din portul serial la 19200 bps și apoi injectează evenimentul de tastatură adecvat utilizând o bibliotecă client VNC. Am creat aici o oglindă de text locală a sursei, care poate fi preluată cu ușurință cu wget.

Întrucât VNC va injecta apăsarea tastelor, va trebui să rulați și un server VNC pe iPhone. Vom folosi Veency (care este minunat și ar trebui să îl instalați oricum).

Accesați Cydia sau Icy și instalați următoarele pachete:

  • Veency - Oferă serverul VNC, configurați-l pentru a rula la pornire
  • LibVNCServer - Oferă libvncclient
  • iPhone 2.0 Toolchain - Oferă un mediu de construire (gcc, libgcc, ldid, libz sunt necesare dacă mergeți pe o altă rută)
  • MobileTerminal - Deci, puteți accesa terminalul iPhone
  • wget - Deci, puteți trage în jos fișierul sursă

Acum, pentru a descărca și a construi sursa. Fie deschideți MobileTerminal sau SSH în telefon, apoi efectuați următoarele:

  • wget
  • gcc -static-libgcc -o TouchClient TouchClient.c -lvncclient
  • ldid -S TouchClient

Ultimul pas, folosind ldid, falsifică semnarea binarului. Fără acesta, sistemul de operare iPhone îți va ucide procesul imediat.

Pentru a porni programul, rulați-l de pe terminalul mobil cu:

./TouchClient

Acest lucru va face ca Veency să apară un dialog care vă întreabă dacă doriți să acceptați conexiunea VNC. Apăsați Acceptați.

Am observat că rularea acestui lucru de pe MobileTerminal menține programul în viață chiar și atunci când părăsiți MobileTerminal, dar ar fi mai bine să folosiți launchd. Nu mi-am dat seama încă.

Pasul 11: Atingeri finale și lucrări viitoare

Pentru a termina, reconectați cablul de la pinul 13 de pe dispozitivul iPhone la pinul TX (pinul 1) de pe Arduino. Deconectați cablul USB și comutați Arduino la alimentare externă. Conectați dispozitivul iPhone break la iPhone.

Dacă:

  • TouchClient rulează pe iPhone
  • Software-ul PS2 rulează pe Arduino
  • Tastatura este conectată la conector, iar conectorul este conectat corect la Arduino
  • Veency rulează și ați acceptat conexiunea de la TouchClient
  • Nimic altceva nu este înșelat

Ar trebui să puteți scrie pe tastatura PS / 2 și să aveți acele apăsări de tastă traduse în apăsările corespunzătoare de pe iPhone. Acest lucru va funcționa oriunde pe iPhone, în orice aplicație sau caracteristică nativă.

Această soluție nu este perfectă, dar este o abordare generală a utilizării Arduino pentru a adăuga suport de tastatură PS / 2 la aproape orice poate citi mesaje seriale simple.

Muncă viitoare:

  • Cartarea codului de scanare ar putea fi mutată în întregime pe iPhone, iar partea hardware a acestui proiect ar putea fi reimplementată pe un cip mult mai ieftin și cu consum redus de energie, cum ar fi un PIC. Acest lucru ar reduce costul unității cu aproximativ 30 USD, deși ar necesita un programator PIC.
  • Nu toate tastele speciale sunt corect mapate, dar dacă vă uitați în codul Arduino și apoi la codul iPhone, veți vedea că acesta este un proces incredibil de simplu. Vă rugăm să postați aici orice modificare pe care o faceți ca comentariu!
  • Mai degrabă decât să fiu un hacker nebun, aș vrea să văd acest lucru încadrat într-o incintă mică confortabilă pentru o portabilitate reală. Orice idee din acest departament ar fi apreciată.
  • Aș dori să îi dau TouchClient o parolă pentru Veency, astfel încât să nu existe o fereastră deranjantă de acceptare / refuz.
  • Această metodă exactă ar putea fi utilizată pentru a adăuga o tastatură Bluetooth. Pur și simplu adăugați un modul Serial Bluetooth la dispozitivul iPhone și continuați să utilizați TouchClient & Veency.

Asta e. Sper că ți-a plăcut instructabilul! Aștept cu nerăbdare comentariile dvs. Cu respect, - awgh

Recomandat: