Una guía detallada para usar el Bluetooth en el ecosistema de Arduino

Protocolos de comunicación inalámbrica

Antes de profundizar en el mundo del Bluetooth, echemos primero un vistazo a los diversos protocolos de comunicación inalámbrica que se utilizan ampliamente en la electrónica en estos días. Aquí están algunos de los protocolos de comunicación inalámbrica más comunes aparte del Bluetooth.

Wi-Fi

Wi-Fi (Wireless Fidelity) es el protocolo de comunicación inalámbrica más utilizado por su facilidad de uso y el hecho de que casi todo el mundo lo utiliza. Puede proporcionar conectividad a Internet a los dispositivos presentes en un radio de hasta 40 metros, usando el estándar IEEE 802.11. Funciona a una frecuencia de 2,4 GHz, proporcionando una velocidad máxima de 600 Mbps. Si hablamos de Arduino, algunas placas tienen una opción de conectividad Wi-Fi incorporada, mientras que otras necesitan un módulo externo como el ESP8266 o los módulos ESP32.

ZigBee

Otro protocolo de comunicación inalámbrica popular, en el mundo de la IO y la electrónica, es ZigBee. Sigue el estándar IEEE 802.15.4, proporcionando conectividad inalámbrica dentro de un rango de unos 100 metros. La velocidad máxima de datos que ofrece es de 250 Kbps. Aunque la tasa de datos es bastante baja, ofrece una ventaja de alta seguridad ya que proporciona una encriptación AES de 128 bits. ZigBee no es un protocolo inalámbrico deseable cuando se trata de aplicaciones industriales, pero es una buena opción si se trabaja en un proyecto de pequeña escala. 

RFID

Otro protocolo de comunicación inalámbrica útil es la identificación por radiofrecuencia (RFID), que se utiliza comúnmente para leer etiquetas y códigos de barras. El alcance de la RFID puede clasificarse en dos tipos: de corto y largo alcance. Para las aplicaciones de corto alcance, puede enviar datos a una distancia de 10 cm, mientras que para las aplicaciones de largo alcance puede proporcionar conectividad a lo largo de un tramo de hasta 200 metros. La RFID se utiliza idealmente en proyectos que involucran sistemas de asistencia y lectores de etiquetas.  

Cellular Networks

Las redes celulares, como todos las conocemos, son uno de los mejores protocolos de comunicación inalámbrica presentes en el mundo en este momento. Ha evolucionado de la red 2G a la 3G (HSPA) a la 4G (LTE) y ahora se está moviendo hacia la 5G. Las redes celulares permiten enviar grandes cantidades de datos a través de una conexión de alta velocidad. Utilizan una frecuencia que va de 900 MHz a 2,1 GHz y cubren distancias de hasta 200 kilómetros. 

¿Qué es la tecnología Bluetooth?

Después de ver los diversos protocolos de comunicación inalámbrica, veamos qué es la tecnología Bluetooth. Se utiliza para transmitir datos de forma inalámbrica, a través de distancias cortas. Es popular por la alta velocidad que ofrece, mientras consume muy poca energía. Sigue el estándar IEEE 802.15.1 para transferir datos a una distancia de hasta 10 metros. 

El Bluetooth envía y recibe datos en una banda de frecuencia de 2,45 GHz, ofreciendo una velocidad máxima de datos de 721 kbps. Normalmente se utiliza para conectar dispositivos portátiles como teléfonos móviles. Si tienes un dispositivo que admite la conectividad Bluetooth, puedes emparejarlo con otros 7 dispositivos al mismo tiempo. ¿No es genial?

¿Cómo funciona el Bluetooth?

Veamos cómo la tecnología Bluetooth logra ofrecer tantos beneficios al mismo tiempo. Bluetooth permite que un dispositivo se conecte a un máximo de 7 otros dispositivos y transmita datos a cada uno de ellos. Crea una Red de Área Personal (PAN) dentro de la cual la comunicación tiene lugar. Los dispositivos se conectan en una configuración maestro-esclavo, donde el dispositivo maestro es el que inicia el proceso de comunicación con otros dispositivos y también controla el proceso de comunicación. 

Un dispositivo esclavo no puede comunicarse sin el permiso de su dispositivo maestro y debe sincronizar sus tiempos y frecuencia de salto con la del dispositivo maestro. El tráfico dentro de la red Bluetooth es administrado y supervisado por el dispositivo maestro.

La topología de conexión de Bluetooth se denomina piconet de Bluetooth, donde un dispositivo maestro se conecta a los dispositivos esclavos y transmite datos. Las conexiones entre un maestro y sus esclavos existen hasta que es desconectado por el usuario o los dispositivos viajan fuera del rango de cobertura. Los dispositivos se conectan entre sí mediante un proceso de emparejamiento Bluetooth, que es iniciado por uno de los dispositivos. 

El proceso de emparejamiento de Bluetooth se inicia cuando un dispositivo comienza a buscar otros dispositivos en su rango. Una vez que encuentra el dispositivo deseado, puede iniciar una solicitud para conectarse a ese dispositivo. Al enviar la solicitud, se le pedirá al usuario una contraseña o una clave de acceso, que permitirá al dispositivo conectarse entre sí. Las claves de acceso en ambos extremos deben coincidir, para poder conectar los dispositivos entre sí.

Bluetooth Profiles

Para entender mejor la tecnología Bluetooth, necesitas saber qué son los perfiles de Bluetooth y cómo funcionan. Se definen varias especificaciones en varios perfiles de Bluetooth que permiten que diferentes tipos de dispositivos se comuniquen a través de una conexión Bluetooth, perfiles especifican el formato de archivos y datos que se pueden transmitir por Bluetooth.

1. Perfil de distribución de audio avanzado (A2DP)

A2DP define cómo transmitir audio de una fuente a un fregadero.

2. Perfil de control remoto de audio/video (AVRCP)

El AVRCP permite al usuario controlar todos sus dispositivos (como televisores, reproductores de música) a través de un único mando a distancia. 

3. Perfil básico de imágenes (BIP)

El BIP determina cómo transferir las imágenes de un dispositivo de imagen y cómo controlarlo. Este perfil es adecuado para las cámaras y otros dispositivos que tienen cámaras, como los teléfonos inteligentes. 

4. Perfil de impresión básico (BIP)

El BPP, como su nombre lo indica, se utiliza para enviar medios como imágenes y texto a las imprentas. 

5. Perfil de acceso común a la RDSI (CIP)

El CIP gestiona cómo se envía el tráfico RDSI a través de una conexión Bluetooth.

6. Perfil de telefonía inalámbrica (CTP)

Como su nombre indica, este perfil determina cómo se puede implementar un teléfono inalámbrico a través de Bluetooth.

7. Perfil de red de marcación (DUN)

El DUN se usa cuando se usa el Bluetooth para conectarse a Internet. 

8. Perfil de fax (FAX)

El perfil de fax es aplicable en los escenarios en los que un dispositivo se convierte en una pasarela de fax por otro dispositivo, para enviar un fax. Por ejemplo, un teléfono inteligente puede actuar como puerta de enlace mientras envía un fax desde un ordenador. 

9. Perfil de transferencia de archivos (FTP)

El FTP define cómo dos dispositivos pueden enviar y recibir archivos a través de una conexión Bluetooth. 

10. Perfil general de distribución de audio/vídeo (GAVDP)

Este perfil se utiliza para enviar archivos de audio/video. El mejor ejemplo es un reproductor de música que envía archivos de audio a un auricular inalámbrico a través de una conexión Bluetooth.

11. Perfil genérico de intercambio de objetos (GOEP)

GOEP define el intercambio de objetos entre dos dispositivos a través de una conexión Bluetooth.

12. Perfil de manos libres (HFP)

HFP define cómo un dispositivo (dispositivo de entrada) puede recibir y marcar llamadas para otro dispositivo (dispositivo de manos libres). 

13. Perfil de reemplazo de cable de copia impresa (HCRP)

El HCRP se utiliza cuando se requiere una impresión inalámbrica a través de los controladores de la impresora, mediante una conexión Bluetooth. 

14. Perfil de los auriculares (HSP)

HSP define cómo un dispositivo Bluetooth se conecta con un auricular.

15. Perfil de dispositivo de interfaz humana (HID)

Este perfil define la forma en que los dispositivos de interfaz humana, como teclados, dispositivos de juego y ratones, interactúan a través de una conexión Bluetooth. 

16. Perfil de intercomunicación (ICP)

El ICP define la interacción de dos teléfonos móviles a través de una conexión Bluetooth.

17. Perfil de empuje de objetos (OPP)

La OPP define cómo un servidor push y un cliente push trabajan juntos.

18. Perfil de red de área personal (PAN)

El perfil de red del área personal define cómo dos o más dispositivos pueden formar una red a través de Bluetooth y comunicarse dentro de ella. 

19. Perfil de Aplicación de Descubrimiento de Servicio (SDAP)

SDAP define cómo un dispositivo puede descubrir servicios en otro dispositivo a través de una conexión Bluetooth.

20. Perfil del puerto de servicio (SPP)

SPP define cómo se hacen los puertos virtuales de Bluetooth y cómo dos dispositivos pueden conectarse a través de ellos.

21. Perfil de sincronización (SYNC)

El perfil de sincronización permite a los dispositivos compartir sus direcciones y otra información personal. 

22. Perfil de distribución de vídeo (VDP)

El VDP define cómo un dispositivo puede acceder a un video a través de una conexión Bluetooth. 

Usos de Bluetooth

El Bluetooth tiene muchos usos diferentes, como habrás adivinado mirando el gran número de perfiles que se definen para la comunicación Bluetooth. Aquí hay una lista de las aplicaciones de Bluetooth más comunes:

1. Teclados inalámbricos

2. Ratón inalámbrico

3. Impresoras inalámbricas

4. Altavoces inalámbricos

5. Auriculares

6. Transferencia de imágenes, videos y archivos de audio. 

Usando el Bluetooth en Arduino

Usar el Bluetooth en Arduino puede abrir las puertas a muchas posibilidades. Puede hacer una multitud de nuevos e innovadores proyectos incluyendo un simple módulo Bluetooth en su lista de componentes del proyecto. HC-05 es un módulo externo de Bluetooth que casi todos los demás estudiantes y aficionados utilizan para añadir la conectividad Bluetooth en su proyecto de Arduino. Puedes configurarlo como un dispositivo maestro o esclavo. Veamos primero la configuración de los pines del HC-05 y luego veamos cómo conectarlo a Arduino.

El HC-05 tiene 6 pines, a saber: status, RXD, TXD, GND, VCC y EN. Para conectar simplemente un módulo Bluetooth a Arduino, usaremos cuatro pines: RXD, TXD, GND y VCC. Necesitas conectar los pines RXD y TXD a los pines de E/S digitales de Arduino y el pin VCC a 5 voltios mientras que el pin GND al pin GND de Arduino. 

Necesitarías definir los pines TXD y RXD en tu código y habilitar la comunicación en serie a través de estos pines. Tendrías que incluir el archivo de la biblioteca SoftwareSerial.h para este código. 

#include

SoftwareSerial MyBlue(2, 1); // RX | TX

void setup()

{

  Serial.begin(9600);

  MyBlue.begin(9600);  //Default Baud for comm, it may be different for your Module.

  Serial.println("Bluetooth is ready to connect.\n The pairing key is 0123");

}

void loop()

{

  // Feed any data from bluetooth to Terminal.

  if (MyBlue.available())

    Serial.write(MyBlue.read());

  // Feed all data from termial to bluetooth

  if (Serial.available())

    MyBlue.write(Serial.read());

}

 

Este código le permite conectar su módulo Bluetooth a cualquier otro dispositivo externo. Puedes definir una clave de acceso y permitir que otros dispositivos se conecten a tu módulo Bluetooth. Este es un programa muy simple. Puedes alterar este código de acuerdo a tu aplicación y diseñar tu proyecto Bluetooth como quieras. 

Share