Obsah:

Ako pripojiť klávesnicu PS/2 k telefónu iPhone: 11 krokov
Ako pripojiť klávesnicu PS/2 k telefónu iPhone: 11 krokov

Video: Ako pripojiť klávesnicu PS/2 k telefónu iPhone: 11 krokov

Video: Ako pripojiť klávesnicu PS/2 k telefónu iPhone: 11 krokov
Video: Kdo říkal, že se iPhone neseká? 😅 Telefon za 45 000 Kč 👌😆 2024, November
Anonim
Ako pripojiť klávesnicu PS/2 k iPhone
Ako pripojiť klávesnicu PS/2 k iPhone
Ako pripojiť klávesnicu PS/2 k iPhone
Ako pripojiť klávesnicu PS/2 k iPhone
Ako pripojiť klávesnicu PS/2 k iPhone
Ako pripojiť klávesnicu PS/2 k iPhone

Napriek tomu, že som na internete videl veľa obrázkov klávesníc PS/2 zapojených do telefónov iPhone, nikto zatiaľ nezverejnil podrobný návod, ako to dosiahnuť, aby to fungovalo samo. Až doteraz to tak bolo.

V tomto návode vám ukážem, ako si môžete vytvoriť prevodník klávesnice PS/2 na iPhone, vrátane všetkých hardvérových a softvérových pokynov.

Predpoklady

  • Jailbroken iPhone - Oficiálna súprava SDK neumožňuje prístup k sériovému portu z dôvodu sprisahania elfov, takže je potrebný útek z väzenia. Všetko, čo potrebujete vedieť o útek z väzenia, je na blogu iPhone Dev Team.
  • Arduino Diecimila alebo Dumilanove (alebo klon), dostupné z mnohých miest. Tento návod predpokladá, že vaše Arduino je zostavené.
  • Doska iPod Breakout, ako je táto od Sparkfun. Akýkoľvek podobný produkt bude fungovať.
  • A Zásuvka klávesnice PS/2 (Din 6). Stiahnite jeden zo starého počítača alebo si ho kúpte u Digikey alebo u podobného predajcu.
  • Drôt, najlepšie niekoľko farieb a približne 24 gauge. Na obrázkoch nižšie používam cievku od spoločnosti RadioShack.
  • Jeden odpor 500k. Používam axiálny rezistor s priechodným otvorom od spoločnosti RadioShack, ale môžete to pridať aj do svojej objednávky Digikey.
  • Spájkovačka a spájkovačka. Ak neviete, ako spájkovať, môžete sa naučiť tu a tu.
  • (Voliteľné) Tieto hlavičky pinov. Odlomím ich a spájkujem na konce vodičov, aby sa pekne zapojili do Arduina.
  • (Voliteľné) Sladký 9V batériový zväzok, aby bolo vaše Arduino prenosné dostupné v obchode Maker Store.
  • (Voliteľné) Stereo konektor pre slúchadlá od spoločnosti RadioShack alebo Digikey.

Krok 1: Spájkujte iPhone Breakout - časť 1

Spájkujte iPhone Breakout - časť 1
Spájkujte iPhone Breakout - časť 1

Akonáhle dorazia všetky vaše ingrediencie, rozpáľte spájkovačku a rýchlo sa pozrite na konektor Pin-Out pre iPod.

Na klávesnici použijeme štyri z týchto pinov: 11, 13, 16 a 21. Definícia kolíka 21 hovorí, že medzi pin 21 a uzemnenie musíme umiestniť 500k odpor, aby bolo možné sériovú komunikáciu s iPhone, takže zapojíme odpor medzi pin 21 a pin 16, čo je sériové uzemnenie. Chystáme sa tiež pridať hlavičky pinov na piny 11 a 13, ktoré budú fungovať ako piny TX a RX pre sériovú komunikáciu. Pretože budeme odosielať IBA na iPhone, používame iba pin RX pre iPhone, takže pridáme aj drôt na pripojenie kolíka 11, nepoužitého kolíka TX, priamo k zemi na kolíku 16.

Môžete tiež voliteľne pridať konektor stereofónnych slúchadiel na piny 2, 3 a 4 práve teraz a bude fungovať, kedykoľvek bude zapojený breakout. To nemá nič spoločné s klávesnicou, ale ak máte 1G iPhone s chromeným štandardný konektor pre slúchadlá, tým sa to vyrieši.

Krok 2: Spájkujte iPhone Breakout - časť 2

Spájkujte iPhone Breakout - časť 2
Spájkujte iPhone Breakout - časť 2

Prepínač som umiestnil medzi kolíky 11 a kolík 16 na zadnej strane oddeľovacej dosky. Zapojiť všetko na kolík 16 môže byť trochu zložité, preto odporúčam najskôr prepichnúť odpor otvorom, potom okolo neho previnúť koniec prepojovacieho drôtu a spájkovať ich, kým neodpojíte vodič rezistora.

Ďalšia taktika, ktorá tu môže byť užitočná, je najskôr pocínovať konce drôtu a potom trochu pájky na dieru, do ktorej chcete drôt prilepiť. Pomocou strany spájkovačky zahrejte kvapku spájky a POSUŇTE pocínovaný koniec drôtu do guličky. Vyberte žehličku, nechajte kvapku vychladnúť a potom pustite drôt.

Krok 3: Spájkujte konektor PS/2 - časť 1

Spájkujte konektor PS/2 - časť 1
Spájkujte konektor PS/2 - časť 1

Cez číslovanie pinov konektora PS/2 neexistuje žiadna cesta, ktorá by dávala akýkoľvek zmysel mimo kontextu vyšinutých táranín na schôdzi výboru. Nad číslami pinov príliš nerozmýšľajte, stačí sa pozrieť na obrázok.

Tu použijeme štyri piny a všetky ich prepojíme s Arduinom. Uzemnenie bude zapojené do uzemnenia na Arduine, VCC bude zapojené do 5 V a kolíky Data a Clock budú zapojené do dvoch digitálnych pinov Arduino (3 a 4).

Krok 4: Spájkujte konektor PS/2 - časť 2

Spájkujte konektor PS/2 - časť 2
Spájkujte konektor PS/2 - časť 2

Spodok konektora PS/2 je ešte menej intuitívny ako schéma číslovania. Pred spájkovaním čohokoľvek odporúčam skontrolovať tento obrázok, ale tiež overiť, či sa kolíky v spodnej časti konektora zhodujú s očíslovanými kolíkmi, o ktorých si myslíte, že áno. Pripojenie môžete skontrolovať pomocou bežného multimetra tak, že ho nastavíte na meranie odporu a jednu sondu zapojíte do kolíka na spodnej strane a druhú zasuniete do otvoru. Ak existuje nejaký odpor, potom je tento kolík spojený s týmto otvorom.

Používam zelený vodič pre hodinový kolík, červený vodič pre VCC, biely vodič pre dáta a čierny vodič pre uzemnenie.

Krok 5: Spájajte hlavičky kolíkov s elektródami

Spájkovacie hlavičky k elektródam
Spájkovacie hlavičky k elektródam

Akonáhle máte konektory zapojené, odizolujte ostatné konce vodičov a spájkujte vodiče s konektormi. To vám umožní ich jednoduché pripojenie k Arduinu. Ak ste nezískali záhlavia pinov, môžete skúsiť opatrne pocínovať drôty, aby lepšie zostali v dierach pre kolíky Arduino.

Pripojil som niekoľko vodičov k záhlaviam pinov na kolíkoch 11 a 13 oddeľovacej dosky iPhone. Čierny vodič je na uzemnenie (kolík 11) a červený vodič na VCC (kolík 13). Potom som spájkoval kolíkové hlavičky k vodičom pre dva vodiče z oddeľovacej dosky a štyri pochádzajúce z konektora PS/2.

Krok 6: (Voliteľné) 9V zväzok batérií

(Voliteľné) 9V batériový zväzok
(Voliteľné) 9V batériový zväzok

Používam Arduino Diecimila, pretože tento program nevyžaduje lepší čip. Toto je ukázané na 9V batériovom zväzku od SparkFun kvôli prenosnosti.

Krok 7: Pripojte zvody PS/2 k Arduinu

Pripojte zvody PS/2 k Arduinu
Pripojte zvody PS/2 k Arduinu

Ďalej pripojíme konektor PS/2 k Arduinu. Pripojte hodinový vodič k digitálnemu pinu 3, dátový vodič k digitálnemu pinu 4 a uzemňovací vodič k uzemneniu na Arduino a vodič VCC k 5V pinu.

Krok 8: Pripojte elektródy iPhone k Arduinu

Pripojte elektródy iPhone k Arduinu
Pripojte elektródy iPhone k Arduinu

Ak chcete pripojiť iPhone Breakout, jednoducho pripojte kábel z pinu 13 k vývodu TX na Arduino (digitálny pin 1) a potom zapojte kábel z pinu 11 na akékoľvek dostupné uzemnenie na Arduine.

DÔLEŽITÉ: Aby ste sa vyhli problémom s blikaním Arduina, pred blikaním odpojte TX Pin na Arduine. Viac o tom neskôr. Potom je všetky spájkovanie hotové. Teraz je čas prejsť na programovanie Arduina!

Krok 9: Kód Arduino

Arduino kód
Arduino kód

Softvér Arduino sníma údaje z klávesnice, prekladá kódy skenovania klávesnice na kódy kľúčov a zvláda stlačenia klávesov Shift a Caps Lock.

Najprv si odtiaľto stiahnite a nainštalujte vývojové prostredie Arduino. Postupujte podľa pokynov na webe, ale nezabudnite nainštalovať príslušný ovládač FTDI z adresára ovládačov v inštalácii Arduino.

Ďalej budete potrebovať ďalšiu knižnicu Arduino pre PS/2. Stiahnite si súbor „ps2.zip“z tejto stránky. Ak chcete nainštalovať, rozbaľte sťahovanie do priečinka a presuňte ho ako podadresár adresára „hardvér/knižnice“pod inštaláciou Arduino. Na OSX môžete najskôr prejsť na Arduino.app a „Zobraziť obsah balíka“.

Hneď ako bude nainštalované Arduino a knižnica ps2, stiahnite si zdrojový kód odtiaľto. Otvorte aplikáciu Arduino, vytvorte nový projekt a vložte doň zdrojový kód. Uložte a potom prejdite na Skica-> Overiť/Zostaviť, aby ste sa presvedčili, že sa zostavuje. Ak nie, uistite sa, že je knižnica správne nainštalovaná.

Na okraj, v skutočnosti som pre tento projekt nenapísal absolútne žiadny kód. Začal som sa pokúšať používať knižnicu PS2KeyboardExt2, ale táto knižnica je založená na prerušení a napriek tomu, že môže bežať na Arduine, ktorý tiež hovorí sériovo, s rýchlosťou 9600 bps, keď som sériový port natiahol na 19200 bps, prerušenia prestali fungovať. stabilný spôsob. Tak som vytrhol celý pekný kód z PS2KeyboardExt2, vrátane definícií kľúčov a príjemného ovládania posunov a veľkých písmen a prepracoval som ho do programu, ktorý nepoužíva prerušenia a používa inú, oveľa jednoduchšiu knižnicu PS/2.. Vďaka tomu je schopný spoľahlivo spracovať sériové číslo 19200 bps.

Teraz naprogramujte Arduino!

Odpojte kábel na Pin 1 na Arduine. Potom pripojte Arduino k počítaču pomocou kábla USB. Možno budete musieť reštartovať aplikáciu Arduino, aby správne rozpoznala nové sériové zariadenie USB. Načítajte uloženú skicu so zdrojom a potom stlačením tlačidla Nahrať naprogramujte Arduino.

Po nahraní programu zapojte klávesnicu do konektora PS/2. Mali by ste vidieť blikať svetlá. Môžete otvoriť sériový monitor v aplikácii Arduino a skúsiť napísať niekoľko písmen na klávesnicu. Tieto písmená by ste mali vidieť na sériovom monitore. Skúste zapnúť a vypnúť funkciu Caps Lock, kontrolka na klávesnici by sa mala zapnúť a vypnúť a znaky by mali vystupovať správne.

Krok 10: Program IPhone Client

Teraz nastavte klientsky program pre iPhone.

Pokiaľ ide o kód klienta, používam program, ktorý som našiel na stránke Google Code Anthonyho Praya. Tento program číta vstup zo sériového portu rýchlosťou 19 200 bps a potom pomocou klientskej knižnice VNC injektuje príslušnú udalosť klávesnice. Tu som urobil lokálne zrkadlo zdroja iba pre text, ktoré je možné ľahko načítať pomocou wget.

Pretože budeme vkladať stlačenia klávesov pomocou VNC, budete musieť na iPhone tiež spustiť server VNC. Budeme používať Veency (čo je úžasné a mali by ste si to nainštalovať).

Prejdite na Cydia alebo Icy a nainštalujte si nasledujúce balíky:

  • Veency - Poskytuje server VNC a nakonfiguruje ho na spustenie
  • LibVNCServer - poskytuje libvncclient
  • iPhone 2.0 Toolchain - Poskytuje prostredie pre zostavenie (gcc, libgcc, ldid, libz sú povinné, ak idete inou cestou)
  • MobileTerminal - Takže máte prístup k terminálu iPhone
  • wget - Môžete teda stiahnuť zdrojový súbor

Teraz stiahnite a vytvorte zdroj. Otvorte v telefóne MobileTerminal alebo SSH a potom postupujte takto:

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

Posledný krok, pomocou príkazu ldid, falzifikáty podpisujú binárne číslo. Bez toho iPhone OS váš proces okamžite zabije.

Program spustíte spustením z mobilného terminálu pomocou:

./TouchClient

To spôsobí, že Veency otvorí dialógové okno s otázkou, či chcete prijať pripojenie VNC. Hit Accept.

Všimol som si, že spustenie tohto programu z MobileTerminal udrží program pri živote, aj keď opustíte MobileTerminal, ale bolo by lepšie použiť launchd. Zatiaľ som na to neprišiel.

Krok 11: Dokončenie dotykov a budúca práca

Aby ste to skončili, znova zapojte elektródu z kolíka 13 na iPhone breakout do kolíka TX (pin 1) na Arduine. Odpojte kábel USB a prepnite Arduino na externé napájanie. Pripojte iPhone Breakout k svojmu iPhone.

Ak:

  • Na vašom iPhone beží TouchClient
  • Na vašom Arduino je spustený softvér PS2
  • Klávesnica je zapojená do konektora a konektor je správne zapojený do Arduina
  • Veency je spustená a prijali ste pripojenie z TouchClient
  • Nič iné nie je pokazené

Mali by ste byť schopní písať na klávesnici PS/2 a nechať si tieto stlačenia klávesov preložiť na príslušné stlačenia klávesov iPhone. Bude to fungovať kdekoľvek v iPhone, v akejkoľvek aplikácii alebo natívnej funkcii.

Toto riešenie nie je dokonalé, ale je to univerzálny prístup k používaniu Arduina na pridanie podpory klávesnice PS/2 takmer ku všetkému, čo dokáže čítať jednoduché sériové správy.

Budúca práca:

  • Mapovanie skenovacieho kódu bolo možné úplne presunúť do iPhone a hardvérovú časť tohto projektu by bolo možné znova implementovať na oveľa lacnejšom a nižšom čipe s nízkou spotrebou energie, ako je napríklad PIC. To by znížilo náklady na jednotku asi o 30 dolárov, aj keď by to vyžadovalo programátor PIC.
  • Nie všetky špeciálne kľúče sú správne namapované, ale keď sa pozriete do kódu Arduino a potom do kódu pre iPhone, uvidíte, že je to neuveriteľne jednoduchý proces. Všetky zmeny, ktoré vykonáte, sem prosím odošlite ako komentár!
  • Radšej než byť bláznivým drôteným hackom, by som chcel vidieť, ako sa to zmestí do útulného malého krytu pre skutočnú prenosnosť. Ocenili by sme akékoľvek nápady v tomto oddelení.
  • Chcel by som TouchClientu poskytnúť heslo pre Veency, aby sa nezobrazovalo také nepríjemné vyskakovacie okno Prijať/Odmietnuť.
  • Túto presnú metódu je možné použiť na pridanie klávesnice Bluetooth. Jednoducho pridajte modul Bluetooth do sériového portu iPhone a pokračujte v používaní TouchClient & Veency.

To je všetko. Dúfam, že sa vám Pokyny páčili! Tešíme sa na vaše komentáre. S pozdravom - awgh

Odporúča: