Base de conocimientos Bluetooth

La comunicación Bluetooth es similar al uso del puerto serie normal, la diferencia principal es que, en lugar de conectar un cable, tendremos que emparejar el módulo con nuestro dispositivo.

Utilizar el módulo de Bluetooth requiere el uso de un puerto serie de nuestra placa Arduino. Por tanto, mientras usemos el módulo de Bluetooth no podremos usar el puerto serie en las placas modelo Uno, Mini, y Nano. En el modelo Mega no tiene este problema, ya que incorpora 4 puertos de serie. Este inconveniente se resuelve definiendo un nuevo puerto virtual con SoftwareSerial

Los dos módulos, HC-05 y HC-06, nos permiten conectar de forma sencilla dos Arduinos por Bluetooth. La diferencia entre ambos módulos es que el HC-06 sólo permite recibir comunicaciones (slave) mientras que el HC-05 puede recibirlas e iniciarlas (master and server). Por tanto el módulo HC-05 es superior en características técnicas .Estos trabajan con la versión 2 de BT,y trabajan bien a 115200 Bd, mejor que los HM19, BLE.

Los módulos HC-08 BLE se pueden confgurar como maestro o esclavo sin utilizar boton o tecla de inicio y es necesario introducir en el “void setup()”algunos comandos AT especiales para conseguir el emparejamiento. . No son compatibles con los esp-32 wroom ,ya que estos manejan BLE con la version 4.2. Actualmente he desechado estos módulos debido a los problemas de emparejamiento observados en los seis modulos que adquiri.

Los módulos HM-10 ya llevan la versión 5 de BT y deberían de ser compatibles con los esp-32,. Para GRBL y control de servos no me han ido bien, se entrecorta mucho. Sin embargo son más faciles de emparejar y tendrán mas utilidad para otros proyectos ,por ejemplo con esp8266.

DIFERENCIA ENTRE BT CLASICO Y BLE

Al igual que Bluetooth, BLE opera en la banda ISM de 2.4 GHz. Sin embargo, a diferencia del Bluetooth clásico, BLE permanece en modo de suspensión constantemente, excepto cuando se inicia una conexión. Los tiempos de conexión reales son solo de unos pocos milisegundos, a diferencia de Bluetooth, que tomaría más de 100 milisegundos. En las redes Bluetooth de baja energía los dispositivos pueden ser centrales o periféricos. Los dispositivos centrales (teléfonos inteligentes, tabletas, computadoras, etc.) tienen mayor capacidad de procesamiento y son responsables de controlar los dispositivos periféricos. Los dispositivos centrales generalmente ejecutan software creado específicamente para interactuar con dispositivos periféricos. Estos últimos sirven como sensores que recopilan datos y los envían a dispositivos centrales para su procesamiento. La clave del bajo consumo es que no procesan datos, solo lo recogen.

Bluetooth 4.0. Con versiones actualizadas 4.1 y 4.2. En esta versión se incluye el concepto de Bluetooth Smart que incluye los protocolos Bluetooth clásico -que se manejan en las versiones 1, 2 y 3-, Bluetooth HS, así como Bluetooth Low Energy (BLE). Dentro de esta versión apareció el Bluetooth Low Energy (BLE) el cual está enfocado principalmente para elementos que funcionen con internet de las cosas (IoT), además de que su consumo energético es menor para dispositivos que funcionan por periodos muy largos. En general Bluetooth 4.0 permite tasas de transferencias desde 25 Mbps hasta 32 Mbps.

Bluetooth 5. En esta versión se pretende mejorar su funcionalidad para dispositivos IoT por medio de una doble tasa de transferencia de datos y un rango de cobertura cuatro veces mayor con respecto a las versiones 4.1 y 4.2, así como la capacidad de soportar flujos de datos con varios dispositivos simultáneamente.

Nuevo resumen:

El Bluetooth (clásico) y el Bluetooth LE tienen, en principio, unos fines muy diferentes.

  • El Bluetooth puede manejar muchos datos, pero consume mucha más energía.
  • El BLE se utiliza para aplicaciones que no necesitan intercambiar grandes cantidades de datos, y por lo tanto puede funcionar con la energía de la batería durante años a un coste más bajo.

Todo depende de lo que se intente conseguir. En general, el Bluetooth clásico se utiliza principalmente dispositivos de audio, como las conexiones telefónicas inalámbricas, los auriculares y altavoces inalámbricos.

El Bluetooth LE es más frecuente en los dispositivos que wearables (smartwatches, sensores de frecuencia cardiaca, etc.), en los dispositivos inteligentes del IoT (termómetros, alarmas, etc.) y en los accesorios que funcionan con pilas, como un teclado inalámbrico de ordenador.Por supuesto, el Bluetooth clásico también puede ser alimentado por baterías, pero los requerimientos de energía de LE son menores. En algunos casos, los dispositivos de LE pueden incluso ser alimentados por baterías de botón.

También debes tener en cuenta que las versiones de Bluetooth a partir de la Bluetooth 4.0 cuentan tanto con Bluetooth (normal), como con Bluetooth LE. Por tanto, las versiones 4.0, 4.1, 4.2, 5.0, 5.1 y 5.2 en adelante tienen ambos modos de funcionamiento.

Dicho esto, existen dispositivos Bluetooth de modo dual en el mercado, que soportan tanto Bluetooth LE como el Bluetooth clásico. Los smartphones son el ejemplo más común. La mayoría de los modernos teléfonos inteligentes pueden comunicarse con dispositivos Bluetooth Classic y LE.

BLE en ESP32

BLE Server and Client

Con BLE los dispositivos se configuran como servidor o cliente. Cuidado con esto porque el ESP32 puede actuar de ambas formas,pero el concepto Maestro esclavo es inverso. Por ejemplo ,si queremos comunicar un HM-19 con nuestro ESP32, el HM-19 se configurara como Master (role=1) y el ESP32 como servidor. O sea que tenemos que asociar Servidor a Slave y Cliente a Master.

El servidor anuncia su existencia, por lo que puede ser encontrado por otros dispositivos y contiene los datos que el cliente puede leer. El cliente escanea los dispositivos cercanos y, cuando encuentra el servidor que está buscando, establece una conexión y escucha los datos entrantes. A esto se le llama comunicación punto a punto.

BLE tambien admite modo broadcast (radiodifusión) y mesh network (red de malla)

  • Broadcast mode:el servidor transmite datos a muchos clientes que están conectados
  • Mesh network: todos los dispositivos están conectados, esta es una conexión de muchos a muchos.

El ESP32 puede actuar como servidor BLE o como cliente BLE. Hay varios ejemplos BLE para ESP32 en la biblioteca ESP32 BLE para Arduino IDE. Esta biblioteca viene instalada de forma predeterminada cuando instala el ESP32 en el IDE de Arduino.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Translate »