Tartalomjegyzék:

A Palm infravörös billentyűzet használata Android -eszközökkel: 5 lépés
A Palm infravörös billentyűzet használata Android -eszközökkel: 5 lépés

Videó: A Palm infravörös billentyűzet használata Android -eszközökkel: 5 lépés

Videó: A Palm infravörös billentyűzet használata Android -eszközökkel: 5 lépés
Videó: Mégis van remény! - Xiaomi Pad 5 (& Smart Pen) 2024, Július
Anonim
Használja a Palm infravörös billentyűzetet Android -eszközökkel
Használja a Palm infravörös billentyűzetet Android -eszközökkel
Használja a Palm infravörös billentyűzetet Android -eszközökkel
Használja a Palm infravörös billentyűzetet Android -eszközökkel
Használja a Palm infravörös billentyűzetet Android -eszközökkel
Használja a Palm infravörös billentyűzetet Android -eszközökkel

Ültem egy PalmOne vezeték nélküli billentyűzettel, és szerettem volna egy Bluetooth billentyűzetet a telefonomhoz. Az egyetlen probléma az volt, hogy a PalmOne billentyűzet infravörös alapú volt.

Volt egy Brainlink készülékem is. Ez egy nagyon aranyos kis eszköz a különböző eszközök közötti közvetítéshez. Atxmega16 processzor, újratölthető akkumulátor, néhány érzékelő, Bluetooth rádió, egy csomó port, egy tok és néhány frissíthető firmware van az egész vezérléséhez. A Brainlink megszűnt, de a SurplusShed 39 dollárért kapja, és rendszeresen 30-50% kedvezményt adnak mindenről. 20 dollárért kaptam. Használhat saját atxmega plus Bluetooth táblát is (itt a vázlat), de a költségek nem lehetnek alacsonyabbak.

Mindenesetre, miután azonosította a billentyűzet jelvonalának helyét, frissítette a firmware -t a Brainlink számára, és Android -illesztőprogramot írt a billentyűzethez, ez elég jól működik. Mivel a munka nagy része a nyomozással és a szoftverrel foglalkozott, most, hogy ez megtörtént, ez meglehetősen egyszerű projekt mindenki számára, akinek van Brainlink -ja. Szükséged van:

  • PalmOne vezeték nélküli billentyűzet
  • Agylink
  • 3 vagy 8 tűs heveder a Brainlinkhez (1,25 mm-es JST-típusú csatlakozó); használhatja a Brainlinkhez mellékelt 8 tűs kötést, de más projektekhez többet szeretne rendelni
  • Forrasztás és vas
  • Elektromos szalag
  • Opcionális: horog és hurok rögzítő

A múltban a Brainlinket használtam Mindflex EEG headsethez és Roomba csatlakoztatásához. Nagyon jó a soros-Bluetooth áthidalási feladatokhoz. Csak különböző csatlakozókat készítek különböző eszközökhöz, és áthelyezhetem a Brainlinket közöttük.

1. lépés: Háttér

Háttér
Háttér
Háttér
Háttér
Háttér
Háttér

Nyugodtan hagyja ki ezt a háttérleírást.

A PalmOne vezeték nélküli billentyűzet az IRDA segítségével infravörös LED -en keresztül továbbítja az adatokat egy száron. Bár infravörös érzékelőt használhat az adatok dekódolására, van egy egyszerűbb módszer. Ha félbehajtja a billentyűzetet, három rézcsík látható. A középső földelt, az alsó pedig egy átviteli vonal. Ha oszcilloszkópba helyezi őket, ellenőrizze, hogy az adó vonalon lévő jel körülbelül 9600 (pontosabban: 9760) 8 N 2 -es kódolású, a magas szint 1,56 V körül van, és irDA impulzusformázással: 1 magas, és pozitív impulzusok vegye ki a bitidő 3/16 részét.

Sajnos mindez azt jelenti, hogy ezt nem csatlakoztathatjuk egyszerűen egy egyszerű Bluetooth modulhoz (legalábbis nem anélkül, hogy egyedi firmware -t készítenénk hozzá), mint a Mindflex projektemben. Szerencsére a Brainlinkben található atxmega rendelkezik irDA móddal az UART -hoz. Egyszerűen hozzáadhat egy kis kódot a Brainlink firmware -hez, lehetővé téve a "J1" kód IrDA üzemmódba kapcsolását. Arra számítottam, hogy az 1,56 V -os magas szint nem lesz elegendő az atxmega számára, de kellemesen meglepődtem, amikor a Brainlink -en a rézcsíkokat a GND -hez és az UART -vételhez kötöttem, és a Realterm -ben megnéztem az eredményeket: szép hat bájtos sorozatokat kaptam a billentyűzetről.

Kiderült, hogy a hat bájtos szekvencia csak egyetlen bájtos szkennelési kód csomagolása (nagy bitjelzéssel). Pontosabban, a sorozat FF C0 xx yy zz C1, ahol xx a szkennelési kód, yy xx xor'ed FF -el, és zz xx xor'ed 67. (Valójában a szkennelési kód háromszor kerül továbbításra: egyszer egyértelmű és kétszer kódolt. Gondolom, ez azért van, mert az irDA hajlamos a korrupcióra, és így a többségi dekódolást használva megszerezheti a bájtot.) Ezt követően az egyetlen hardverprobléma az volt, hogy megtalálja a helyet a csatlakozó forrasztásához a billentyűzeten. És ez nem volt nehéz.

Szoftveres oldalról, bár talán át tudnám kapcsolni az RN-42 Bluetooth modult a Brainlink-ben HID módba, amely blokkolási potenciállal rendelkezett, mivel ha a modul nem kapcsol vissza SPP-re, nem tudok beszélni a Brainlink a Bluetooth protokollon keresztül.

A legegyszerűbb dolog az volt, hogy megvettem a nyílt forráskódú BluezIME billentyűzet alkalmazást, amely lehetővé teszi a különböző Bluetooth-kezelők Android-vezérlőként való működését, és hozzáad egy módot a Palm One vezeték nélküli billentyűzet hatbájtos szekvenciáihoz. A kapott alkalmazás az ingyenes P1 billentyűzet a Google Playen (forráskód a github -on).

2. lépés: A Brainklink firmware frissítése

A Brainklink firmware frissítése
A Brainklink firmware frissítése
A Brainklink firmware frissítése
A Brainklink firmware frissítése

Az IrDA formátumú soros adatok támogatásának engedélyezéséhez a Brainlinken be kell töltenie az egyéni firmware-t. Egyszerű az Android -eszközzel és a firmware -feltöltővel, amit írtam (mellesleg módosíthatja a feltöltőt általános célú atmega/atxmega AVR109 flash -feltöltővé).

  1. Párosítsa a Brainlinket (PIN 1234) Android-eszközzel-ezt mindenképpen meg kell tennie a billentyűzet csatlakoztatásához
  2. Töltse le a Brainlink Firmware Uploader programot a Google Playről (a feltöltő és a firmware forrása a githubon).
  3. Kapcsolja ki a Brainlink-et, és csatlakoztassa a 8-as és 2-es csapokat (furcsa módon a 8-as tű a bal szélső, az 1-es pedig a jobb oldalon) a 8-tűs porton.
  4. Tartva a csapokat csatlakoztatva, kapcsolja be a Brainlinket. A LED -nek kéken kell világítania.
  5. Válassza ki a kívánt egyéni firmware -t (ha Roomba -ja van, akkor az egyik firmware jobban működik az újabb Roombákkal, a másik pedig a régebbiekkel), és nyomja meg a "Feltöltés" gombot.
  6. Ennek kell lennie, bár ha kapcsolódási nehézségei vannak, előfordulhat, hogy többször kell kipróbálnia.

A Brainlink mostantól okosabb: nemcsak egyes adatok IrDA-eszközökről történő olvasását támogatja (ha nem modulált jelet talál), hanem szabványos Roomba-Bluetooth kapcsolatként is működik, és Mindflex EEG headsetből is képes adatokat rögzíteni. És a firmware visszafelé kompatibilis.

3. lépés: A Brainklink csatlakoztatása a billentyűzethez

A Brainklink csatlakoztatása a billentyűzethez
A Brainklink csatlakoztatása a billentyűzethez
A Brainlink csatlakoztatása a billentyűzethez
A Brainlink csatlakoztatása a billentyűzethez
A Brainlink csatlakoztatása a billentyűzethez
A Brainlink csatlakoztatása a billentyűzethez

Szüksége lesz egy hevedercsatlakozóra, amely illeszkedik a Brainlink 8 tűs portjának három bal oldali csapjához. Ezek JST-típusú csatlakozók, 1,25 mm-es tűtávolsággal. Használhat hárompólusú csatlakozót (az én választásom) vagy 8 tűs csatlakozót. Használhatja a Brainlinkhez mellékelt 8 tűs csatlakozót, de akkor érdemes többet megrendelnie (az ebayen olcsón találtam 3 és 8 tűs csatlakozókat).

Nyissa ki a billentyűzet elemrekeszét, és vegye ki az elemeket. Az akkumulátorok mínusz oldala közelében két pár vezeték található, amelyek JST típusú csatlakozón keresztül vannak összekapcsolva. Ha a színei olyanok, mint az enyémek, a fekete vezetékek le vannak földelve (csak ellenőrizni lehet az ellenállást az akkumulátor és a mínusz csatlakozó között), és a többi szín (barna és szürke) a jel.

A Brainlink 8 tűs portján a bal szélső csatlakozó földelt (a 8 tűs port bal szélső csapja), a bal oldali harmadik tű pedig a soros vétel. Forrasztja a Brainlink csatlakozó földelővezetékét a billentyűzet földvezetékéhez, és a fogadóvezetéket a Brainlink-hez a jelvezetékhez. Előfordulhat, hogy a billentyűzet területén nincs hely a forrasztás és a JST-típusú csatlakozó számára ami a billentyűzet belsejében volt. Ha igen, akkor csak távolítsa el a JST típusú csatlakozót, és forrasztja fel a megfelelő vezetékek mindkét hármasát (két billentyűzet földelővezetéke és egy Brainlink földelő vezeték; két billentyűzet jelvezeték és egy Brainlink fogadó vezeték).

Csábító, hogy lecsatlakoztatja a JST típusú csatlakozó IR LED oldalát az akkumulátor élettartamának megtakarítása érdekében. Ne tedd. A jel szétesik, ha ezt teszi. Oszcilloszkóppal ellenőriztem.

Készítsen lyukat az elemfedél ajkán, hogy a Brainlink kötél vezetékei áthaladhassanak, elektromos szalaggal távolítsa el a két csatlakozást, és kössön egy kis feszültségcsökkentő csomót.

Végül, ha minden kész, vagy takarja el a lényegtelen érintkezőket a Brainlink kötésen, vagy csak vágja le az irreleváns vezetékeket.

A Brainlink és a billentyűzet néhány tépőzárját is felragaszthatja, hogy a Brainlink a helyén maradjon.

4. lépés: Használat Android -eszközzel

Használat Android -eszközzel
Használat Android -eszközzel
  1. Párosítsa a Brainlinket Android -eszközével (PIN 1234).
  2. Telepítsd a P1 billentyűzet alkalmazást.
  3. Indítsa el a P1 billentyűzet beállításait (ennek ikonjának az indítóban kell lennie).
  4. Engedélyezze a P1 billentyűzetet az Android beviteli mód beállításaiban. Az újabb Android -verziókban engedélyezheti a P1 -es billentyűzetet, ha a P1 -es billentyűzet beállításainál az "IME kiválasztása" lehetőséget választja, majd a "Beviteli módszerek beállítása" elemre koppint. (Figyelmeztetést kap, hogy a billentyűzet látja az összes jelszavát, stb. Ez egy szabványos Android -figyelmeztetés: természetesen a billentyűzet -illesztőprogram mindent lát, amit beír. Ha fél, nézze meg a billentyűzet forráskódját, és a sajátod.)
  5. Érintse meg az „Eszköz kiválasztása” elemet, és válassza ki a Brainlinket (az enyém RN42-A308 néven jelenik meg).
  6. Érintse meg az „IME kiválasztása” elemet a P1 billentyűzet beállításainál, majd válassza a P1 billentyűzet lehetőséget.
  7. Eltarthat egy ideig, amíg csatlakozni fog, de üzenetet kell kapnia a csatlakozásról, ha minden jól megy

És kész! Nyugodtan adományozhat a P1 billentyűzet alapjául szolgáló BluezIME szerzőjének.

Android 4.0+ esetén, ha a szövegmezőkben megjelenik egy értesítés, amely lehetővé teszi a beviteli módok váltását, így könnyen átválthat egy másik beviteli módra.

A billentyűzethez írt illesztőprogram nagyon egyszerű. Támogatja a közönséges billentyűket, de nem támogat sok speciális ékezetes billentyűt vagy más különleges dolgot. Támogatást adtam a két gomb otthoni használatához (FN-1 és a bal oldali billentyű) otthonként, a a Windows billentyűt és az FN-2 menüt és az FN-3 keresést. Továbbá a ctrl-a, c, v, x a várt módon működik.

Elég jól működik, hogy a billentyűzettel a Galaxy S2 telefonomra írtam az utasítás első teljes vázlatát.

5. lépés: Egyéb billentyűzetek

Egyéb billentyűzetek
Egyéb billentyűzetek
Egyéb billentyűzetek
Egyéb billentyűzetek

Ha más infravörös billentyűzetekkel szeretne kísérletezni, akkor ki kell találnia, hogy milyen jeleket küld és milyen átviteli sebességgel. Az IrDA-kompatibilis szoftverre frissített Brainlink segítségével csatlakozhat a RealTermhez a Brainlinkhez. Amikor látja az ismétlődő "BL" jelet, amely a Brainlink aláírása, írja be:

*J1Z

A csillag figyelmet igényel, a J1 9600 baudos IrDA -ra vált (csak gyorsan írja be az 1 -et a J után, különben hibaüzenetet kap). A Z a soros-Bluetooth híd módhoz való.

Kapcsolja be a RealTerm funkciót a hexadecimális kódok megjelenítéséhez, majd nyomja meg a billentyűzet billentyűit, és nézze meg, hogy érthető -e.

A soros híd módból való kilépéshez kapcsolja be a Brainlinket.

Gondolom a 9600 baud a megfelelő baud. Ennek hiányában megváltoztathatja a Brainlink átviteli sebességét. Kezdeném az 57600 baud kipróbálásával:

*J1u57Z

majd 1200 baud:

*J1u12Z

Miután rájött, hogyan küldi el a billentyűzet az adatait, csak módosítsa az illesztőprogram kódját. Valószínűleg elég a PalmOneWirelessKeyboard.java számok megváltoztatása.

Ajánlott: