Obsah:

Používajte infračervenú klávesnicu Palm so zariadeniami Android: 5 krokov
Používajte infračervenú klávesnicu Palm so zariadeniami Android: 5 krokov

Video: Používajte infračervenú klávesnicu Palm so zariadeniami Android: 5 krokov

Video: Používajte infračervenú klávesnicu Palm so zariadeniami Android: 5 krokov
Video: Používajte inkognito mód 2024, November
Anonim
Používajte infračervenú klávesnicu Palm so zariadeniami Android
Používajte infračervenú klávesnicu Palm so zariadeniami Android
Používajte infračervenú klávesnicu Palm so zariadeniami Android
Používajte infračervenú klávesnicu Palm so zariadeniami Android
Používajte infračervenú klávesnicu Palm so zariadeniami Android
Používajte infračervenú klávesnicu Palm so zariadeniami Android

Sedel som okolo bezdrôtovej klávesnice PalmOne a chcel som mať pre svoj telefón klávesnicu Bluetooth. Jediným problémom bolo, že klávesnica PalmOne bola založená na infračervenom rozhraní.

Mal som aj zariadenie Brainlink. Jedná sa o pomerne roztomilé malé zariadenie na sprostredkovanie medzi rôznymi zariadeniami. Má procesor atxmega16, nabíjateľnú batériu, niektoré senzory, rádio Bluetooth, veľa portov, puzdro a aktualizovateľný firmvér na ovládanie všetkého. Brainlink je prerušený, ale SurplusShed ho má za 39 dolárov a majú pravidelné 30-50% zľavy na všetko. Dostal som to za 20 dolárov. Môžete tiež použiť vlastnú dosku bluetooth atxmega plus (schémy tu), ale vaše náklady nemusia byť nižšie.

Každopádne, po identifikácii, kde je signálny riadok na klávesnici, aktualizácii firmvéru pre Brainlink a napísaní ovládača Android pre klávesnicu, to funguje celkom dobre. Keďže väčšina práce bola na vyšetrovaní a softvéri, teraz je to už celkom jednoduchý projekt pre každého, kto má Brainlink. Potrebuješ:

  • Bezdrôtová klávesnica PalmOne
  • Brainlink
  • 3 alebo 8-kolíkový popruh pre Brainlink (konektor v štýle JST s rozstupom 1,25 mm); môžete použiť 8-kolíkový tether, ktorý je súčasťou Brainlink, ale budete chcieť objednať viac pre iné projekty
  • Spájka a železo
  • Elektrická páska
  • Voliteľné: Suchý zips

V minulosti som použil Brainlink na pripojenie k náhlavnej súprave Mindflex EEG a k Roomba. Je to naozaj skvelé pre úlohy premosťovania sériového rozhrania Bluetooth. Práve vyrábam rôzne konektory pre rôzne zariadenia a môžem medzi nimi presúvať Brainlink.

Krok 1: Pozadie

Pozadie
Pozadie
Pozadie
Pozadie
Pozadie
Pozadie

Tento popis pozadia môžete preskočiť.

Bezdrôtová klávesnica PalmOne odosiela svoje údaje pomocou infračervenej diódy LED na ovládači IrDA. Aj keď je možné na dekódovanie údajov použiť infračervený detektor, existuje jednoduchší spôsob. Ak klávesnicu zložíte do polovice, odhalia sa tri medené pásy. Stredná časť je uzemnená a spodná vysielacia linka. Ich uvedením do osciloskopu sa overuje, či je signál na prenosovom vedení zakódovaný na približne 9600 (presnejšie: 9760) 8 N 2, s vysokou úrovňou okolo 1,56 V a s tvarovaním impulzov irDA: 1 je vysoký a pozitívne impulzy trvať 3/16 bitového času.

To všetko bohužiaľ znamená, že to nemôžeme jednoducho zapojiť do jednoduchého modulu Bluetooth (aspoň nie bez vytvorenia vlastného firmvéru), ako som to urobil vo svojom projekte Mindflex. Našťastie atxmega v Brainlink má pre svoj UART režim irDA. Je jednoduché pridať do firmvéru Brainlink kúsok kódu, ktorý kódu „J1“prepne do režimu IrDA. Očakával som, že vysoká úroveň 1,56 V bude pre atxmega nedostatočná, ale bol som príjemne prekvapený, keď som pripojil medené pásy k GND a UART Receive na Brainlink a zobrazil som výsledky v programe Realterm: Z klávesnice som dostával pekné šesťbajtové sekvencie..

Ukázalo sa, že šesťbajtová sekvencia je iba balením pre jednobajtový skenovací kód (s vydaním označovania vysokých bitov). Konkrétne je to sekvencia FF C0 xx yy zz C1, kde xx je skenovací kód, yy je xx xor'ed s FF a zz je xx xor'ed so 67. (V skutočnosti je skenovací kód odoslaný trikrát: raz jasné a dvakrát kódované. Hádam je to preto, že irDA je náchylné na korupciu, a preto na získanie bajtu môžete použiť väčšinové dekódovanie.) Potom už bolo jediným hardvérovým problémom nájsť miesto na spájkovanie konektora na klávesnici.. A nebolo to ťažké.

Po softvérovej stránke, aj keď by som možno mohol prepnúť Bluetooth modul RN-42 v režime Brainlink na HID, to malo potenciál budovania, pretože keby sa modul neprepol späť na SPP, nemohol by som hovoriť Brainlink cez svoj protokol Bluetooth.

Najľahšie bolo vziať si aplikáciu s otvoreným zdrojovým kódom BluezIME, ktorá umožňuje rôznym gamepadom s rozhraním Bluetooth fungovať ako ovládače systému Android, a pridať režim pre šesťbajtové sekvencie klávesnice Palm One Wireless Keyboard. Výsledná aplikácia je teraz bezplatná klávesnica P1 v službe Google Play (zdrojový kód na github).

Krok 2: Inovácia firmvéru Brainklink

Aktualizácia firmvéru Brainklink
Aktualizácia firmvéru Brainklink
Aktualizácia firmvéru Brainklink
Aktualizácia firmvéru Brainklink

Aby ste na Brainlink povolili podporu sériových dát vo formáte IrDA, musíte si nahrať môj vlastný firmvér. Je to jednoduché so zariadením Android a programom na nahrávanie firmvéru, ktorý som napísal (mimochodom, nástroj na nahrávanie môžete upraviť tak, aby bol univerzálnym nástrojom na nahrávanie flash atmega/atxmega AVR109).

  1. Spárujte Brainlink (PIN 1234) so zariadením Android-na pripojenie klávesnice to budete musieť urobiť aj tak
  2. Stiahnite si môj Brainlink Firmware Uploader z Google Play (zdroj pre uploader a firmvér na github).
  3. Vypnite Brainlink a pripojte kolíky 8 a 2 (podivne, kolík 8 je kolík úplne vľavo a kolík 1 je napravo) na 8-pólovom porte.
  4. Držte kolíky pripojené a zapnite Brainlink. Jeho LED dióda by mala zmodrať.
  5. Vyberte požadovaný firmvér (ak máte Roomba, jeden z firmvérov funguje lepšie s novšími Roombas a druhý so staršími) a kliknite na „Nahrať“.
  6. To by malo byť, aj keď ak máte problémy s pripojením, možno budete musieť skúsiť to viackrát.

Váš Brainlink je teraz múdrejší: podporuje nielen čítanie údajov z niektorých zariadení IrDA (akonáhle nájdete nemodulovaný signál), ale funguje aj ako štandardné prepojenie Roomba-Bluetooth a dokáže zachytávať údaje z náhlavnej súpravy Mindflex EEG. A firmvér je spätne kompatibilný.

Krok 3: Pripojenie Brainlink ku klávesnici

Pripojenie Brainlink ku klávesnici
Pripojenie Brainlink ku klávesnici
Pripojenie Brainlink ku klávesnici
Pripojenie Brainlink ku klávesnici
Pripojenie Brainlink ku klávesnici
Pripojenie Brainlink ku klávesnici

Budete potrebovať konektor tether, ktorý sa hodí k trom kolíkom úplne vľavo na 8-kolíkovom porte Brainlink. Jedná sa o konektory v štýle JST s rozstupom pinov 1,25 mm. Môžete použiť trojpólový konektor (môj výber) alebo 8-kolíkový konektor. Môžete použiť 8-kolíkový konektor, ktorý sa dodáva s Brainlink, ale potom ich budete chcieť objednať viac (na ebay som zistil, že 3 a 8-kolíkové konektory sú lacné).

Otvorte priehradku na batérie na klávesnici a vyberte batérie. V blízkosti mínusovej strany batérií nájdete dva páry vodičov prepojené dohromady konektorom v štýle JST. Ak sú vaše farby ako moje, čierne vodiče sú uzemnené (môžete jednoducho skontrolovať odpor medzi tým a mínusovým pólom na batérii) a ostatné farby (hnedá a sivá) sú signálom.

Na vašom 8-kolíkovom porte Brainlink je pripojenie úplne vľavo na uzemnenie (kolík vľavo na 8-pólovom porte) a tretí kolík zľava je na sériový príjem. Pripojte uzemňovací vodič na konektore Brainlink k uzemneniu na klávesnici a prijímací vodič na zariadení Brainlink na signálne vedenie. Možno zistíte, že v oblasti klávesnice nie je miesto pre spájkovacie pripojenie a konektor v štýle JST to bolo vo vnútri klávesnice. Ak je to tak, stačí odstrániť konektor v štýle JST a spájkovať obidve trojice príslušných vodičov (dva uzemňovacie vodiče klávesnice a jeden uzemňovací vodič Brainlink; dva signálne vodiče klávesnice a jeden prijímací vodič Brainlink).

Je lákavé odpojiť stranu IR LED konektora v štýle JST, aby ste ušetrili životnosť batérie. Nerob to. Signál sa rozpadne, ak to urobíte. Skontroloval som to pomocou svojho osciloskopu.

Na okraji krytu batérie urobte otvor, cez ktorý budú prechádzať vodiče popruhu Brainlink, pomocou elektrickej pásky udržujte obe spojenia izolované a uviažte malý uzol na uvoľnenie napätia.

Nakoniec, keď je všetko hotové, buď zakryte irelevantné kontakty na popruhu Brainlink, alebo jednoducho odrežte irelevantné vodiče.

Môžete tiež chcieť prilepiť suchý zips na Brainlink a klávesnici, aby bol Brainlink na svojom mieste.

Krok 4: Používanie so zariadením Android

Používanie so zariadením Android
Používanie so zariadením Android
  1. Spárujte Brainlink so svojim zariadením Android (PIN 1234).
  2. Nainštalujte si moju aplikáciu P1 Keyboard.
  3. Spustite nastavenia klávesnice P1 (ikona by mala byť v spúšťači).
  4. V nastaveniach metódy vstupu systému Android povoľte klávesnicu P1. V novších verziách systému Android môžete klávesnicu P1 povoliť tak, že v nastaveniach klávesnice P1 vyberiete možnosť „Vybrať IME“a klepnete na položku „Nastaviť metódy vstupu“. (Zobrazí sa upozornenie, že klávesnica vidí všetky vaše heslá atď. To je štandardné upozornenie systému Android: Ovládač klávesnice samozrejme vidí všetko, čo napíšete. Ak sa bojíte, pozrite sa na zdrojový kód klávesnice a vytvorte ju tvoj vlastný.)
  5. Klepnite na „Vybrať zariadenie“a vyberte svoj Brainlink (môj sa zobrazuje ako RN42-A308).
  6. V nastaveniach klávesnice P1 klepnite na „Vybrať IME“a vyberte položku Klávesnica P1.
  7. Pripojenie môže chvíľu trvať, ale pokiaľ všetko pôjde dobre, mali by ste dostať správu o pripojení

A ste hotoví! Neváhajte prispieť autorovi BluezIME, na ktorom je založená klávesnica P1.

V systéme Android 4.0 a novšom sa v textových poliach zobrazí upozornenie, ktoré umožňuje prepínanie metód vstupu, takže sa môžete ľahko prepnúť späť na inú metódu vstupu.

Ovládač, ktorý som napísal pre klávesnicu, je veľmi jednoduchý. Podporuje bežné klávesy, ale nepodporuje mnoho špeciálnych kláves s diakritikou ani iné špeciálne veci. Pridal som podporu pre používanie dvoch tlačidiel s domovom (FN-1 a kľúč naľavo od medzery) ako Home pomocou kláves Windows a FN-2 ako Menu a FN-3 ako Hľadať. Tiež ctrl-a, c, v, x funguje podľa očakávania.

Funguje to dostatočne dobre, že som na svoj telefón Galaxy S2 s klávesnicou napísal kompletný prvý koncept tohto Instructable.

Krok 5: Ostatné klávesnice

Ďalšie klávesnice
Ďalšie klávesnice
Ďalšie klávesnice
Ďalšie klávesnice

Ak chcete experimentovať s inými infračervenými klávesnicami, musíte zistiť, aké signály vysielajú a pri akej prenosovej rýchlosti. Keď je Brainlink aktualizovaný na softvér kompatibilný s IrDA, môžete sa k Brainlink pripojiť pomocou RealTerm. Akonáhle uvidíte opakujúci sa signál „BL“, ktorý je podpisom Brainlink, zadajte:

*J1Z

Hviezdička žiada o pozornosť, J1 sa prepne na 9600 baud IrDA (stačí zadať rýchlo 1 za J alebo sa zobrazí chyba). Z je pre režim premostenia sériový-Bluetooth.

Prepnite RealTerm na zobrazenie hexadecimálnych kódov a stlačte klávesy na klávesnici, aby ste zistili, či tomu rozumiete.

Ak chcete ukončiť režim sériového mosta, napájajte Brainlink.

Odhadujem, že 9600 baudov je správna prenosová rýchlosť. V opačnom prípade môžete zmeniť prenosovú rýchlosť Brainlink. Na začiatku by som skúsil 57 600 baudov:

*J1u57Z

a potom 1 200 baudov:

*J1u12Z

Keď zistíte, ako klávesnica odosiela svoje údaje, stačí zmeniť kód môjho ovládača. Asi stačí iba zmena čísel v programe PalmOneWirelessKeyboard.java.

Odporúča: