Tutorial ESP32 37/55 - Usando la aplicación Bluetooth con ESP32 BLE | Kit de aprendizaje IoT ESP32 de SunFounder

Tutorial ESP32 37/55 - Usando la aplicación Bluetooth con ESP32 BLE | Kit de aprendizaje IoT ESP32 de SunFounder

En este tutorial, exploraremos cómo usar el ESP32 como un servidor Bluetooth para enviar y recibir mensajes desde una aplicación móvil. Esto permite una comunicación interactiva entre tu placa ESP32 y tu dispositivo móvil, lo que lo convierte en una adición versátil a tus proyectos de IoT. Al final de esta lección, podrás enviar texto desde tu dispositivo móvil al ESP32 y verlo mostrado en el monitor serial.

bluetooth_azulclaro

Utilizaremos la aplicación LightBlue Explorer, disponible tanto en iOS como en Android, para comunicarnos con el ESP32. Este tutorial es fundamental para entender la comunicación Bluetooth Low Energy (BLE) y establece las bases para proyectos más avanzados. Para una guía visual, por favor consulta el video (en el video a las :00).

Hardware Explicado

El componente principal de este proyecto es el microcontrolador ESP32, que integra capacidades tanto de Wi-Fi como de Bluetooth. Esto permite que el ESP32 actúe como un servidor, recibiendo y enviando datos de forma inalámbrica. La funcionalidad Bluetooth incorporada del ESP32 admite BLE, lo que lo hace eficiente para aplicaciones de bajo consumo.

Además del ESP32, usaremos un dispositivo móvil con la aplicación LightBlue instalada. Esta aplicación permite a los usuarios conectarse al ESP32 y enviar datos a través de Bluetooth. La integración de estos componentes permite una comunicación fluida entre el ESP32 y los dispositivos móviles, mejorando la interacción del usuario.

Detalles de la hoja de datos

Fabricante Espressif Systems
Número de pieza ESP32-WROOM-32
Voltaje de lógica/IO 3.3 V
Tensión de alimentación 3.0 - 3.6 V
Corriente de salida (por canal) 40 mA
Corriente máxima (por canal) 160 mA
Guía de frecuencia PWM 1 kHz
Umbrales de lógica de entrada 0.2 VCC (bajo), 0.8 VCC (alto)
Caída de tensión / RDS(on)saturación 0.1 V
Límites térmicos 125 °C
Paquete QFN48
Notas / variantes ESP32-WROOM-32, ESP32-WROVER

  • Asegúrese de un suministro de energía estable (3.3 V) para prevenir bajones de tensión.
  • Utiliza capacitores para desacoplar cerca de los pines de alimentación.
  • Mantén una adecuada disipación de calor si utilizas alta corriente.
  • Ten cuidado con los niveles de voltaje de los pines GPIO; son tolerantes a 3.3 V.
  • Utiliza resistencias de pull-up o pull-down según sea necesario para las configuraciones de GPIO.
  • Monitorea las conexiones BLE; asegúrate de que la app esté correctamente emparejada.
  • Verifique que los UUIDs para servicios y características sean únicos.
  • Verifica regularmente el monitor serial en busca de mensajes de depuración.
  • Considera usar un analizador lógico para la resolución de problemas de señales complejas.

Instrucciones de cableado

El cableado para este proyecto es sencillo, ya que el ESP32 se conecta principalmente a través de USB para la alimentación y la programación. Conecta el ESP32 a tu computadora utilizando un cable micro USB. Asegúrate de que el puerto USB esté proporcionando suficiente energía (típicamente 5 V). Se utilizará el monitor serial para la depuración, así que no se necesitan conexiones de hardware adicionales para esta aplicación.

Al utilizar el ESP32 con componentes externos en proyectos futuros, recuerda conectar los pines de tierra a una tierra común. Esto asegura que el ESP32 y cualquier sensor o módulo conectado compartan el mismo punto de referencia. Además, si estás utilizando una batería, conecta el terminal positivo al pin de 3.3 V y el terminal negativo a un pin de tierra en el ESP32.

Ejemplos de código y guía paso a paso

El código proporcionado inicializa el servidor Bluetooth, establece los servicios y características necesarios, y maneja los mensajes entrantes. Los identificadores clave incluyenbleName, que define el nombre del dispositivo Bluetooth, yreceivedText, que almacena el mensaje entrante de la aplicación móvil.

const char *bleName = "ESP32_Bluetooth";
String receivedText = "";

Elsetup()la función inicializa la comunicación serial y la configuración de BLE. Esto es crucial para establecer una conexión con la aplicación LightBlue.

void setup() {
  Serial.begin(115200);  // Initialize the serial port
  setupBLE();            // Initialize the Bluetooth BLE
}

Dentro delloop()función, el código verifica si hay mensajes entrantes. Si se recibe un nuevo mensaje, se imprime en el monitor serie y se envía una notificación al dispositivo BLE conectado.

if (receivedText.length() > 0 && millis() - lastMessageTime > 1000) {
    Serial.print("Received message: ");
    Serial.println(receivedText);
    pCharacteristic->setValue(receivedText.c_str());
    pCharacteristic->notify();
    receivedText = "";
}

Para una comprensión completa, consulte el código completo que se carga debajo del artículo. Esto le proporcionará todos los detalles necesarios para implementar el proyecto con éxito.

Demostración / Qué Esperar

Una vez que la implementación sea exitosa, deberías poder enviar mensajes desde la aplicación LightBlue al ESP32. A medida que escribes un mensaje, como "Hola," aparecerá en el monitor serial. Además, puedes enviar mensajes de vuelta a la aplicación, confirmando la comunicación bidireccional. Si encuentras problemas como que los mensajes no aparecen, asegúrate de que el ESP32 esté correctamente emparejado con la aplicación y que los UUID coincidan.

Marcas de tiempo del video

  • 00:00 Comenzar
  • 2:10 Introducción al proyecto
  • 2:45 Página de documentación
  • 4:04 código de Arduino
  • 6:31 Instalando la aplicación Bluetooth
  • 7:12 Seleccionando la placa ESP32 y el puerto COM
  • 8:54 Demostración del proyecto

Imágenes

bluetooth_lightblue
bluetooth_lightblue
838-ESP32 Tutorial 37/55- Arduino code for Bluetooth app test
Idioma: C++
¡Copiado!

Archivos📁

No hay archivos disponibles.