Sadržaj:

Infracrvena tipkovnica Palm s Android uređajima: 5 koraka
Infracrvena tipkovnica Palm s Android uređajima: 5 koraka

Video: Infracrvena tipkovnica Palm s Android uređajima: 5 koraka

Video: Infracrvena tipkovnica Palm s Android uređajima: 5 koraka
Video: 8 ПРИЛОЖЕНИЙ на Андроид, которые необходимо УДАЛИТЬ прямо сейчас! 2024, Srpanj
Anonim
Infracrvenu tipkovnicu Palm koristite s Android uređajima
Infracrvenu tipkovnicu Palm koristite s Android uređajima
Infracrvenu tipkovnicu Palm koristite s Android uređajima
Infracrvenu tipkovnicu Palm koristite s Android uređajima
Infracrvenu tipkovnicu Palm koristite s Android uređajima
Infracrvenu tipkovnicu Palm koristite s Android uređajima

Sjedio sam s bežičnom tipkovnicom PalmOne i htio sam imati Bluetooth tipkovnicu za telefon. Jedini problem bio je što je tipkovnica PalmOne 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 na sve. Dobio sam ga za 20 dolara. Također možete koristiti 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 tipkovnici, napravio nadogradnju firmvera za Brainlink i napisao Android upravljački program za tipkovnicu, 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. Trebaš:

  • Bežična tipkovnica PalmOne
  • 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 željezo
  • Električna traka
  • Opcionalno: kopča za kuku

U prošlosti sam koristio Brainlink za spajanje na Mindflex EEG slušalice i na Roombu. Stvarno je izvrstan za zadatke premošćivanja serijskog na 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 pozadinski opis slobodno preskočite.

Bežična tipkovnica PalmOne šalje svoje podatke putem infracrvene LED diode na stabljici, koristeći IrDA. Iako se za dekodiranje podataka može koristiti IC detektor, postoji lakši način. Ako tipkovnicu prepolovite, otkrivaju se tri bakrene trake. Srednji je uzemljen, a donji je prijenosna linija. Stavljanjem na osciloskop provjerava se je li signal na odašiljačkoj liniji kodiran na približno 9600 (točnije: 9760) 8 N 2, s visokom razinom 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 dopuštajući "J1" kodu da ga prebaci u IrDA način rada. Očekivao sam da visoka razina od 1,56 V neće biti dovoljna za atxmegu, ali bio sam ugodno iznenađen kad sam spojio bakrene trake na GND i UART prijem na Brainlink -u i pregledao rezultate u Realtermu: dobivao sam lijepe sekvence od 6 bajtova s tipkovnice.

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 s FF, a zz je xx xor'ed sa 67. (Zapravo, kod za skeniranje prenosi se 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 tipkovnici. 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 s Brainlink preko svog Bluetooth protokola.

Najjednostavnije je bilo uzeti aplikaciju BluezIME tipkovnice s otvorenim kodom koja omogućuje raznim 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 (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 u IrDA formatu 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 kao opću namjenu atmega/atxmega AVR109 flash uploader).

  1. Uparite Brainlink (PIN 1234) s Android uređajem-svejedno ćete to morati učiniti za povezivanje tipkovnice
  2. Preuzmite moj Brainlink Firmware Uploader s Google Playa (izvor za uploader i firmware 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 sada je pametniji: ne samo da podržava čitanje podataka s nekih IrDA uređaja (nakon što locirate nemodulirani signal), već funkcionira i kao standardna veza Roomba-to-Bluetooth te može hvatati podatke s Mindflex EEG slušalica. A firmver je unatrag kompatibilan.

Korak 3: Povezivanje Brainlinka s tipkovnicom

Povezivanje Brainlinka s tipkovnicom
Povezivanje Brainlinka s tipkovnicom
Povezivanje Brainlinka s tipkovnicom
Povezivanje Brainlinka s tipkovnicom
Povezivanje Brainlinka s tipkovnicom
Povezivanje Brainlinka s tipkovnicom

Trebat će vam konektor za povezivanje koji odgovara tri krajnje lijeva pina na 8-pinskom priključku Brainlink-a. To su konektori u JST stilu s 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 Brainlinkom, 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 tipkovnice i uklonite baterije. U blizini minus strana baterija pronaći ćete dva para žica povezanih zajedno putem konektora u stilu JST. Ako su vaše boje poput mojih, 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 tipkovnici, a prijemnu žicu na Brainlink na signalnu liniju. Možda ćete otkriti da u području tipkovnice nema mjesta za spajanje lemljenja i konektor u stilu JST to je bilo unutar tipkovnice. 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 odvojiti IR LED stranu konektora u stilu JST kako bi se uštedio vijek trajanja baterije. Nemojte to činiti. Signal se raspada ako to učinite. Provjerio sam osciloskopom.

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

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

Možda ćete htjeti zalijepiti i čičak na Brainlink -u i tipkovnicu 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 postavke tipkovnice P1 (ikona za to trebala bi biti u pokretaču).
  4. Omogućite tipkovnicu P1 u postavkama Android načina unosa. Na novijim verzijama Androida možete omogućiti tipkovnicu P1 odabirom "Odaberi IME" u postavkama tipkovnice P1 i dodirom na "Postavi načine unosa". (Dobit ćete upozorenje da tipkovnica vidi sve vaše lozinke itd. To je standardno upozorenje za Android: naravno, upravljački program tipkovnice vidi sve što upišete. Ako ste uplašeni, pogledajte izvorni kod tipkovnice i napravite Svoj.)
  5. Dodirnite "Odaberi uređaj" i odaberite svoj Brainlink (moj se prikazuje kao RN42-A308).
  6. Dodirnite "Odaberi IME" u postavkama tipkovnice P1 i odaberite P1 tipkovnica.
  7. Povezivanje može potrajati, ali trebali biste dobiti poruku o povezivanju ako sve prođe u redu

I gotovi ste! Slobodno donirajte autoru BluezIME -a na kojem se temelji P1 tipkovnica.

Na Androidu 4.0+, kada će se u tekstualnim poljima pojaviti obavijest koja omogućuje promjenu načina unosa, pa se možete jednostavno prebaciti natrag na drugu metodu unosa.

Upravljački program koji sam napisao za tipkovnicu vrlo je 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 dvaju gumba s početnim zaslonom (FN-1 i tipka lijevo od razmaka) kao Home, koristeći tipku Windows i FN-2 kao izbornik i FN-3 kao pretraživanje. Također, ctrl-a, c, v, x radi očekivano.

Radi dovoljno dobro da sam kompletan prvi nacrt ovog Instructable -a napisao na svom Galaxy S2 telefonu s tipkovnicom.

Korak 5: Ostale tipkovnice

Ostale tipkovnice
Ostale tipkovnice
Ostale tipkovnice
Ostale tipkovnice

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

*J1Z

Zvjezdica traži pozornost, J1 se prebacuje na 9600 baud IrDA (samo morate unijeti 1 brzo nakon J ili dobijete pogrešku). Z je za način povezivanja serijski na Bluetooth.

Prebacite RealTerm na prikaz heksadecimalnih kodova i pritisnite tipke na tipkovnici 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 protivnom 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 tipkovnica šalje svoje podatke, samo izmijenite kod mog upravljačkog programa. Vjerojatno je dovoljno samo promijeniti brojeve u PalmOneWirelessKeyboard.java.

Preporučeni: