Sadržaj:

Koristite Palm infracrvenu tastaturu sa Android uređajima: 5 koraka
Koristite Palm infracrvenu tastaturu sa Android uređajima: 5 koraka

Video: Koristite Palm infracrvenu tastaturu sa Android uređajima: 5 koraka

Video: Koristite Palm infracrvenu tastaturu sa Android uređajima: 5 koraka
Video: 🟡 POCO X5 PRO - САМЫЙ ДЕТАЛЬНЫЙ ОБЗОР и ТЕСТЫ 2024, Novembar
Anonim
Koristite Palm infracrvenu tastaturu sa Android uređajima
Koristite Palm infracrvenu tastaturu sa Android uređajima
Koristite Palm infracrvenu tastaturu sa Android uređajima
Koristite Palm infracrvenu tastaturu sa Android uređajima
Koristite Palm infracrvenu tastaturu sa Android uređajima
Koristite Palm infracrvenu tastaturu sa Android uređajima

U blizini sam sjedio PalmOne bežičnu tastaturu i želio sam imati Bluetooth tastaturu za telefon. Jedini problem je bio u tome što je PalmOne tastatura bila infracrvena.

Imao sam i Brainlink uređaj. Ovo je prilično simpatičan mali uređaj za posredovanje između različitih uređaja. Ima procesor atxmega16, punjivu bateriju, neke senzore, Bluetooth radio, hrpu portova, kućište i neki nadogradiv firmver za sve to. Brainlink je ukinut, ali SurplusShed ga ima za 39 USD, a povremeno imaju 30-50% popusta na prodaju za sve. Dobio sam ga za 20 dolara. Možete koristiti i vlastitu atxmega plus Bluetooth ploču (sheme ovdje), ali vaši troškovi možda neće biti manji.

U svakom slučaju, nakon što je identificirao gdje se nalazi signalna linija na tastaturi, napravio nadogradnju firmvera za Brainlink i napisao Android upravljački program za tastaturu, to funkcionira prilično dobro. Budući da je većina posla bila istraživanje i softver, sada kada je to učinjeno, prilično je jednostavan projekt za svakoga tko ima Brainlink. Ti trebas:

  • PalmOne bežična tastatura
  • Brainlink
  • 3 ili 8-pinski priveznik za Brainlink (konektor 1,25 mm u JST stilu); možete koristiti 8-polnu vezu koja je uključena u Brainlink, ali ćete htjeti naručiti više za druge projekte
  • Lemljenje i gvožđe
  • Električna traka
  • Opcionalno: kopča za kuku

Ranije sam koristio Brainlink za povezivanje sa Mindflex EEG slušalicama i na Roombu. Zaista je odličan za zadatke premošćivanja serijski-Bluetooth. Samo izrađujem različite konektore za različite uređaje i mogu pomicati Brainlink između njih.

Korak 1: Pozadina

Pozadina
Pozadina
Pozadina
Pozadina
Pozadina
Pozadina

Ovaj opis pozadine slobodno preskočite.

Bežična tastatura PalmOne šalje svoje podatke putem infracrvene LED diode na stabljici, koristeći infracrveni port. Iako se za dekodiranje podataka može koristiti IC detektor, postoji lakši način. Ako tastaturu prepolovite, otkrivaju se tri bakrene trake. Srednji je uzemljen, a donji je prijenosna linija. Njihovim stavljanjem na osciloskop provjerava se da li je signal na odašiljačkoj liniji kodiran na približno 9600 (točnije: 9760) 8 N 2, s visokim nivoom oko 1,56 V i s oblikovanjem irDA impulsa: 1 je visok, a pozitivni impulsi uzeti 3/16 bitnog vremena.

Nažalost, sve ovo znači da ovo ne možemo jednostavno uključiti u jednostavan Bluetooth modul (barem ne bez izrade prilagođenog firmvera za njega), kao što sam to učinio u svom projektu Mindflex. Srećom, atxmega u Brainlink -u ima irDA način rada za svoj UART. Jednostavno je dodati malo koda u Brainlink firmver omogućavajući "J1" kodu da ga prebaci u IrDA način rada. Očekivao sam da visoki nivo od 1,56 V neće biti dovoljan za atxmegu, ali sam bio ugodno iznenađen kada sam spojio bakrene trake na GND i UART prijem na Brainlink -u i pregledao rezultate u Realtermu: Dobijao sam lijepe sekvence od 6 bajtova sa tastature.

Pokazalo se da je niz od šest bajtova samo pakiranje za jednobajtni kod za skeniranje (s oslobađanjem označavanja visokih bitova). Konkretno, slijed je FF C0 xx yy zz C1, gdje je xx kôd za skeniranje, yy je xx xor'ed sa FF, a zz je xx xor'ed sa 67. (U stvari, kod za skeniranje se prenosi tri puta: jednom jasan i dvaput kodiran. Pretpostavljam da je to zato što je irDA sklona korupciji, pa možete koristiti većinsko dekodiranje da biste dobili bajt.) Nakon toga, jedina hardverska poteškoća bila je pronaći mjesto za lemljenje konektora na tastaturi. I to nije bilo teško.

Sa softverske strane, iako bih možda mogao prebaciti Bluetooth modul RN-42 u Brainlink-u u HID način rada, to je imalo potencijal za blokiranje, jer da se modul ne vrati na SPP, ne bih mogao razgovarati Brainlink preko svog Bluetooth protokola.

Najjednostavnije je bilo uzeti aplikaciju BluezIME tipkovnice s otvorenim kodom koja omogućava različitim Bluetooth gamepadima da funkcioniraju kao Android kontroleri i dodati način rada za šestobajtne sekvence Palm One Wireless Keyboard. Rezultirajuća aplikacija je besplatna P1 tipkovnica na Google Playu sada (izvorni kod na githubu).

Korak 2: Nadogradnja Brainklink firmvera

Nadogradnja Brainklink firmvera
Nadogradnja Brainklink firmvera
Nadogradnja Brainklink firmvera
Nadogradnja Brainklink firmvera

Da biste omogućili podršku za serijske podatke IrDA formata na Brainlink-u, morate učitati moj prilagođeni firmver. Lako je s Android uređajem i alatom za učitavanje firmvera koji sam napisao (usput, možete izmijeniti alat za učitavanje tako da bude opća namjena atmega/atxmega AVR109 flash uploader).

  1. Uparite Brainlink (PIN 1234) s Android uređajem-svejedno ćete to morati učiniti za povezivanje tastature
  2. Preuzmite moj Brainlink Firmware Uploader s Google Playa (izvor za uploader i firmver na githubu).
  3. Isključite Brainlink i spojite pinove 8 i 2 (čudno, pin 8 je krajnji lijevi pin, a pin 1 s desne strane) na 8-pinskom portu.
  4. Držeći spojene pinove, uključite Brainlink. LED dioda bi trebala postati plava.
  5. Odaberite prilagođeni firmver koji želite (ako imate Roombu, jedan od firmvera bolje radi s novijim Roombama, a drugi sa starijim) i pritisnite "Prenesi".
  6. To bi trebalo biti to, međutim, ako imate poteškoća u povezivanju, možda ćete morati pokušati više puta.

Vaš Brainlink je sada pametniji: ne samo da podržava čitanje podataka s nekih IrDA uređaja (nakon što locirate nemodulirani signal), već funkcionira i kao standardna Roomba-Bluetooth veza i može snimati podatke iz Mindflex EEG slušalica. A firmver je unatrag kompatibilan.

Korak 3: Povezivanje Brainlink -a sa tastaturom

Povezivanje Brainlink -a sa tastaturom
Povezivanje Brainlink -a sa tastaturom
Povezivanje Brainlink -a sa tastaturom
Povezivanje Brainlink -a sa tastaturom
Povezivanje Brainlink -a sa tastaturom
Povezivanje Brainlink -a sa tastaturom

Trebat će vam tether konektor koji odgovara tri krajnje lijeva pina na 8-pinskom portu Brainlink-a. To su konektori u JST stilu sa razmakom od pinova 1,25 mm. Možete koristiti tropolni konektor (po mom izboru) ili 8-pinski konektor. Možete koristiti 8-pinski konektor koji dolazi s Brainlink-om, ali tada ćete htjeti naručiti više njih (na ebayu sam našao jeftine 3- i 8-pinske konektore).

Otvorite ležište za baterije tastature i uklonite baterije. U blizini minus strana baterija pronaći ćete dva para žica povezanih zajedno putem konektora u JST stilu. Ako su vaše boje kao moje, crne žice su uzemljene (možete samo provjeriti otpor između toga i minus terminala na bateriji), a ostale boje (smeđa i siva) su signal.

Na vašem 8-pinskom priključku Brainlink krajnja lijeva veza je uzemljena (krajnji lijevi pin 8-pinskog porta), a treći pin s lijeve strane je serijski prijem. Lemite žicu za uzemljenje na vašem Brainlink konektoru na liniju za uzemljenje na tastaturi, a prijemnu žicu na Brainlink na signalnu liniju. Možda ćete otkriti da nema prostora u području tastature za spajanje lemljenja i konektor u stilu JST to je bilo unutar tastature. Ako je tako, samo uklonite konektor u stilu JST i lemite oba trojca relevantnih žica (dvije žice za uzemljenje tipkovnice i jedna žica za uzemljenje Brainlink; dvije signalne žice tipkovnice i jedna žica za prijem Brainlink).

U iskušenju je da isključite IR LED stranu konektora u stilu JST kako biste uštedjeli trajanje baterije. Ne radi to. Signal se raspada ako to učinite. Proverio sam sa svojim osciloskopom.

Napravite rupu na rubu poklopca baterije za prolaz žica Brainlink privezača, upotrijebite električnu traku da držite dvije veze izolirane i zavežite mali čvor za rasterećenje napetosti.

Konačno, kad sve završi, ili prikrijete nebitne kontakte na Brainlink privezu ili jednostavno odrežite nevažne žice.

Možda ćete također htjeti zalijepiti čičak na Brainlink -u i tastaturu kako bi Brainlink ostao na mjestu.

Korak 4: Korištenje s Android uređajem

Korištenje s Android uređajem
Korištenje s Android uređajem
  1. Uparite Brainlink sa svojim Android uređajem (PIN 1234).
  2. Instalirajte moju aplikaciju P1 Keyboard.
  3. Pokrenite P1 Keyboard Settings (ikona za to trebala bi biti u vašem pokretaču).
  4. Omogućite P1 tastaturu u postavkama Android načina unosa. Na novijim verzijama Androida možete omogućiti P1 tipkovnicu odabirom "Odaberi IME" u postavkama P1 tipkovnice i dodirom na "Postavi metode unosa". (Dobit ćete upozorenje da tastatura vidi sve vaše lozinke itd. To je standardno upozorenje za Android: naravno, upravljački program tastature vidi sve što unesete. Ako ste uplašeni, pogledajte izvorni kod tastature i napravite tvoje.)
  5. Dodirnite "Odaberi uređaj" i odaberite svoj Brainlink (moj se prikazuje kao RN42-A308).
  6. Dodirnite "Odaberi IME" u postavkama P1 tastature i odaberite P1 tastatura.
  7. Povezivanje može potrajati neko vrijeme, ali trebali biste dobiti poruku o povezivanju ako sve prođe u redu

I gotovi ste! Slobodno donirajte autoru BluezIME -a na kojem je zasnovana P1 tastatura.

Na Androidu 4.0+, kada će se u tekstualnim poljima pojaviti obavijest koja omogućava promjenu načina unosa, tako da se možete lako prebaciti na drugu metodu unosa.

Upravljački program koji sam napisao za tastaturu je vrlo jednostavan. Podržava obične tipke, ali ne podržava mnoge tipke sa posebnim naglaskom ili druge posebne stvari. Dodao sam podršku za korištenje dva gumba s početnim zaslonom (FN-1 i tipka lijevo od razmaka) kao Home, koristeći taster Windows i FN-2 kao meni i FN-3 kao pretraga. Takođe, ctrl-a, c, v, x radi kako se očekivalo.

Radi dovoljno dobro da sam kompletan prvi nacrt ovog uputstva napisao na svom Galaxy S2 telefonu pomoću tastature.

Korak 5: Ostale tastature

Ostale tastature
Ostale tastature
Ostale tastature
Ostale tastature

Ako želite eksperimentirati s drugim infracrvenim tipkovnicama, morat ćete otkriti koje signale šalju i kojom brzinom prijenosa. S Brainlink-om ažuriranim na IrDA kompatibilan softver, možete se povezati s RealTerm-om na Brainlink. Kada vidite ponavljajući signal "BL" koji je potpis Brainlink -a, upišite:

*J1Z

Zvjezdica traži pažnju, J1 se prebacuje na 9600 baud IrDA (samo morate unijeti 1 brzo nakon J ili ćete dobiti grešku). Z je za režim serijskog povezivanja na Bluetooth.

Prebacite RealTerm na prikaz heksadecimalnih kodova i pritisnite tipke na tastaturi i provjerite možete li to smisliti.

Za izlaz iz načina serijskog mosta, uključite Brainlink.

Pretpostavljam da je 9600 bauda prava brzina prijenosa. U suprotnom, možete promijeniti brzinu prijenosa Brainlink -a. Za početak bih isprobao 57600 bauda:

*J1u57Z

a zatim 1200 bauda:

*J1u12Z

Nakon što ste shvatili kako tastatura šalje svoje podatke, samo izmijenite kod mog upravljačkog programa. Vjerojatno je dovoljna samo promjena brojeva u PalmOneWirelessKeyboard.java.

Preporučuje se: