En este artículo, llevaremos a cabo una conexión inalámbrica a nuestro smartphone utilizando el protocolo RFCOMM de Bluetooth.
(Figura 1 - Enviar mensaje a ODROID-GO) (Figura 2 - Recibir mensaje desde ODROID-GO)
Antes de empezar, asegúrate de haber seguido las guías de Primeros Pasos con Arduino and Arduino para ODROID-GO - Hello World. Además, siempre puedes consultar la documentación oficial de Arduino. Esta nos proporciona muchas funciones comunes que son muy útiles con excelentes instrucciones en https://www.arduino.cc/reference/en/. La guía de programación oficial de ESP32 también es un buen sitio para obtener información, la mayoría de las funciones específicas de ESP32 las puedes encontrar en https://esp-idf.readthedocs.io/en/v3.0/. Por último, el original de esta guía la tienes en la página wiki de ODROID-GO en https://wiki.odroid.com/odroid_go/arduino/07_bluetooth_serial.
Bluetooth Serial
El ESP32, que se usa en ODROID-GO, es compatible con Bluetooth 4.2, por lo que podemos programar las funciones de Bluetooth con las tan útiles librerías de Arduino. En esta guía, vamos a utilizar la librería BluetoothSerial.h:
#include "BluetoothSerial.h" BluetoothSerial serialBT; void setup() { Serial.begin(115200); serialBT.begin("ODROID-GO"); Serial.println("The device started, now you can pair it with bluetooth!"); } void loop() { if (Serial.available()) { serialBT.write(Serial.read()); } if (serialBT.available()) { Serial.write(serialBT.read()); } delay(20); }Define una instancia para BluetoothSerial como una variable global llamada serialBT. Para configurarla, usamos la función begin() que tiene un parámetro que indica el nombre del dispositivo Bluetooth para los escáner Bluetooth y lo llamamos ODROID-GO. En la función loop(), si hay un mensaje del monitor Serie disponible, envía ese mensaje al dispositivo conectado a través del Bluetooth Serial. Por otro lado, si hay un mensaje del Bluetooth serie disponible, lo envía al host.
Monitor Serial
Puedes usar un monitor serie para ver los mensajes de depuración desde el puerto serie, que se pueden asignar con el menú Tools → Serial Monitor. Otra posibilidad es presionar CTRL-SHIFT-M para abrirlo rápidamente. Para mostrar el mensaje correctamente, debe fijar el ancho de banda en 115200 baudios. Esta podría ser una herramienta de depuración muy útil. En esta guía, estamos usando esta herramienta para comunicarnos con el dispositivo conectado.
Conectar y comunicar
Probamos con la aplicación Serial Bluetooth Terminal de Android Playstore, en un Galaxy Note 8. Ésta encuentra un dispositivo Bluetooth llamado ODROID-GO y puede conectarse a este.
Y en la aplicación, seleccionamos ODROID-GO en la pestaña de Dispositivos.
Presiona el botón de conexión de la parte superior de la pantalla en la pestaña Terminal, de esta forma podrán comunicar entre sí.
Por supuesto, también puedes hacer esto utilizando iOS o un PC/Portátil, si disponen de función Bluetooth.
Un ejemplo completo
El ejemplo completo está disponible para importar el código haciendo clic en el menú Files → Examples → ODROID-GO → BT_Serial, luego presiona CTRL-U para compilar/cargar.
Be the first to comment