¿La forma más barata y sencilla de implementar un teclado/ratón Bluetooth?

Estoy pensando en construir un dispositivo para enviar texto y probablemente el movimiento del mouse a una computadora, pero quiero que sea inalámbrico y compatible con muchas computadoras/PDA/teléfonos sin un dongle especializado, etc. Así que pensé: "Oye, Bluetooth es un estándar para dispositivos de entrada y muchas computadoras/PDA/teléfonos lo tienen incorporado". Pero, ¿cómo obtener los datos en el Bluetooth en el otro extremo?

  • Podría comprar un IC Bluetooth y construir una PCB para él, pero ni siquiera puedo encontrar un lugar para comprarlos en pequeñas cantidades, o encontrar documentación sin ser parte de una empresa y firmar NDA, etc.
  • Podría aprender el muy popular Arduino con el adaptador Bluetooth , pero esto costaría $149.95, que no es lo que tenía en mente, y no sé si incluso puede actuar como un teclado/ratón.
  • Podría comprar un teclado USB barato y desarmarlo , descubrir cómo las teclas se asignan a las líneas de datos y simplemente estimularlas adecuadamente. Sin embargo, el mouse no es tan fácil.

Lo último parece lo mejor, pero ¿tienes alguna otra idea?

No quiero una placa genérica serial-over-Bluetooth, a menos que pueda configurarse para parecerse a un teclado/ratón Bluetooth estándar en el otro extremo.

Respuestas (3)

Descubrirá que este suele ser el caso, cuando intenta construir algo a partir de piezas listas para usar que duplican un producto existente, casi siempre las piezas por sí solas costarán más que el producto existente. La razón es que pueden producir en masa su producto, comprar piezas a granel reduce los costos, etc.

Fíjese bien en las 'placas seriales sobre Bluetooth', algunas de ellas de hecho soportan diferentes perfiles. Lo que está buscando es un módulo que admita el perfil Bluetooth HID (dispositivo de interfaz humana, también conocido como mouse, teclado, joystick, control remoto wii, etc.).

Consulte esta pregunta anterior , enumera varios módulos bluetooth, que puede comprar en cantidades individuales a precios bastante razonables, algunos o todos deberían ser compatibles con HID.

Está bien. Pero, ¿cuáles en concreto y cuánto trabajo implica conseguir que lo apoyen?
Para encontrar cuáles específicamente: haga clic en cada uno de ellos, lea la página y vea si dice "HID" en alguna parte. Luego, si desea saber cuánto trabajo sería: lea la hoja de datos del módulo y vea cuánto tiene que hacer para inicializarlo, enviar eventos, etc. Muchos de los módulos con los que puede comunicarse a través de UART, que generalmente es bastante simple desde un microcontrolador, con comandos "AT", similar a cómo funcionaban los módems en los viejos tiempos. Nuevamente, la hoja de datos debe enumerar los comandos disponibles.
Entonces como esto? sparkfun.com/products/10253

Lo mejor que puedes hacer es desarmar una combinación de teclado y mouse Bluetooth y aplicarles ingeniería inversa como lo describiste. Ponga un alcance en las líneas del mouse antes de destruirlo para que pueda ver lo que necesita hacer.

El problema con la compra de un módulo (la mayoría de los cuales harán perfiles SPP/DUN listos para usar y actuarán como un puerto serie) es que no puede obtener los SDK necesarios para reprogramar esos chips para hacer otra cosa. Necesita un módulo con un firmware HCI ("Interfaz de controlador de host"). Esto expondrá la pila de Bluetooth a su microcontrolador a través de una interfaz serial bien especificada. Necesitará una buena comprensión de Bluetooth porque lograr que el módulo haga cualquier cosa requerirá interpretar los eventos recibidos a través de HCI y hacer avanzar la máquina de estado invocando el siguiente paso a través de HCI. La buena noticia es que hay muchos ejemplos para mirar porque las interfaces Bluetooth del lado del host exponen esto al sistema operativo.

Un módulo ideal (si tal cosa existe) sería un módulo Bluetooth 4.1 con soporte BLE que expone HOGP (protocolo HID sobre GATT) a un microcontrolador. HOGP le permite usar descriptores de informes USB HID y se acerca mucho a ser un "USB inalámbrico". Desafortunadamente, la compatibilidad con BT4.1/HOGP no está incorporada hasta Android y Windows 8 muy recientes. Un módulo que hablara con un microcontrolador y le permitiera establecer descriptores de informes y luego enviar informes sería algo muy útil.

No es probable que sea la solución que está buscando, pero pensé que era relevante para la pregunta:

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