Daftar Isi:

Gunakan Keyboard Inframerah Palm Dengan Perangkat Android: 5 Langkah
Gunakan Keyboard Inframerah Palm Dengan Perangkat Android: 5 Langkah

Video: Gunakan Keyboard Inframerah Palm Dengan Perangkat Android: 5 Langkah

Video: Gunakan Keyboard Inframerah Palm Dengan Perangkat Android: 5 Langkah
Video: 8 Fitur Canggih & Keren 🔥 HANYA ADA DI INFINIX 2024, November
Anonim
Gunakan Keyboard Inframerah Palm Dengan Perangkat Android
Gunakan Keyboard Inframerah Palm Dengan Perangkat Android
Gunakan Keyboard Inframerah Palm Dengan Perangkat Android
Gunakan Keyboard Inframerah Palm Dengan Perangkat Android
Gunakan Keyboard Inframerah Palm Dengan Perangkat Android
Gunakan Keyboard Inframerah Palm Dengan Perangkat Android

Saya memiliki Keyboard Nirkabel PalmOne dan saya ingin memiliki keyboard Bluetooth untuk ponsel saya. Satu-satunya masalah adalah bahwa keyboard PalmOne berbasis inframerah.

Saya juga memiliki perangkat Brainlink. Ini adalah perangkat kecil yang agak lucu untuk mediasi antara perangkat yang berbeda. Ini memiliki prosesor atxmega16, baterai yang dapat diisi ulang, beberapa sensor, radio Bluetooth, banyak port, kasing, dan beberapa firmware yang dapat diupgrade untuk mengendalikan semuanya. Brainlink dihentikan tetapi SurplusShed memilikinya seharga $ 39, dan mereka memiliki penjualan diskon 30-50% secara berkala untuk semuanya. Saya mendapatkannya seharga $20. Anda juga dapat menggunakan papan atxmega plus Bluetooth Anda sendiri (skema di sini), tetapi biaya Anda mungkin tidak lebih rendah.

Bagaimanapun, setelah mengidentifikasi di mana garis sinyal pada keyboard, melakukan upgrade firmware untuk Brainlink dan menulis driver Android untuk keyboard, itu bekerja dengan cukup baik. Karena sebagian besar pekerjaan adalah penyelidikan dan perangkat lunak, sekarang setelah selesai, ini adalah proyek yang cukup mudah bagi siapa saja yang memiliki Brainlink. Anda membutuhkan:

  • Papan Ketik Nirkabel PalmOne
  • tautan otak
  • Tether 3- atau 8-pin untuk Brainlink (konektor gaya JST pitch 1,25mm); Anda dapat menggunakan tether 8-pin yang disertakan dengan Brainlink tetapi Anda ingin memesan lebih banyak untuk proyek lain
  • Solder dan besi
  • Pita listrik
  • Opsional: Pengikat kait dan loop

Di masa lalu saya telah menggunakan Brainlink untuk menghubungkan ke headset Mindflex EEG dan Roomba. Ini sangat bagus untuk tugas penghubung serial-ke-Bluetooth. Saya hanya membuat konektor yang berbeda untuk perangkat yang berbeda, dan dapat memindahkan Brainlink di antara mereka.

Langkah 1: Latar Belakang

Latar belakang
Latar belakang
Latar belakang
Latar belakang
Latar belakang
Latar belakang

Jangan ragu untuk melewati deskripsi latar belakang ini.

Keyboard Nirkabel PalmOne mengirimkan datanya melalui LED IR pada tangkai, menggunakan IrDA. Sementara seseorang dapat menggunakan detektor IR untuk memecahkan kode data, ada cara yang lebih mudah. Jika Anda melipat separuh keyboard, tiga strip tembaga akan terlihat. Yang tengah adalah tanah dan yang bawah adalah saluran transmisi. Menempatkan mereka ke osiloskop memverifikasi bahwa sinyal pada saluran transmisi dikodekan di sekitar 9600 (lebih tepatnya: 9760) 8 N 2, dengan tingkat tinggi sekitar 1,56V, dan dengan pembentukan pulsa irDA: 1 tinggi, dan pulsa positif ambil 3/16 waktu bit.

Sayangnya, semua ini berarti kita tidak bisa begitu saja menghubungkannya ke modul Bluetooth sederhana (setidaknya tanpa membuat firmware khusus untuk itu), seperti yang saya lakukan di proyek Mindflex saya. Untungnya, atxmega di Brainlink memiliki mode irDA untuk UART-nya. Sangat mudah untuk menambahkan sedikit kode ke firmware Brainlink yang memungkinkan kode "J1" untuk mengubahnya ke mode IrDA. Saya berharap level tinggi 1.56V tidak cukup untuk atxmega, tetapi saya terkejut ketika saya menghubungkan strip tembaga ke GND dan UART Receive di Brainlink dan melihat hasilnya dalam Realterm: Saya mendapatkan urutan enam byte yang bagus dari keyboard.

Ternyata urutan enam byte hanya merupakan kemasan untuk kode pemindaian byte tunggal (dengan rilis penandaan bit tinggi). Secara khusus, urutannya adalah FF C0 xx yy zz C1, di mana xx adalah kode pindaian, yy dikalikan dengan FF, dan zz dikalikan dengan 67. (Akibatnya, kode pindaian ditransmisikan tiga kali: sekali jelas dan dikodekan dua kali. Saya menduga ini karena irDA rentan terhadap korupsi, dan Anda dapat menggunakan decoding mayoritas untuk mendapatkan byte.) Setelah itu, satu-satunya kesulitan perangkat keras adalah menemukan tempat untuk menyolder konektor pada keyboard. Dan itu tidak sulit.

Di sisi perangkat lunak, sementara mungkin saya mungkin dapat mengganti modul Bluetooth RN-42 dalam mode Brainlink ke HID, yang berpotensi merusak, karena jika modul tidak beralih kembali ke SPP, saya tidak akan dapat berbicara dengan Brainlink melalui protokol Bluetooth-nya.

Hal yang lebih mudah untuk dilakukan hanyalah mengambil aplikasi keyboard BluezIME open source yang memungkinkan berbagai gamepad Bluetooth berfungsi sebagai pengontrol Android dan menambahkan mode untuk urutan enam byte Palm One Wireless Keyboard. Aplikasi yang dihasilkan adalah Keyboard P1 gratis di Google Play sekarang (kode sumber di github).

Langkah 2: Meningkatkan Firmware Brainklink

Meningkatkan Firmware Brainklink
Meningkatkan Firmware Brainklink
Meningkatkan Firmware Brainklink
Meningkatkan Firmware Brainklink

Untuk mengaktifkan dukungan data serial format IrDA di Brainlink, Anda perlu memuat firmware khusus saya. Sangat mudah dengan perangkat Android dan pengunggah firmware yang saya tulis (omong-omong, Anda dapat memodifikasi pengunggah menjadi pengunggah flash atmega/atxmega AVR109 tujuan umum).

  1. Pasangkan Brainlink (PIN 1234) dengan perangkat Android--Anda tetap harus melakukannya untuk menyambungkan keyboard
  2. Unduh Pengunggah Firmware Brainlink saya dari Google Play (sumber untuk pengunggah dan firmware di github).
  3. Matikan Brainlink dan sambungkan pin 8 dan 2 (anehnya, pin 8 adalah pin paling kiri, dan pin 1 di kanan) pada port 8-pin.
  4. Sambil memegang pin yang terhubung, nyalakan Brainlink. LED-nya harus berubah menjadi biru.
  5. Pilih firmware khusus yang Anda inginkan (jika Anda memiliki Roomba, salah satu firmware bekerja lebih baik dengan Roombas yang lebih baru dan yang lainnya dengan yang lebih lama), dan tekan "Unggah".
  6. Seharusnya begitu, meskipun jika Anda mengalami kesulitan koneksi, Anda mungkin perlu mencoba lebih dari sekali.

Brainlink Anda sekarang lebih pintar: tidak hanya mendukung pembacaan data dari beberapa perangkat IrDA (setelah Anda menemukan sinyal yang tidak termodulasi), tetapi juga berfungsi sebagai tautan Roomba-ke-Bluetooth standar, dan dapat menangkap data dari headset Mindflex EEG. Dan firmware kompatibel ke belakang.

Langkah 3: Menghubungkan Brainlink ke Keyboard

Menghubungkan Brainlink ke Keyboard
Menghubungkan Brainlink ke Keyboard
Menghubungkan Brainlink ke Keyboard
Menghubungkan Brainlink ke Keyboard
Menghubungkan Brainlink ke Keyboard
Menghubungkan Brainlink ke Keyboard

Anda memerlukan konektor tether yang sesuai dengan tiga pin paling kiri pada port 8-pin Brainlink. Ini adalah konektor gaya JST dengan jarak pin 1,25mm. Anda dapat menggunakan konektor tiga pin (pilihan saya) atau konektor 8 pin. Anda dapat menggunakan konektor 8-pin yang disertakan dengan Brainlink, tetapi kemudian Anda ingin memesan lebih banyak (saya menemukan konektor 3- dan 8-pin murah di ebay).

Buka tempat baterai keyboard dan keluarkan baterai. Di dekat sisi minus baterai, Anda akan menemukan dua pasang kabel yang terhubung bersama melalui konektor gaya JST. Jika warna Anda seperti milik saya, kabel hitam diarde (Anda dapat memeriksa resistansi antara itu dan terminal minus pada baterai) dan warna lain (coklat dan abu-abu) adalah sinyalnya.

Pada port 8-pin Brainlink Anda, koneksi paling kiri adalah ground (pin paling kiri dari port 8-pin) dan pin ketiga dari kiri adalah penerima serial. Solder kabel ground pada konektor Brainlink Anda ke kabel ground pada keyboard, dan kabel penerima di Brainlink ke jalur sinyal. Anda mungkin menemukan bahwa tidak ada ruang di area keyboard untuk koneksi solder dan konektor gaya JST yang ada di dalam keyboard. Jika demikian, lepaskan saja konektor gaya JST, dan solder kedua trio kabel yang relevan (dua kabel ground keyboard dan satu kabel ground Brainlink; dua kabel sinyal keyboard dan satu kabel penerima Brainlink).

Sangat menggoda untuk melepaskan sisi LED IR dari konektor gaya JST untuk menghemat masa pakai baterai. Jangan lakukan itu. Sinyal berantakan jika Anda melakukan itu. Saya memeriksa dengan osiloskop saya.

Buat lubang di bibir penutup baterai untuk melewati kabel tambatan Brainlink, gunakan pita listrik untuk menjaga kedua sambungan tetap terisolasi, dan ikat simpul kecil pelepas tegangan.

Akhirnya, ketika semuanya selesai, tutupi kontak yang tidak relevan pada tether Brainlink atau potong saja kabel yang tidak relevan.

Anda mungkin juga ingin merekatkan beberapa Velcro di Brainlink dan keyboard untuk menjaga Brainlink tetap di tempatnya.

Langkah 4: Menggunakan Dengan Perangkat Android

Menggunakan Dengan Perangkat Android
Menggunakan Dengan Perangkat Android
  1. Pasangkan Brainlink dengan perangkat Android Anda (PIN 1234).
  2. Instal aplikasi Keyboard P1 saya.
  3. Luncurkan Pengaturan Keyboard P1 (ikon untuk itu harus ada di peluncur Anda).
  4. Aktifkan Keyboard P1 di pengaturan metode input Android. Pada versi Android yang lebih baru, Anda dapat mengaktifkan Keyboard P1 dengan memilih "Pilih IME" di Pengaturan Keyboard P1, dan mengetuk "Atur metode input." (Anda akan mendapatkan peringatan bahwa keyboard melihat semua kata sandi Anda, dll. Itu adalah peringatan standar Android: tentu saja, driver keyboard melihat semua yang Anda ketik. Jika Anda takut, lihat kode sumber keyboard dan buat milikmu.)
  5. Ketuk "Pilih perangkat" dan pilih Brainlink Anda (milik saya muncul sebagai RN42-A308).
  6. Ketuk "Pilih IME" di Pengaturan Keyboard P1 dan pilih Keyboard P1.
  7. Mungkin perlu sedikit waktu untuk terhubung, tetapi Anda akan mendapatkan pesan tentang telah terhubung jika semuanya berjalan dengan baik

Dan Anda sudah selesai! Jangan ragu untuk menyumbang kepada penulis BluezIME yang menjadi dasar Keyboard P1.

Di Android 4.0+, saat berada di bidang teks akan ada notifikasi yang memungkinkan beralih metode input, sehingga Anda dapat dengan mudah beralih kembali ke metode input lain.

Driver yang saya tulis untuk keyboard sangat sederhana. Ini mendukung tombol biasa, tetapi tidak mendukung banyak tombol beraksen khusus atau hal khusus lainnya. Saya memang menambahkan dukungan untuk menggunakan dua tombol dengan home (FN-1 dan tombol di sebelah kiri spasi) sebagai Home, menggunakan tombol Windows dan FN-2 sebagai Menu dan FN-3 sebagai Pencarian. Juga, ctrl-a, c, v, x berfungsi seperti yang diharapkan.

Ini berfungsi cukup baik sehingga saya menulis draf pertama yang lengkap dari Instructable ini di ponsel Galaxy S2 saya dengan keyboard.

Langkah 5: Papan Ketik Lainnya

Keyboard lainnya
Keyboard lainnya
Keyboard lainnya
Keyboard lainnya

Jika Anda ingin bereksperimen dengan keyboard inframerah lainnya, Anda harus mencari tahu sinyal apa yang mereka kirim dan berapa baud ratenya. Dengan Brainlink yang diperbarui ke perangkat lunak yang kompatibel dengan IrDA, Anda dapat terhubung dengan RealTerm ke Brainlink. Saat Anda melihat sinyal "BL" berulang yang merupakan tanda tangan dari Brainlink, ketik:

*J1Z

Tanda bintang meminta perhatian, J1 beralih ke 9600 baud IrDA (hanya harus mengetik 1 dengan cepat setelah J atau Anda mendapatkan kesalahan). Z adalah untuk mode jembatan serial-ke-Bluetooth.

Alihkan RealTerm untuk menampilkan kode hex, dan tekan tombol pada keyboard dan lihat apakah Anda dapat memahaminya.

Untuk keluar dari mode jembatan serial, nyalakan Brainlink.

Saya menduga 9600 baud adalah baud rate yang tepat. Jika gagal, Anda dapat mengubah baud rate Brainlink. Saya akan mulai dengan mencoba 57600 baud:

*J1u57Z

dan kemudian 1200 baud:

*J1u12Z

Setelah Anda mengetahui bagaimana keyboard mengirimkan datanya, cukup ubah kode driver saya. Mungkin hanya mengganti angka di PalmOneWirelessKeyboard.java sudah cukup.

Direkomendasikan: