Pregunta breve: ¿cómo envío datos como características GATT desde un dispositivo BLE periférico (Android UNO + HM-10) a un dispositivo central (es decir, un teléfono inteligente Android?)
Estoy trabajando en un periférico BLE como proyecto de aprendizaje en este momento: estoy usando un Arduino Uno y un HM-10. Hasta ahora va bien: los sensores funcionan y puedo enviar estos datos desde Arduino Uno a Android usando un módulo HM-10 BLE (en realidad, un clon CC2541) en el servicio estándar y la característica de este dispositivo:
Trabajando de esta manera, el HM-10 emula una conexión serial bluetooth tradicional. ¡Todo bien hasta ahora!
Lo que me gustaría hacer ahora es enviar los datos utilizando los servicios y características aceptados por el GATT. Por ejemplo, digamos que me gustaría usar el servicio de velocidad y cadencia de carrera para enviar mis datos de forma que cualquier aplicación compatible pueda verlos. Necesitaría cambiar el servicio a 0x1814 y las características a:
Creo que podría hacer esto usando los comandos AT:
Creo que estoy bien con todo esto hasta ahora, pero no puedo encontrar orientación sobre cómo definir múltiples características y cómo enviar los datos de mi sensor a mi dispositivo central como características GATT.
Por ejemplo, mi velocidad es 10kmh-1 y mi cadencia es 80. ¿Cómo especifico las características GATT para esto y notifico al dispositivo central cuando cambian? También una pregunta adicional: ¿puedo incluir una característica adicional para el gradiente?
He buscado a fondo pero no puedo encontrar nada sobre esto. ¡Gracias!
AT+NOTI lamentablemente no es el comando correcto. El manual dice:
EN+NOTI[P1]
Si este valor se establece en 1, cuando el enlace ESTABLECIDO o PERDIDO, el módulo enviará una cadena OK+CONN o OK+LOST a través de UART.
Creo que no es posible hacer lo que quieres. He estado buscando todo el día, pero solo hay esta característica personalizada, y solo puede cambiar el UUID corto. No encontré ninguna forma de obtener datos de otros UUID en modo central.
Aquí hay más información: BLECentral - Módulo HM-10 BLE
Editar: con la nueva versión de firmware> V546, existe la posibilidad de usar UUIds de 128 bits. Un archivo Léame + el software necesario se encuentra aquí: Sitio web de jnhuamao . Y V605 dice:
Desafortunadamente, todavía no logré actualizar el firmware.
Creo que estás buscando AT+NOTI
. Consulte la hoja de datos para obtener información específica, pero notificar es lo que pasa de esclavo a maestro.
c. temprano