ESP8266 - Bluetooth de baja energía
Este tutorial te enseña cómo usar el ESP8266 para controlar el módulo BLE HM-10. En detalle, aprenderemos:
- La utilización de la tecnología Bluetooth Low Energy (BLE) con ESP8266
- Enviando datos desde ESP8266 a una aplicación para smartphone a través de BLE
- Recibiendo datos en ESP8266 desde una aplicación para smartphone a través de BLE
- Controlar ESP8266 desde una aplicación para smartphone con la ayuda de BLE

El propósito de este tutorial es:
- Intercambiar datos entre un ESP8266 y una aplicación para teléfonos inteligentes vía BLE.
- Utilizar el popular módulo HM-10 de Bluetooth Low Energy.
- Mostrar la app Bluetooth Serial Monitor en Android, pero cualquier app para Android/iOS puede usarse.
- Manipular diversos dispositivos conectados al ESP8266 a través de la app del teléfono, con ejemplos como un LED y un servomotor.
Es importante tener en cuenta que este tutorial se centra específicamente en Bluetooth Low Energy (BLE, o Bluetooth 4.0). Si necesitas información sobre Bluetooth Clásico (Bluetooth 2.0), consulta un tutorial similar ESP8266 - Bluetooth.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del módulo Bluetooth HM-10
El HM-10 es un módulo BLE serial que funciona como un adaptador de serie a Bluetooth Low Energy. Realiza las siguientes tareas:
- Tomar datos del pin RX de la UART y enviarlos a un dispositivo conectado, como un teléfono inteligente, a través de BLE
- Recibir datos desde BLE (del dispositivo emparejado) y transmitirlos al pin TX de la UART
Cuando se utiliza un ESP8266 para comunicarse con una aplicación móvil (Android/iOS), se llevan a cabo los siguientes pasos:
- Se establece una conexión entre el ESP8266 y el módulo Bluetooth HM-10 a través de los pines Serial/SoftwareSerial
- El módulo Bluetooth HM-10 está emparejado con la aplicación del teléfono inteligente
- Los datos se envían desde el ESP8266 a la aplicación del teléfono inteligente al enviarlos al Serial/SoftwareSerial
- Los datos son recibidos desde la aplicación del teléfono inteligente por el ESP8266 al leerlos desde el Serial/SoftwareSerial
- No se necesita código BLE adicional en el ESP8266
Pinout del módulo BLE HM-10

El módulo HM-10 BLE tiene 6 pines:
- El pin BKR se utiliza para controlar el comportamiento del módulo. Si eres principiante, puedes ignorar este pin.
- El pin RX es el pin de datos serie y debe conectarse al pin TX del ESP8266. Los datos recibidos por este pin se enviarán a Bluetooth.
- El pin TX es el pin de datos serie y debe conectarse al pin RX del ESP8266. Los datos recibidos vía BLE serán enviados a este pin como datos serie.
- El pin GND es el pin de alimentación y debe conectarse al GND de la fuente de energía.
- El pin VCC es el pin de alimentación y debe conectarse a 3.3 V de la tensión de suministro.
- El pin STATE indica los estados de funcionamiento:
- Parpadea en modo de espera: se repetirá un pulso de 500 ms;
- En estado de conexión: estará a un nivel alto.
- Solo cuatro pines son necesarios para el HM-10: VCC, GND, RX y TX.
- Algunos fabricantes del HM-10 lo fabrican con solo estos cuatro pines.
※ Nota:
Acerca de la aplicación Bluetooth Serial Monitor
Para usar la aplicación Bluetooth Serial Monitor, primero debe conectar el ESP8266 a un módulo Bluetooth HM-10. Luego, descargue e instale la aplicación en su teléfono inteligente. Por último, abra la aplicación y conéctela al módulo Bluetooth HM-10.
Una vez que haya terminado estos pasos, podrá transmitir y recibir datos desde el ESP8266 como si estuviera utilizando el Monitor Serial en el IDE de Arduino, sin necesidad de realizar ningún cambio en su código del ESP8266 ni añadir ningún código relacionado con Bluetooth.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.
Un diagrama de cableado es un tipo de diagrama que muestra las conexiones entre diferentes componentes. Un diagrama de cableado es un diagrama que muestra los enlaces entre varios componentes.
| ESP8266 Pins | HM-10 Bluetooth Pins |
|---|---|
| Pin D7 | TX |
| Pin D6 | RX |
| 5V | VCC |
| GND | GND |
| BKR (NOT connected) | |
| STATE (NOT connected) |
※ Nota:
El código para ESP8266 se puede modificar para usar otros pines sustituyendo el objeto Serial por una opción alternativa, como Serial1, Serial2 o SoftwareSerial (si está disponible).
Cómo programar para Bluetooth
No se requiere una programación especial para Bluetooth; solo es necesaria la programación en serie.
ESP8266 envía datos a la aplicación Bluetooth en el teléfono inteligente
Para enviar datos desde una placa ESP8266 a una aplicación de Bluetooth en un teléfono inteligente, se puede usar el siguiente código. Este ejemplo muestra la transmisión del mensaje “ESP8266 aquí, ordéname!” desde el ESP8266 a la aplicación del teléfono inteligente cada segundo.
Pasos R\u00e1pidos
Para empezar con ESP8266 en Arduino IDE, siga estos pasos:
- Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
- Conecta los componentes como se muestra en el diagrama.
- Conecta la placa ESP8266 a tu ordenador usando un cable USB.
- Abre el IDE de Arduino en tu ordenador.
- Elige la placa ESP8266 correcta, por ejemplo (NodeMCU 1.0 (Módulo ESP-12E)), y su puerto COM correspondiente.
Para configurar una placa ESP8266 para comunicarse con un teléfono inteligente mediante BLE, se deben seguir estos pasos:
- Obtenga la Bluetooth Serial Monitor App e instálela en su teléfono inteligente.
- Conecte el módulo Bluetooth HM-10 a la placa ESP8266 según el diagrama de cableado.
- Abra el IDE de Arduino, copie el código que se muestra arriba y cárguelo en la placa ESP8266. Si no puede cargar el código, desconecte los pines TX y RX del módulo Bluetooth, cargue el código y luego vuelva a conectar los pines RX/TX.
- Abra el Monitor Serial en el IDE de Arduino.
- En su teléfono inteligente, abra la aplicación Bluetooth Serial Monitor y seleccione el modo BLE.

- Conecta el teléfono inteligente al módulo Bluetooth HM-10.

- Examine el resultado de la aplicación de Android.

- Examine la salida mostrada en el Monitor Serial del IDE de Arduino.
Si sigues los pasos mencionados y ejecutas el código, notarás que los datos que se muestran en el Monitor Serial del IDE de Arduino y en la app de Android son los mismos.
Aplicación Bluetooth Enviar datos al ESP8266
Los siguientes pasos son ejecutados por el código:
- Transmite datos desde la aplicación Bluetooth a la placa ESP8266
- La placa ESP8266 lee los datos recibidos y envía una respuesta de vuelta al dispositivo Bluetooth
Pasos R\u00e1pidos
- Conecta los componentes como se muestra en el diagrama.
- Conecta la placa ESP8266 a tu computadora mediante un cable USB.
- Abre el IDE de Arduino en tu computadora.
- Selecciona la placa ESP8266 correcta, como (por ejemplo, NodeMCU 1.0 (Módulo ESP-12E)), y su puerto COM correspondiente.
Aquí está cómo usar el código con ESP8266 y una aplicación de Android:
- Comienza abriendo el IDE de Arduino y copia el código proporcionado.
- Haz clic en el botón Subir para transferir el código a la placa ESP8266.
- Ahora abre el Monitor Serial en el IDE de Arduino.
- A continuación, abre la aplicación de Android y emparejala con el módulo Bluetooth HM-10 siguiendo las instrucciones de un ejemplo anterior.
- Finalmente, escribe ya sea "LED ON" o "LED OFF" en la aplicación de Android y pulsa el botón "SEND".

- La placa ESP8266 recibirá los datos y luego imprimirá una respuesta en el puerto serie. Esta respuesta se enviará a la aplicación Bluetooth, y el resultado se podrá ver en la aplicación de Android.

- Examina la salida mostrada en el Monitor Serial del IDE de Arduino.
Una vez que haya seguido los pasos anteriores, observará que la información mostrada en el Monitor Serial del IDE de Arduino y la aplicación de Android es idéntica.
Código ESP8266 - Controla el LED con la App para smartphone a través de BLE
Este código de ejemplo para ESP8266 utiliza los comandos “ON” y “OFF” que se reciben a través de la aplicación Bluetooth Serial Monitor para encender o apagar un LED integrado.
Puedes obtener una visión más detallada de las instrucciones visitando el tutorial ESP8266 controla el LED mediante Bluetooth/BLE. Para obtener una mejor comprensión de las instrucciones, consulta el ESP8266 controla el LED mediante Bluetooth/BLE tutorial. Para un examen minucioso de las instrucciones, consulta el ESP8266 controla el LED mediante Bluetooth/BLE tutorial.
Código ESP8266 - Controlar el servomotor con la aplicación para smartphone mediante BLE
i. El código ESP8266 a continuación tiene como objetivo recibir un valor de ángulo. 2. Este valor se envía a través de la aplicación Bluetooth Serial Monitor. 3. El valor del ángulo se utiliza para controlar el ángulo de un servomotor.
Puede encontrar más información sobre las instrucciones en el tutorial titulado ESP8266 controla el servomotor vía Bluetooth/BLE. Para una visión más detallada de las instrucciones, consulte el tutorial ESP8266 controla el servomotor vía Bluetooth/BLE.
Si encuentra útil la aplicación Bluetooth Serial Monitor, por favor demuestre su agradecimiento dándole una calificación de 5 estrellas en Play Store. ¡Su apoyo es muy apreciado!
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.