Obsah:
- Krok 1: Pozadí
- Krok 2: Aktualizace firmwaru Brainklink
- Krok 3: Připojení Brainlink ke klávesnici
- Krok 4: Používání se zařízením Android
- Krok 5: Další klávesnice
Video: Používejte palmovou infračervenou klávesnici se zařízeními Android: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
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í
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
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).
- Spárujte Brainlink (PIN 1234) se zařízením Android-stejně to budete muset provést pro připojení klávesnice
- Stáhněte si můj Brainlink Firmware Uploader z Google Play (zdroj pro uploader a firmware na github).
- 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.
- Držte piny připojené a zapněte Brainlink. Jeho LED by měla zmodrat.
- 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“.
- 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
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
- Spárujte Brainlink se svým zařízením Android (PIN 1234).
- Nainstalujte si svou aplikaci P1 Keyboard.
- Spusťte nastavení klávesnice P1 (ikona by měla být ve vašem spouštěči).
- 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í.)
- Klepněte na „Vybrat zařízení“a vyberte svůj Brainlink (můj se zobrazí jako RN42-A308).
- Klepněte na „Vybrat IME“v Nastavení klávesnice P1 a vyberte Klávesnici P1.
- 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
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:
NodeMCU Lua Levná deska za 6 $ se záznamem teploty a vlhkosti MicroPython, statistikami Wifi a mobilními zařízeními: 4 kroky
NodeMCU Lua Levné 6 $ tabule s protokolováním teploty a vlhkosti MicroPython, Wifi a mobilními statistikami: Toto je v podstatě cloudová meteorologická stanice, můžete zkontrolovat data na svém telefonu nebo použít nějaký telefon jako živý displej Pomocí zařízení NodeMCU můžete zaznamenávat údaje o teplotě a vlhkosti venku , v místnosti, skleníku, laboratoři, chladicí místnosti nebo na jiných místech, kompletní
Generování signálu PWM s vysokým rozlišením pro RC serva se zařízeními STM32: 3 kroky
Generování signálu PWM s vysokým rozlišením pro RC serva se zařízeními STM32: V současné době stavím RC vysílač/přijímač na základě RF čipu SX1280. Jedním z cílů projektu je, že chci 12bitové rozlišení serva od páček až po serva. Částečně proto, že moderní digitální serva mají 12bitový reso
Autonomní dron s infračervenou kamerou na pomoc prvním respondentům: 7 kroků
Autonomní dron s infračervenou kamerou na pomoc prvním respondentům: Podle zprávy Světové zdravotnické organizace každoročně přírodní katastrofy zabijí kolem 90 000 lidí a postihnou téměř 160 milionů lidí na celém světě. Mezi přírodní katastrofy patří zemětřesení, tsunami, sopečné erupce, sesuvy půdy, hurikány
Komunikace Modbus TCP mezi Arduinem a průmyslovými zařízeními: 3 kroky
Komunikace Modbus TCP mezi Arduino a průmyslovými zařízeními: Průmyslový způsob ovládání desky Arduino pomocí průmyslového rozhraní HMI a propojení s průmyslovou sítí pomocí komunikace Modbus TCP
JAK VYROBIT INFRAČERVENOU KAMERU S IR LED SVĚTLEM: 5 kroků (s obrázky)
JAK VYROBIT INFRAČERVENOU KAMERU S IR LED SVĚTLEM: Realizoval jsem infračervenou kameru, abych ji mohl použít v systému snímání pohybu. S ním můžete také získat tento druh skvělých obrázků: lesklé objekty ve vidění kamery, které jsou ve skutečnosti normální. Můžete získat docela dobré výsledky za levnou cenu