Obsah:

Používejte palmovou infračervenou klávesnici se zařízeními Android: 5 kroků
Používejte palmovou infračervenou klávesnici se zařízeními Android: 5 kroků

Video: Používejte palmovou infračervenou klávesnici se zařízeními Android: 5 kroků

Video: Používejte palmovou infračervenou klávesnici se zařízeními Android: 5 kroků
Video: Elysian airdrop или XRP на 100 тысяч!! 2024, Červenec
Anonim
Používejte s zařízeními Android infračervenou klávesnici Palm
Používejte s zařízeními Android infračervenou klávesnici Palm
Používejte s zařízeními Android infračervenou klávesnici Palm
Používejte s zařízeními Android infračervenou klávesnici Palm
Používejte s zařízeními Android infračervenou klávesnici Palm
Používejte s zařízeními Android infračervenou klávesnici Palm

Seděla mi bezdrátová klávesnice PalmOne a chtěl jsem mít pro svůj telefon klávesnici Bluetooth. Jediným problémem bylo, že klávesnice PalmOne byla založená na infračerveném rozhraní.

Měl jsem také zařízení Brainlink. Toto je docela roztomilé malé zařízení pro zprostředkování mezi různými zařízeními. Má procesor atxmega16, dobíjecí baterii, některé senzory, rádio Bluetooth, spoustu portů, pouzdro a upgradovatelný firmware pro ovládání všeho. Brainlink je ukončen, ale SurplusShed ho má za 39 dolarů a mají pravidelné slevy 30-50% na všechno. Dostal jsem to za 20 dolarů. Můžete také použít vlastní desku atxmega plus Bluetooth (schémata zde), ale vaše náklady nemusí být nižší.

Každopádně po identifikaci, kde je signální řádek na klávesnici, provedení aktualizace firmwaru pro Brainlink a napsání ovladače Android pro klávesnici, to funguje docela dobře. Protože většina práce byla vyšetřování a software, nyní, když je to hotovo, je to docela snadný projekt pro každého, kdo má Brainlink. Potřebuješ:

  • Bezdrátová klávesnice PalmOne
  • Brainlink
  • 3 nebo 8kolíkový popruh pro Brainlink (konektor typu JST s roztečí 1,25 mm); můžete použít 8pinový tether, který je součástí Brainlink, ale budete chtít objednat další pro jiné projekty
  • Pájka a železo
  • Elektrická páska
  • Volitelné: Suchý zip

V minulosti jsem použil Brainlink k připojení k náhlavní soupravě Mindflex EEG a Roomba. Je to opravdu skvělé pro úkoly přemosťování sériového připojení k Bluetooth. Právě vyrábím různé konektory pro různá zařízení a mohu mezi nimi přesouvat Brainlink.

Krok 1: Pozadí

Pozadí
Pozadí
Pozadí
Pozadí
Pozadí
Pozadí

Tento popis pozadí můžete přeskočit.

Bezdrátová klávesnice PalmOne odesílá svá data pomocí infračervené LED na stonku pomocí IrDA. Zatímco k dekódování dat lze použít infračervený detektor, existuje jednodušší způsob. Pokud klávesnici složíte napůl, odhalí se tři měděné proužky. Prostřední je pozemní a spodní přenosové vedení. Jejich vložením do osciloskopu se ověří, že signál na přenosové lince je zakódován přibližně na 9600 (přesněji: 9760) 8 N 2, s vysokou úrovní kolem 1,56 V a s tvarováním pulzů irDA: 1 je vysoký a kladné impulsy zabrat 3/16 bitového času.

Bohužel to všechno znamená, že to nemůžeme jednoduše zapojit do jednoduchého modulu Bluetooth (alespoň ne bez toho, aniž bychom pro to vytvořili vlastní firmware), jako jsem to udělal ve svém projektu Mindflex. Naštěstí má atxmega v Brainlink pro svůj UART režim irDA. Je snadné přidat do firmwaru Brainlink kousek kódu, který umožní kódu „J1“přepnout jej do režimu IrDA. Očekával jsem, že vysoká úroveň 1,56 V bude pro atxmega nedostatečná, ale byl jsem příjemně překvapen, když jsem připojil měděné proužky k GND a UART Receive na Brainlink a prohlížel si výsledky v Realterm: Z klávesnice jsem dostával pěkné šest bajtové sekvence.

Ukázalo se, že šestibajtová sekvence je pouze balení pro jednobajtový skenovací kód (s vydáním značení vysokých bitů). Sekvence je konkrétně 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 s 67. (Ve skutečnosti je skenovací kód vyslán třikrát: jednou jasné a dvakrát kódované. Hádám, že je to proto, že irDA je náchylná ke korupci, a tak můžete k získání bajtu použít většinové dekódování.) Poté bylo jediným hardwarovým problémem najít místo pro pájení konektoru na klávesnici. A to nebylo těžké.

Pokud jde o software, možná bych možná mohl přepnout modul Bluetooth RN-42 v režimu Brainlink do režimu HID, což mělo potenciál budování, protože kdyby se modul nepřepnul zpět na SPP, nemohl bych s ním mluvit Brainlink přes protokol Bluetooth.

Nejjednodušší bylo vzít open source aplikaci BluezIME pro klávesnici, která umožňuje různým Bluetooth gamepadům fungovat jako ovladače Androidu, a přidat režim pro šestibajtové sekvence Palm One Wireless Keyboard. Výsledná aplikace je nyní bezplatná klávesnice P1 na Google Play (zdrojový kód na github).

Krok 2: Aktualizace firmwaru Brainklink

Aktualizace firmwaru Brainklink
Aktualizace firmwaru Brainklink
Aktualizace firmwaru Brainklink
Aktualizace firmwaru Brainklink

Chcete-li na Brainlink povolit podporu sériových dat ve formátu IrDA, je třeba načíst můj vlastní firmware. Se zařízením Android a nástrojem pro nahrávání firmwaru, který jsem napsal, je to snadné (mimochodem, můžete tento nástroj upravit tak, aby byl univerzálním nástrojem pro nahrávání flash atmega/atxmega AVR109).

  1. Spárujte Brainlink (PIN 1234) se zařízením Android-stejně to budete muset provést pro připojení klávesnice
  2. Stáhněte si můj Brainlink Firmware Uploader z Google Play (zdroj pro uploader a firmware na github).
  3. Vypněte Brainlink a připojte piny 8 a 2 (kupodivu pin 8 je kolík úplně vlevo a pin 1 je vpravo) na 8kolíkovém portu.
  4. Držte piny připojené a zapněte Brainlink. Jeho LED by měla zmodrat.
  5. Vyberte požadovaný firmware (pokud máte Roombu, jeden z firmwaru funguje lépe s novějšími Roombas a druhý se staršími) a stiskněte „Nahrát“.
  6. To by mělo být, i když pokud máte potíže s připojením, možná budete muset zkusit více než jednou.

Váš Brainlink je nyní chytřejší: nejenže podporuje čtení dat z některých zařízení IrDA (jakmile najdete nemodulovaný signál), ale funguje také jako standardní propojení mezi Roomba a Bluetooth a dokáže zachytit data z náhlavní soupravy Mindflex EEG. A firmware je zpětně kompatibilní.

Krok 3: Připojení Brainlink ke klávesnici

Připojení Brainlink ke klávesnici
Připojení Brainlink ke klávesnici
Připojení Brainlink ke klávesnici
Připojení Brainlink ke klávesnici
Připojení Brainlink ke klávesnici
Připojení Brainlink ke klávesnici

Budete potřebovat konektor Tether, který se vejde do tří kolíků zcela vlevo na 8pólovém portu Brainlink. Jedná se o konektory ve stylu JST s roztečí pinů 1,25 mm. Můžete použít třípinový konektor (můj výběr) nebo 8pinový konektor. Můžete použít 8kolíkový konektor, který je dodáván s Brainlink, ale pak budete chtít objednat více z nich (na ebay jsem našel levné 3 a 8pinové konektory).

Otevřete přihrádku na baterie na klávesnici a vyjměte baterie. V blízkosti mínusové strany baterií najdete dva páry vodičů spojených dohromady pomocí konektoru ve stylu JST. Pokud jsou vaše barvy jako moje, černé vodiče jsou uzemněny (stačí zkontrolovat odpor mezi tím a mínusovým terminálem na baterii) a ostatní barvy (hnědá a šedá) jsou signálem.

Na vašem 8kolíkovém portu Brainlink je připojení zcela vlevo uzemněno (kolík nejvíce vlevo na 8kolíkovém portu) a třetí pin zleva je sériový příjem. Pájecí kabel uzemněte na konektoru Brainlink na zemnicí vodič na klávesnici a přijímací vodič na Brainlink na signální vedení. Možná zjistíte, že v oblasti klávesnice není místo pro připojení pájky a konektor ve stylu JST to bylo uvnitř klávesnice. Pokud ano, stačí vyjmout konektor ve stylu JST a pájet obě trojice příslušných vodičů (dva zemnicí vodiče klávesnice a jeden zemnící vodič Brainlink; dva signální vodiče klávesnice a jeden přijímací vodič Brainlink).

Je lákavé odpojit IR LED stranu konektoru ve stylu JST, aby se šetřila životnost baterie. Nedělej to. Signál se rozpadne, pokud to uděláte. Zkontroloval jsem to svým osciloskopem.

Na okraji krytu baterie vytvořte otvor, kterým budou procházet vodiče popruhu Brainlink, pomocí elektrické pásky zajistěte izolaci obou spojů a svažte malý uzel pro uvolnění napětí.

Nakonec, když je vše hotovo, buď zakryjte irelevantní kontakty na popruhu Brainlink, nebo prostě odřízněte irelevantní vodiče.

Můžete také chtít přilepit suchý zip na Brainlink a klávesnici, aby Brainlink zůstal na svém místě.

Krok 4: Používání se zařízením Android

Používání se zařízením Android
Používání se zařízením Android
  1. Spárujte Brainlink se svým zařízením Android (PIN 1234).
  2. Nainstalujte si svou aplikaci P1 Keyboard.
  3. Spusťte nastavení klávesnice P1 (ikona by měla být ve vašem spouštěči).
  4. Povolte klávesnici P1 v nastavení metody vstupu Android. V novějších verzích systému Android můžete povolit klávesnici P1 výběrem možnosti „Vybrat IME“v nastavení klávesnice P1 a klepnutím na „Nastavit metody zadávání“. (Dostanete varování, že klávesnice vidí všechna vaše hesla atd. To je standardní varování pro Android: Ovladač klávesnice samozřejmě vidí vše, co napíšete. Pokud se bojíte, podívejte se na zdrojový kód klávesnice a vytvořte tvůj vlastní.)
  5. Klepněte na „Vybrat zařízení“a vyberte svůj Brainlink (můj se zobrazí jako RN42-A308).
  6. Klepněte na „Vybrat IME“v Nastavení klávesnice P1 a vyberte Klávesnici P1.
  7. Připojení může chvíli trvat, ale pokud vše půjde dobře, měli byste dostat zprávu o připojení

A máte hotovo! Neváhejte přispět autorovi BluezIME, na kterém je klávesnice P1 založena.

V systému Android 4.0 a novějším se v textových polích zobrazí oznámení, které umožňuje přepnutí metod zadávání, takže se můžete snadno přepnout zpět na jinou metodu zadávání.

Ovladač, který jsem napsal pro klávesnici, je velmi jednoduchý. Podporuje běžné klávesy, ale nepodporuje mnoho speciálních kláves s diakritikou ani jiné speciální věci. Přidal jsem podporu pro použití dvou tlačítek s domovem (FN-1 a klíč nalevo od mezery) jako Home pomocí klávesu Windows a FN-2 jako Menu a FN-3 jako Hledat. Také ctrl-a, c, v, x funguje podle očekávání.

Funguje to dostatečně dobře, že jsem na svůj telefon Galaxy S2 s klávesnicí napsal kompletní první verzi tohoto Instructable.

Krok 5: Další klávesnice

Další klávesnice
Další klávesnice
Další klávesnice
Další klávesnice

Pokud chcete experimentovat s jinými infračervenými klávesnicemi, budete muset zjistit, jaké signály vysílají a s jakou přenosovou rychlostí. Když je Brainlink aktualizován na software kompatibilní s IrDA, můžete se s RealTerm připojit k Brainlink. Jakmile uvidíte opakující se signál „BL“, který je podpisem Brainlink, zadejte:

*J1Z

Hvězdička žádá o pozornost, J1 přepne na IrDA 9600 baudů (stačí zadat 1 rychle za J nebo se zobrazí chyba). Z je pro režim mostu mezi sériovým a Bluetooth.

Přepněte RealTerm tak, aby zobrazoval hexadecimální kódy, a stiskněte klávesy na klávesnici a zjistěte, zda tomu rozumíte.

Chcete -li režim sériového mostu ukončit, zapněte a vypněte Brainlink.

Hádám, že 9600 baudů je správná přenosová rychlost. V opačném případě můžete změnit přenosovou rychlost Brainlink. Začal bych zkusením 57600 baudů:

*J1u57Z

a pak 1200 baudů:

*J1u12Z

Jakmile zjistíte, jak klávesnice odesílá svá data, upravte kód mého ovladače. Asi stačí jen změna čísel v PalmOneWirelessKeyboard.java.

Doporučuje: