Mündəricat:

Android Cihazları ilə Palm İnfraqırmızı Klaviaturadan istifadə edin: 5 addım
Android Cihazları ilə Palm İnfraqırmızı Klaviaturadan istifadə edin: 5 addım

Video: Android Cihazları ilə Palm İnfraqırmızı Klaviaturadan istifadə edin: 5 addım

Video: Android Cihazları ilə Palm İnfraqırmızı Klaviaturadan istifadə edin: 5 addım
Video: Leap Motion SDK 2024, Noyabr
Anonim
Android Cihazları ilə Palm İnfraqırmızı Klaviaturadan istifadə edin
Android Cihazları ilə Palm İnfraqırmızı Klaviaturadan istifadə edin
Android Cihazları ilə Palm İnfraqırmızı Klaviaturadan istifadə edin
Android Cihazları ilə Palm İnfraqırmızı Klaviaturadan istifadə edin
Android Cihazları ilə Palm İnfraqırmızı Klaviaturadan istifadə edin
Android Cihazları ilə Palm İnfraqırmızı Klaviaturadan istifadə edin

Ətrafımda PalmOne Simsiz Klaviaturası vardı və telefonum üçün Bluetooth klaviaturasına sahib olmaq istəyirdim. Yeganə problem PalmOne klaviaturasının infraqırmızı əsaslı olması idi.

Brainlink cihazım da var idi. Bu fərqli cihazlar arasında vasitəçilik etmək üçün olduqca sevimli bir kiçik cihazdır. Atxmega16 prosessoru, şarj edilə bilən batareya, bəzi sensorlar, Bluetooth radiosu, bir dəstə port, bir qutu və hamısını idarə etmək üçün bir neçə təkmilləşdirilə bilən proqram təminatı var. Brainlink dayandırılır, lakin SurplusShed 39 dollara malikdir və hər şeydə 30-50% endirim var. 20 dollara aldım. Öz atxmega plus Bluetooth lövhənizi də istifadə edə bilərsiniz (burada sxemlər), lakin xərcləriniz daha aşağı ola bilməz.

Hər halda, klaviaturadakı siqnal xəttinin harada olduğunu müəyyən etdikdən sonra, Brainlink üçün bir firmware yeniləməsi etdikdən və klaviatura üçün Android sürücüsü yazdıqdan sonra olduqca yaxşı işləyir. İşlərin çoxu araşdırma və proqram təminatı olduğuna görə, indi bu iş Brainlinkə sahib olanlar üçün olduqca asan bir layihədir. Ehtiyacınız var:

  • PalmOne Simsiz Klaviatura
  • Beyin bağlantısı
  • Brainlink üçün 3 və ya 8 pinli bağlayıcı (1.25mm pitch JST-stil konnektoru); Brainlink-ə daxil olan 8 pinli bağlayıcıdan istifadə edə bilərsiniz, ancaq digər layihələr üçün daha çox sifariş vermək istəyəcəksiniz
  • Lehim və dəmir
  • Elektrik lenti
  • İsteğe bağlı: Çəngəl və döngə bərkidicisi

Keçmişdə, Mindflex EEG qulaqlıq və Roomba ilə əlaqə qurmaq üçün Brainlink istifadə etdim. Bluetooth-dan seriala keçid vəzifələri üçün həqiqətən əladır. Sadəcə fərqli qurğular üçün fərqli bağlayıcılar hazırlayıram və Brainlink -i aralarında hərəkət etdirə bilirəm.

Addım 1: Arxa plan

Fon
Fon
Fon
Fon
Fon
Fon

Bu fon təsvirini atlamaqdan çekinmeyin.

PalmOne Simsiz Klaviatura, məlumatlarını IrDA istifadə edərək bir sapdakı IR LED vasitəsilə göndərir. Verilənləri deşifr etmək üçün İR detektorundan istifadə etmək mümkün olsa da, daha asan bir yol var. Klaviaturanı yarıya qatlasanız, üç mis zolaq görünür. Ortası torpaqdır, alt hissəsi isə ötürücü xətdir. Onları bir osiloskopa yerləşdirmək, ötürücü xəttindəki siqnalın təxminən 9600 (daha doğrusu: 9760) 8 N 2, yüksək səviyyəsi 1.56V ətrafında və irDA nəbzinin formalaşması ilə kodlandığını təsdiq edir: 1 yüksəkdir və müsbət impulslar bit vaxtının 3/16 hissəsini çəkin.

Təəssüf ki, bütün bunlar, sadəcə Mindflex layihəmdə etdiyim kimi, bunu sadə bir Bluetooth moduluna qoşa bilməyəcəyimiz deməkdir (heç olmasa bunun üçün xüsusi proqram təminatı yaratmadan). Xoşbəxtlikdən, Brainlinkdəki atxmega, UART üçün irDA rejiminə malikdir. "J1" kodunun IrDA rejiminə keçməsinə imkan verən Brainlink firmware proqramına bir az kod əlavə etmək çox sadədir. 1.56V yüksək səviyyənin atxmega üçün qeyri -kafi olacağını gözləyirdim, amma mis zolaqları GND və UART Receive -a Brainlink -də bağladığımda və Realterm -də nəticələrə baxanda xoş təəccübləndim: klaviaturadan altı baytlıq gözəl ardıcıllıqlar alırdım..

Altı baytlıq ardıcıllığın yalnız bir bayt tarama kodu üçün qablaşdırma olduğu ortaya çıxdı (yüksək bit işarələmə buraxılışı ilə). Xüsusilə, ardıcıllıq FF C0 xx yy zz C1 -dir, burada xx tarama kodu, yy FF ilə xx xor'ed və zz xx xor'ed 67 -dir. (Əslində tarama kodu üç dəfə ötürülür: Bir dəfə aydın və iki dəfə kodlanmışdır. Bunun səbəbinin irDA-nın korrupsiyaya meylli olmasıdır və buna görə də baytı əldə etmək üçün əksəriyyətin şifrələməsindən istifadə edə bilərsiniz.) Bundan sonra yeganə hardware çətinliyi klaviaturada bir konnektoru lehimləmək üçün bir yer tapmaq idi.. Və bu çətin deyildi.

Proqram tərəfində, bəlkə də, bəlkə də Brainlinkdəki RN-42 Bluetooth modulunu tıxanma potensialına malik HID rejiminə keçirə bilərdim, çünki modul yenidən SPP-ə keçməsəydi, danışa bilməyəcəkdim. Bluetooth protokolu üzərində beyin bağlantısı.

Ən asan şey, müxtəlif Bluetooth gamepadlarının Android nəzarətçiləri kimi işləməsinə və Palm One Simsiz Klaviaturanın altı baytlıq ardıcıllığına bir rejim əlavə etməsinə imkan verən açıq mənbəli BluezIME klaviatura tətbiqini götürmək idi. Yaranan tətbiq, indi Google Play -də pulsuz P1 Klaviaturasıdır (githubdakı mənbə kodu).

Addım 2: Brainklink Firmware -ni təkmilləşdirin

Brainklink Firmware -nin təkmilləşdirilməsi
Brainklink Firmware -nin təkmilləşdirilməsi
Brainklink Firmware -nin təkmilləşdirilməsi
Brainklink Firmware -nin təkmilləşdirilməsi

BrDAlink-də IrDA formatlı serial məlumat dəstəyini aktivləşdirmək üçün xüsusi firmware-ni yükləməlisiniz. Bir Android cihazı və yazdığım bir firmware yükləyicisi ilə asandır (yeri gəlmişkən, yükləyicini ümumi məqsədli atmega/atxmega AVR109 flaş yükləyicisi olaraq dəyişdirə bilərsiniz).

  1. Brainlink'i (PIN 1234) bir Android cihazı ilə birləşdirin-klaviaturanı bağlamaq üçün bunu hər halda etməlisiniz
  2. Brainlink Firmware Yükləyicimi Google Play -dən yükləyin (github -da yükləyici və firmware üçün mənbə).
  3. Brainlink-i söndürün və 8-pinli pindəki 8 və 2-ci pinləri (qəribə olaraq, pin 8 ən soldakı pin və pin 1 sağda) birləşdirin.
  4. Pimleri bağlı tutaraq, Brainlink -i yandırın. Onun LED mavi rəngə çevrilməlidir.
  5. İstədiyiniz xüsusi proqram təminatını seçin (bir Roomba varsa, proqramlardan biri daha yeni Roombas ilə, digəri isə köhnələri ilə daha yaxşı işləyir) və "Yüklə" düyməsini basın.
  6. Əlbətdə ki, əlaqə probleminiz varsa, bir dəfədən çox cəhd etməlisiniz.

Brainlinkiniz indi daha ağıllıdır: yalnız bəzi IrDA cihazlarından məlumatların oxunmasını dəstəkləmir (modulyasiyasız bir siqnal tapdıqdan sonra), həm də standart Roomba-Bluetooth bağlantısı olaraq işləyir və məlumatları Mindflex EEG qulaqlıqdan tuta bilir. Və firmware geriyə uyğun gəlir.

Addım 3: Beyin Bağlantısını Klaviaturaya Bağlayın

Brainlink -in klaviaturaya qoşulması
Brainlink -in klaviaturaya qoşulması
Brainlink -in klaviaturaya qoşulması
Brainlink -in klaviaturaya qoşulması
Brainlink -in klaviaturaya qoşulması
Brainlink -in klaviaturaya qoşulması

Brainlink-in 8 pinli portundakı ən sol üç sancağa uyğun bir bağlayıcı bağlayıcıya ehtiyacınız olacaq. Bunlar 1.25mm pin aralığına malik JST tipli bağlayıcılardır. Üç pinli (mənim seçimim) və ya 8 pinli bir bağlayıcıdan istifadə edə bilərsiniz. Brainlink ilə birlikdə gələn 8 pinli bağlayıcıdan istifadə edə bilərsiniz, amma sonra daha çoxunu sifariş etmək istəyəcəksiniz (ebayda ucuz 3 və 8 pinli bağlayıcılar tapdım).

Klaviaturanın batareya yuvasını açın və batareyaları çıxarın. Batareyaların mənfi tərəfinin yaxınlığında, JST tipli bir bağlayıcı ilə bir-birinə bağlı olan iki cüt tel tapa bilərsiniz. Rəngləriniz mənimki kimidirsə, qara tellər torpaqdır (sadəcə batareyanın mənfi terminalı ilə müqavimətini yoxlaya bilərsiniz) və digər rənglər (qəhvəyi və boz) siqnaldır.

Brainlink 8 pinli portunuzda ən sol əlaqə torpaqdır (8 pinli portun ən sol ucu) və soldakı üçüncü pin serial qəbul edir. Brainlink bağlayıcınızdakı topraklama telini klaviaturadakı topraklama xəttinə və Brainlinkdəki qəbul telini siqnal xəttinə lehimləyin. Lehim bağlantısı və JST tərzi konnektoru üçün klaviatura sahəsində boş yer olmadığını görə bilərsiniz. bu klaviaturanın içindəydi. Əgər belədirsə, sadəcə JST tipli konnektoru çıxarın və müvafiq tellərin hər ikisini lehimləyin (iki klaviatura topraklama teli və bir Brainlink torpaq teli; iki klaviatura siqnal teli və bir Brainlink qəbul teli).

Batareyanın ömrünü qorumaq üçün JST tipli konnektorun IR LED tərəfini ayırmaq cazibədardır. Etmə. Bunu etsəniz siqnal dağılır. Osiloskopumla yoxladım.

Batareya qapağının dodağında Brainlink bağlayıcı tellərin keçməsi üçün bir çuxur açın, iki əlaqəni təcrid etmək üçün elektrik lentindən istifadə edin və kiçik bir gərginlik düyünü bağlayın.

Nəhayət, hər şey bitdikdə ya Brainlink bağlayıcısındakı əlaqəsiz kontaktları örtün və ya əlaqəsiz telləri kəsin.

Brainlink -in yerində qalması üçün Brainlink üzərindəki bəzi Velcro və klaviaturaya yapışdırmaq da istəyə bilərsiniz.

Addım 4: Android cihazı ilə istifadə

Android cihazı ilə istifadə
Android cihazı ilə istifadə
  1. Brainlink'i Android cihazınızla birləşdirin (PIN 1234).
  2. P1 Klaviatura tətbiqimi quraşdırın.
  3. P1 Klaviatura Ayarlarını başladın (bunun üçün bir başlatma cihazınızda bir simge olmalıdır).
  4. Android giriş metodu parametrlərində P1 Klaviaturasını aktiv edin. Daha yeni Android versiyalarında, P1 Klaviatura Ayarlarında "IME seçin" seçin və "Giriş metodlarını qur" düyməsini vuraraq P1 Klaviaturasını aktivləşdirə bilərsiniz. (Klaviatura bütün şifrələrinizi gördüyü barədə xəbərdarlıq alacaqsınız. Bu standart bir Android xəbərdarlığıdır: əlbəttə ki, klaviatura sürücüsü yazdığınız hər şeyi görür. Qorxursunuzsa, klaviaturanın mənbə koduna baxın və qurun özün.)
  5. "Cihaz seçin" düyməsinə vurun və Brainlink seçin (mənimki RN42-A308 olaraq görünür).
  6. P1 Klaviatura Ayarlarında "IME seçin" üzərinə vurun və P1 Klaviaturasını seçin.
  7. Qoşulmaq üçün bir az vaxt lazım ola bilər, amma hər şey yolunda gedirsə, əlaqənin olması barədə bir mesaj almalısınız

Və bitirdiniz! P1 Klaviaturasının əsaslandığı BluezIME müəllifinə hədiyyə etməkdən çekinmeyin.

Android 4.0+ -da, mətn sahələrində giriş metodlarını dəyişməyə imkan verən bir bildiriş olacaq, buna görə asanlıqla başqa bir giriş metoduna keçə bilərsiniz.

Klaviatura üçün yazdığım sürücü çox sadədir. Adi düymələri dəstəkləyir, ancaq bir çox xüsusi vurğulu düymələri və ya digər xüsusi şeyləri dəstəkləmir. Mən iki düyməni bir evlə (FN-1 və boşluğun solundakı açar) Ev olaraq istifadə etmək üçün əlavə etdim. Windows düyməsini və Menyu olaraq FN-2 və Axtarış olaraq FN-3. Həmçinin, ctrl-a, c, v, x gözlənildiyi kimi işləyir.

Klaviatura ilə Galaxy S2 telefonumda bu Təlimatın tam layihəsini yazdığım qədər yaxşı işləyir.

Addım 5: Digər Klaviaturalar

Digər Klaviaturalar
Digər Klaviaturalar
Digər Klaviaturalar
Digər Klaviaturalar

Digər infraqırmızı klaviatura ilə təcrübə aparmaq istəyirsinizsə, hansı siqnalları göndərdiklərini və hansı sürətdə olduğunu başa düşməlisiniz. IrDA uyğun proqrama yenilənmiş Brainlink ilə RealTerm ilə Brainlinkə qoşula bilərsiniz. Brainlink imzası olan təkrarlanan "BL" siqnalını gördükdə yazın:

*J1Z

Ulduz diqqət tələb edir, J1 9600 baud IrDA -ya keçir (yalnız J -dən sonra 1 -i yazmalısınız, yoxsa bir səhv alacaqsınız). Z serial-to-Bluetooth körpü rejimi üçündür.

Onaltılıq kodlarını göstərmək üçün RealTerm -ə keçin və klaviaturadakı düymələri basın və bunun məna verə biləcəyini görün.

Serial körpü rejimindən çıxmaq üçün Brainlink -dən istifadə edin.

Düşünürəm ki, 9600 baud düzgün baud dərəcəsidir. Əks təqdirdə, Brainlink -in ötürmə sürətini dəyişə bilərsiniz. 57600 baud sınayaraq başlayardım:

*J1u57Z

sonra 1200 baud:

*J1u12Z

Klaviaturanın məlumatlarını necə göndərdiyini anladıqdan sonra sürücümün kodunu dəyişdirin. Yəqin ki, PalmOneWirelessKeyboard.javadakı nömrələri dəyişdirmək kifayətdir.

Tövsiyə: