La comunicación entre el dispositivo central (o master) Arduino Nano 33 BLE Sense y el dispositivo periférico (o esclavo) HM-10 Bluetooth 4.0 BLE conectado al Escornabot se realizará mediante bluetooth, concretamente mediante la tecnología Bluetooth Low Energy.
En los siguientes enlaces se explican a los conceptos básicos de la tecnología Bluetooth Low Energy que nos ayudará a entender su funcionamiento (sobre todo entender los conceptos de servicios y características).
https://www.arduino.cc/en/Reference/ArduinoBLE
https://learn.adafruit.com/introduction-to-bluetooth-low-energy/introduction
Para ello lo primero que tenemos que hacer es identificar qué servicio y qué característica tiene nuestro dispositivo periférico HM-10 para que nuestro dispositivo central se pueda conectar y enviarle instrucciones.
-
- Para ello conectaremos el módulo HM-10 al Escornabot y activaremos el robot.
- Utilizaremos la aplicación LightBlue® Explorer ( o equivalente) para vincular el módulo HM-10 a nuestro móvil y descubrir el servicio y característica que nos interesa para nuestro propósito.
-
- Una vez detectado el dispositivo, nos conectaremos a él y veremos que dentro del apartado de GATT SERVICES & CHARACTERISTICS dispone del servicio con el identificador 0000ffe0-0000-1000-8000-00805f9b34fb que es el que nos interesa:
-
- Dentro de ese servicio veremos que existe la característica con el identificador 0000ffe1-0000-1000-8000-00805f9b34fb que es la que nos interesa y que tiene propiedades de escritura y lectura ( en nuestro proyecto solo utilizaremos la propiedad de escritura para enviar las instrucciones al robot):
-
- En este punto podríamos desde la propia aplicación enviar instrucciones al robot para comprobar su funcionamiento (Ejemplo: Escribir n\n dentro del apartado WRITTEN VALUES y darle a WRITE→ esta es la instrucción de ir hacia adelante eligiendo previamente en “Data format” → UTF-8 String.)
En este punto ya tenemos la información de los identificadores del servicio y de la característica del módulo esclavo para que el módulo central se pueda conectar y enviarle instrucciones. En este caso son los siguientes:
Servicio UUID: 0000ffe0-0000-1000-8000-00805f9b34fb
Característica UUID: 0000ffe1-0000-1000-8000-00805f9b34fb
En realidad solo serán necesarios los identificadores marcados en negrita prescindiendo del resto:
Servicio UUID: ffe0
Característica UUID: ffe1
Estos identificadores son los típicos que os vais a encontrar en vuestros módulos HM-10 y son los que ya se encuentran incluidos en el sketch que cargaremos en el Arduino Nano 33 BLE Sense pero si fueran diferentes con la operativa anteriormente descrita los podéis obtener.