Mục lục:

Sử dụng bàn phím hồng ngoại Palm với thiết bị Android: 5 bước
Sử dụng bàn phím hồng ngoại Palm với thiết bị Android: 5 bước

Video: Sử dụng bàn phím hồng ngoại Palm với thiết bị Android: 5 bước

Video: Sử dụng bàn phím hồng ngoại Palm với thiết bị Android: 5 bước
Video: Tận Dụng Điện Thoại Cũ Hỏng Vỡ Màn Hình Làm Androi TV Cấu Hình Siêu Khủng chỉ 1 bước đơn giản này 2024, Tháng mười một
Anonim
Sử dụng bàn phím hồng ngoại Palm với thiết bị Android
Sử dụng bàn phím hồng ngoại Palm với thiết bị Android
Sử dụng bàn phím hồng ngoại Palm với thiết bị Android
Sử dụng bàn phím hồng ngoại Palm với thiết bị Android
Sử dụng bàn phím hồng ngoại Palm với thiết bị Android
Sử dụng bàn phím hồng ngoại Palm với thiết bị Android

Tôi đã có Bàn phím không dây PalmOne ngồi xung quanh và tôi muốn có bàn phím Bluetooth cho điện thoại của mình. Vấn đề duy nhất là bàn phím PalmOne dựa trên tia hồng ngoại.

Tôi cũng đã có một thiết bị Brainlink. Đây là một thiết bị nhỏ khá dễ thương để làm trung gian giữa các thiết bị khác nhau. Nó có bộ xử lý atxmega16, pin có thể sạc lại, một số cảm biến, radio Bluetooth, một loạt các cổng, vỏ máy và một số phần mềm có thể nâng cấp để kiểm soát tất cả. Brainlink đã ngừng hoạt động nhưng SurplusShed có nó với giá 39 đô la và họ có giảm giá định kỳ 30-50% cho mọi thứ. Tôi đã nhận nó với giá 20 đô la. Bạn cũng có thể sử dụng bo mạch atxmega cộng với Bluetooth của riêng mình (sơ đồ ở đây), nhưng chi phí của bạn có thể không thấp hơn.

Dù sao, sau khi xác định được vị trí của đường tín hiệu trên bàn phím, thực hiện nâng cấp firmware cho Brainlink và viết trình điều khiển Android cho bàn phím, nó hoạt động khá tốt. Vì hầu hết công việc là điều tra và phần mềm, bây giờ đã hoàn thành, đó là một dự án khá dễ dàng cho bất kỳ ai có Brainlink. Bạn cần:

  • Bàn phím không dây PalmOne
  • Liên kết não
  • Một dây buộc 3 hoặc 8 chân cho Brainlink (đầu nối kiểu JST mũi nhọn 1,25mm); bạn có thể sử dụng dây buộc 8 chân đi kèm với Brainlink nhưng bạn sẽ muốn đặt hàng nhiều hơn cho các dự án khác
  • Hàn và sắt
  • Băng điện
  • Tùy chọn: Dây buộc móc và vòng lặp

Trước đây, tôi đã sử dụng Brainlink để kết nối với tai nghe Mindflex EEG và Roomba. Nó thực sự tuyệt vời cho các tác vụ bắc cầu nối tiếp với Bluetooth. Tôi chỉ tạo các đầu nối khác nhau cho các thiết bị khác nhau và có thể di chuyển Brainlink giữa chúng.

Bước 1: Bối cảnh

Tiểu sử
Tiểu sử
Tiểu sử
Tiểu sử
Tiểu sử
Tiểu sử

Vui lòng bỏ qua phần mô tả nền này.

Bàn phím không dây PalmOne gửi dữ liệu của nó thông qua đèn LED hồng ngoại trên thân, sử dụng IrDA. Mặc dù người ta có thể sử dụng máy dò IR để giải mã dữ liệu, nhưng có một cách dễ dàng hơn. Nếu bạn gập nửa bàn phím, ba dải đồng sẽ lộ ra. Cái ở giữa là mặt đất và cái dưới cùng là đường truyền. Đưa chúng vào máy hiện sóng xác minh rằng tín hiệu trên đường truyền được mã hóa ở khoảng 9600 (chính xác hơn là: 9760) 8 N 2, với mức cao khoảng 1,56V và với định dạng xung irDA: 1 là cao và xung dương mất 3/16 thời gian bit.

Thật không may, tất cả những điều này có nghĩa là chúng ta không thể chỉ cắm nó vào một mô-đun Bluetooth đơn giản (ít nhất là không tạo phần sụn tùy chỉnh cho nó), giống như tôi đã làm trong dự án Mindflex của mình. May mắn thay, atxmega trong Brainlink có chế độ irDA cho UART của nó. Thật đơn giản để thêm một chút mã vào phần sụn Brainlink cho phép mã "J1" chuyển nó sang chế độ IrDA. Tôi mong đợi mức cao 1,56V là không đủ cho atxmega, nhưng tôi đã rất ngạc nhiên khi kết nối các dải đồng với GND và UART Nhận trên Brainlink và xem kết quả trong Realterm: Tôi đã nhận được chuỗi sáu byte đẹp từ bàn phím.

Hóa ra là chuỗi sáu byte chỉ đóng gói cho một mã quét byte duy nhất (với bản phát hành đánh dấu bit cao). Cụ thể, chuỗi là FF C0 xx yy zz C1, trong đó xx là mã quét, yy là xx xor'ed với FF và zz là xx xor'ed với 67. (Thực tế, mã quét được truyền ba lần: một lần rõ ràng và được mã hóa hai lần. Tôi đoán điều này là do irDA dễ bị hỏng và vì vậy bạn có thể sử dụng giải mã đa số để lấy byte.) Sau đó, khó khăn phần cứng duy nhất là tìm một nơi để hàn một đầu nối trên bàn phím. Và điều đó không khó.

Về mặt phần mềm, mặc dù có lẽ tôi có thể chuyển mô-đun Bluetooth RN-42 trong Brainlink sang chế độ HID, điều này có tiềm năng rất lớn, vì nếu mô-đun không chuyển về SPP, tôi sẽ không thể nói chuyện với liên kết Brain qua giao thức Bluetooth của nó.

Điều dễ dàng hơn để làm là sử dụng ứng dụng bàn phím BluezIME mã nguồn mở cho phép các gamepad Bluetooth khác nhau hoạt động như bộ điều khiển Android và thêm một chế độ cho chuỗi sáu byte của Bàn phím Không dây Palm One. Ứng dụng kết quả là Bàn phím P1 miễn phí trong Google Play ngay bây giờ (mã nguồn trên github).

Bước 2: Nâng cấp chương trình cơ sở Brainklink

Nâng cấp chương trình cơ sở Brainklink
Nâng cấp chương trình cơ sở Brainklink
Nâng cấp chương trình cơ sở Brainklink
Nâng cấp chương trình cơ sở Brainklink

Để bật hỗ trợ dữ liệu nối tiếp định dạng IrDA trên Brainlink, bạn cần tải chương trình cơ sở tùy chỉnh của tôi. Thật dễ dàng với thiết bị Android và trình tải lên chương trình cơ sở mà tôi đã viết (nhân tiện, bạn có thể sửa đổi trình tải lên thành trình tải lên flash atmega / atxmega AVR109 mục đích chung).

  1. Ghép nối Brainlink (PIN 1234) với thiết bị Android - bạn vẫn phải làm điều đó để kết nối bàn phím
  2. Tải xuống Trình tải lên chương trình cơ sở Brainlink của tôi từ Google Play (nguồn cho trình tải lên và chương trình cơ sở trên github).
  3. Tắt Brainlink và kết nối các chân 8 và 2 (kỳ lạ thay, chân 8 là chân ngoài cùng bên trái, và chân 1 ở bên phải) trên cổng 8 chân.
  4. Giữ các chân đã kết nối, bật Brainlink. Đèn LED của nó sẽ chuyển sang màu xanh lam.
  5. Chọn chương trình cơ sở tùy chỉnh mà bạn muốn (nếu bạn có Roomba, một trong các chương trình cơ sở hoạt động tốt hơn với Roombas mới hơn và phần còn lại với những cái cũ hơn) và nhấn "Tải lên".
  6. Đó là điều nên làm, mặc dù nếu bạn gặp khó khăn về kết nối, bạn có thể cần thử nhiều lần.

Brainlink của bạn giờ đây thông minh hơn: nó không chỉ hỗ trợ đọc dữ liệu từ một số thiết bị IrDA (khi bạn định vị tín hiệu không được điều chế), mà còn hoạt động như một liên kết Roomba-to-Bluetooth tiêu chuẩn và có thể thu thập dữ liệu từ tai nghe Mindflex EEG. Và phần sụn tương thích ngược.

Bước 3: Kết nối Brainlink với Bàn phím

Kết nối Brainlink với Bàn phím
Kết nối Brainlink với Bàn phím
Kết nối Brainlink với Bàn phím
Kết nối Brainlink với Bàn phím
Kết nối Brainlink với Bàn phím
Kết nối Brainlink với Bàn phím

Bạn sẽ cần một đầu nối tether phù hợp với ba chân ngoài cùng bên trái trên cổng 8 chân của Brainlink. Đây là các đầu nối kiểu JST với khoảng cách chân 1,25mm. Bạn có thể sử dụng đầu nối ba chân (lựa chọn của tôi) hoặc đầu nối 8 chân. Bạn có thể sử dụng đầu nối 8 chân đi kèm với Brainlink, nhưng sau đó bạn sẽ muốn đặt mua nhiều loại hơn (tôi thấy đầu nối 3 và 8 chân rẻ trên ebay).

Mở khoang chứa pin của bàn phím và tháo pin. Ở gần cạnh bên của pin, bạn sẽ tìm thấy hai cặp dây được kết nối với nhau thông qua đầu nối kiểu JST. Nếu màu của bạn giống màu của tôi, thì các dây màu đen được nối đất (bạn chỉ có thể kiểm tra điện trở giữa đầu nối đó và cực trừ trên pin) và các màu khác (nâu và xám) là tín hiệu.

Trên cổng 8 chân Brainlink của bạn, kết nối ngoài cùng bên trái được nối đất (chân ngoài cùng bên trái của cổng 8 chân) và chân thứ ba từ bên trái là nhận nối tiếp. Hàn dây nối đất trên đầu nối Brainlink của bạn với dây nối đất trên bàn phím và dây nhận trên Brainlink với dây tín hiệu. Bạn có thể thấy rằng không có khoảng trống trong khu vực bàn phím cho kết nối hàn và đầu nối kiểu JST bên trong bàn phím. Nếu vậy, chỉ cần tháo đầu nối kiểu JST và hàn cả ba dây nối có liên quan (hai dây nối đất bàn phím và một dây nối đất Brainlink; hai dây tín hiệu bàn phím và một dây nhận Brainlink).

Bạn nên ngắt kết nối phía IR LED của đầu nối kiểu JST để tiết kiệm pin. Đừng làm điều đó. Tín hiệu sẽ tan rã nếu bạn làm điều đó. Tôi đã kiểm tra bằng máy hiện sóng của mình.

Tạo một lỗ trên nắp pin để các dây của Brainlink tether đi qua, sử dụng băng dính điện để giữ cách ly hai kết nối và buộc một nút giảm lực căng nhỏ.

Cuối cùng, khi tất cả đã hoàn tất, hãy che các điểm tiếp xúc không liên quan trên dây buộc Brainlink hoặc chỉ cần cắt các dây không liên quan.

Bạn cũng có thể muốn dán một số Velcro trên Brainlink và bàn phím để giữ Brainlink ở đúng vị trí.

Bước 4: Sử dụng với thiết bị Android

Sử dụng với thiết bị Android
Sử dụng với thiết bị Android
  1. Ghép nối Brainlink với thiết bị Android của bạn (mã PIN 1234).
  2. Cài đặt ứng dụng Bàn phím P1 của tôi.
  3. Khởi chạy Cài đặt bàn phím P1 (biểu tượng cho nó phải có trong trình khởi chạy của bạn).
  4. Bật Bàn phím P1 trong cài đặt phương thức nhập Android. Trên các phiên bản Android mới hơn, bạn có thể bật Bàn phím P1 bằng cách chọn "Chọn IME" trong Cài đặt Bàn phím P1 và nhấn vào "Thiết lập phương thức nhập". (Bạn sẽ nhận được cảnh báo rằng bàn phím nhìn thấy tất cả mật khẩu của bạn, v.v. Đó là cảnh báo tiêu chuẩn của Android: tất nhiên, trình điều khiển bàn phím nhìn thấy mọi thứ bạn nhập. Nếu bạn sợ hãi, hãy xem mã nguồn của bàn phím và xây dựng của riêng bạn.)
  5. Nhấn vào "Chọn thiết bị" và chọn Liên kết não của bạn (liên kết của tôi hiển thị là RN42-A308).
  6. Nhấn vào "Chọn IME" trong Cài đặt Bàn phím P1 và chọn Bàn phím P1.
  7. Có thể mất một chút thời gian để kết nối, nhưng bạn sẽ nhận được thông báo về việc đã kết nối nếu mọi việc suôn sẻ

Và bạn đã hoàn thành! Vui lòng đóng góp cho tác giả của BluezIME dựa trên Bàn phím P1.

Trên Android 4.0+, khi ở trong các trường văn bản sẽ có thông báo cho phép chuyển đổi phương thức nhập, do đó bạn có thể dễ dàng chuyển lại phương thức nhập khác.

Trình điều khiển tôi đã viết cho bàn phím rất đơn giản. Nó hỗ trợ các phím thông thường, nhưng không hỗ trợ nhiều phím có dấu đặc biệt hoặc những thứ đặc biệt khác. phím Windows và FN-2 dưới dạng Menu và FN-3 dưới dạng Tìm kiếm. Ngoài ra, ctrl-a, c, v, x hoạt động như mong đợi.

Nó hoạt động tốt đến mức tôi đã viết bản nháp hoàn chỉnh đầu tiên của cuốn sách Có thể hướng dẫn này trên điện thoại Galaxy S2 bằng bàn phím.

Bước 5: Bàn phím khác

Bàn phím khác
Bàn phím khác
Bàn phím khác
Bàn phím khác

Nếu bạn muốn thử nghiệm với các bàn phím hồng ngoại khác, bạn sẽ phải tìm ra tín hiệu mà chúng gửi đi và tốc độ truyền là bao nhiêu. Với Brainlink được cập nhật lên phần mềm tương thích với IrDA, bạn có thể kết nối RealTerm với Brainlink. Khi bạn thấy tín hiệu "BL" lặp lại là chữ ký của Brainlink, hãy nhập:

* J1Z

Dấu hoa thị yêu cầu chú ý, J1 chuyển sang 9600 baud IrDA (chỉ cần gõ nhanh số 1 sau chữ J nếu không bạn sẽ gặp lỗi). Chữ Z dành cho chế độ kết nối nối tiếp với Bluetooth.

Chuyển RealTerm để hiển thị mã hex và nhấn các phím trên bàn phím và xem liệu bạn có hiểu được nó hay không.

Để thoát khỏi chế độ cầu nối tiếp, hãy xoay liên kết Brainlink.

Tôi đoán 9600 baud là tốc độ baud phù hợp. Nếu không, bạn có thể thay đổi tốc độ truyền của Brainlink. Tôi sẽ bắt đầu bằng cách thử 57600 baud:

* J1u57Z

và sau đó là 1200 baud:

* J1u12Z

Khi bạn đã tìm ra cách bàn phím gửi dữ liệu, chỉ cần sửa đổi mã trình điều khiển của tôi. Có lẽ chỉ cần thay đổi các số trong PalmOneWirelessKeyboard.java là đủ.

Đề xuất: