Cuprins:
- Condiții prealabile
- Pasul 1: lipiți iPhone Breakout - Partea 1
- Pasul 2: lipiți iPhone Breakout - Partea 2
- Pasul 3: lipiți conectorul PS / 2 - Partea 1
- Pasul 4: lipiți conectorul PS / 2 - Partea 2
- Pasul 5: anteturile de lipit la cabluri
- Pasul 6: (Opțional) Cablajul bateriei de 9V
- Pasul 7: Atașați cablurile PS / 2 la Arduino
- Pasul 8: Atașați cablurile IPhone la Arduino
- Pasul 9: Codul Arduino
- Pasul 10: Programul IPhone Client
- Pasul 11: Atingeri finale și lucrări viitoare
Video: Cum să conectați o tastatură PS / 2 la iPhone: 11 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:47
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
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
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
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
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
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
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
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
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
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:
Cum să conectați NodeMCU ESP8266 la baza de date MySQL: 7 pași
Cum să conectați NodeMCU ESP8266 la baza de date MySQL: MySQL este un sistem de gestionare a bazelor de date relaționale (RDBMS) utilizat pe scară largă, care utilizează un limbaj de interogare structurat (SQL). La un moment dat, poate doriți să încărcați datele senzorului Arduino / NodeMCU în baza de date MySQL. În acest instructabil, vom vedea cum să ne conectăm
Cum să conectați Raspberry Pi la cloud folosind Node.js: 7 pași
Cum să conectați Raspberry Pi la cloud folosind Node.js: acest tutorial este util pentru oricine dorește să conecteze un Raspberry Pi la cloud, în special la platforma IoT AskSensors, utilizând Node.js. Nu aveți un Raspberry Pi? Dacă în prezent nu dețineți un Raspberry Pi, vă recomand să obțineți un Raspberry
Cum să conectați și să controlați o lampă prin modulul ZigBee de pe Dragonboard: 5 pași
Cum să conectați și să controlați o lampă prin intermediul modulului ZigBee de pe Dragonboard: Această instrucțiune îl învață pe utilizator cum să se conecteze și să instaleze corect modulul ZigBee pe Dragonboard și să îl interacționeze cu o lampă controlată ZigBee (OSRAM), realizând o rețea IOT ZigBee. : Dragonboard 410c; CC2531 USB Dongle; T
Tastatură rapidă și murdară Das (tastatură goală): 3 pași
Tastatură Das rapidă și murdară (tastatură goală): o tastatură Das este numele celei mai populare tastaturi fără inscripții pe taste (tastatură goală). Tastatura Das se vinde cu 89,95 USD. Acest instructiv vă va ghida, deși creați unul singur cu orice tastatură veche pe care o aveți în jur
Creați propria tastatură cu matrice de membrană (și conectați-o la Arduino): 7 pași (cu imagini)
Creați propria tastatură matricială cu membrană (și conectați-o la Arduino): Deci doriți să creați propria tastatură cu membrană? De ce? crearea propriei tastaturi poate fi utilă din mai multe motive. Este ieftin și ușor de făcut, poate fi plasat în situații în care poate fi vandalizat sau furat fără prea multe frustrări, poate fi pe deplin