Günstigster und einfachster Weg, eine Bluetooth-Tastatur / -Maus zu implementieren?

Ich denke darüber nach, ein Gerät zum Senden von Text und wahrscheinlich Mausbewegungen an einen Computer zu bauen, aber ich möchte, dass es drahtlos und mit vielen Computern/PDAs/Telefonen ohne einen speziellen Dongle usw. kompatibel ist. Also dachte ich: „Hey, Bluetooth ist ein Standard für Eingabegeräte und viele Computer/PDAs/Telefone haben es eingebaut!" Aber wie bekommt man die Daten in das Bluetooth am anderen Ende?

  • Ich könnte einen Bluetooth- IC kaufen und eine Platine dafür bauen, aber ich kann nicht einmal einen Ort finden, an dem ich sie in kleinen Mengen kaufen kann, oder Dokumentation finden, ohne Teil eines Unternehmens zu sein und NDAs zu unterzeichnen usw.
  • Ich könnte das sehr beliebte Arduino mit dem Bluetooth-Adapter lernen , aber das würde 149,95 $ kosten, was nicht das war, was ich im Sinn hatte, und ich weiß nicht, ob es überhaupt als Tastatur/Maus fungieren kann.
  • Ich könnte eine billige USB-Tastatur kaufen und sie auseinander nehmen , herausfinden, wie die Tasten den Datenleitungen zugeordnet sind, und sie einfach entsprechend stimulieren. Maus ist jedoch nicht so einfach.

Das letzte scheint das Beste zu sein, aber hast du noch andere Ideen?

Ich möchte kein generisches Serial-over-Bluetooth-Board, es sei denn, es kann so konfiguriert werden, dass es am anderen Ende wie eine Standard-Bluetooth-Tastatur / -Maus aussieht.

Antworten (3)

Sie werden feststellen, dass dies häufig der Fall ist, wenn Sie versuchen, etwas aus handelsüblichen Teilen zu bauen, das ein vorhandenes Produkt dupliziert, fast immer kosten die Teile allein mehr als das vorhandene Produkt. Der Grund dafür ist, dass sie ihr Produkt in Massenproduktion herstellen können, der Kauf von Teilen in großen Mengen die Kosten senkt usw.

Schauen Sie sich die „Serial-over-Bluetooth-Boards“ genau an, einige von ihnen unterstützen tatsächlich unterschiedliche Profile. Was Sie suchen, ist ein Modul, das das Bluetooth-HID-Profil (Human Interface Device, auch bekannt als Maus, Tastatur, Joystick, Wii-Fernbedienung usw.) unterstützt.

Schauen Sie sich diese vorherige Frage an, sie listet mehrere Bluetooth-Module auf, die Sie in Einzelmengen zu ziemlich günstigen Preisen kaufen können, einige oder alle von ihnen sollten HID unterstützen.

Ok. Aber welche genau und wie viel Arbeit ist damit verbunden, sie zur Unterstützung zu bewegen?
Um welche genau zu finden: Klicken Sie auf jeden von ihnen und lesen Sie die Seite und sehen Sie nach, ob irgendwo darauf „HID“ steht. Dann, wenn Sie wissen wollen, wie viel Arbeit es wäre: Lesen Sie das Datenblatt für das Modul und sehen Sie, wie viel Sie tun müssen, um es zu initialisieren, Ereignisse zu senden usw. Viele der Module können Sie über UART kommunizieren, was normalerweise der Fall ist ziemlich einfach von einem Mikrocontroller aus, mit "AT"-Befehlen, ähnlich wie früher Modems funktionierten. Auch hier sollte das Datenblatt die verfügbaren Befehle auflisten.

Am besten nehmen Sie eine Kombination aus Bluetooth-Tastatur und -Maus auseinander und bauen sie wie beschrieben nach. Setzen Sie ein Zielfernrohr auf die Mauslinien, bevor Sie es zerstören, damit Sie sehen können, was Sie tun müssen.

Das Problem beim Kauf eines Moduls (von denen die meisten sofort einsatzbereite SPP/DUN-Profile ausführen und sich wie eine serielle Schnittstelle verhalten) besteht darin, dass Sie die SDKs, die zum Umprogrammieren dieser Chips für etwas anderes erforderlich sind, nicht in die Hände bekommen können. Sie benötigen ein Modul mit einer HCI ("Host Controller Interface") Firmware. Dadurch wird der Bluetooth-Stack für Ihren Mikrocontroller über eine gut spezifizierte serielle Schnittstelle verfügbar gemacht. Sie benötigen ein gutes Verständnis von Bluetooth, da es erforderlich ist, das Modul dazu zu bringen, die über HCI empfangenen Ereignisse zu interpretieren und die Zustandsmaschine durch Aufrufen des nächsten Schritts über HCI voranzutreiben. Die gute Nachricht ist, dass es viele Beispiele gibt, die man sich ansehen kann, da hostseitige Bluetooth-Schnittstellen dies dem Betriebssystem aussetzen.

Ein ideales Modul (falls es so etwas gibt) wäre ein Bluetooth 4.1-Modul mit BLE-Unterstützung, das HOGP (HID over GATT-Protokoll) für einen Mikrocontroller verfügbar macht. HOGP ermöglicht die Verwendung von USB-HID-Berichtsdeskriptoren und kommt einem "drahtlosen USB" sehr nahe. Leider ist die BT4.1/HOGP-Unterstützung erst in den neuesten Versionen von Android und Windows 8 integriert. Ein Modul, das mit einem Mikrocontroller kommuniziert und ihn Berichtsdeskriptoren festlegen und dann Berichte senden lässt, wäre eine sehr praktische Sache.

Es ist wahrscheinlich nicht die Lösung, nach der Sie suchen, aber ich dachte, sie wäre für die Frage relevant:

https://serverfault.com/questions/43615/setup-a-linux-computer-to-act-as-a-bluetooth-keyboard-mouse