ESP8266 - BLE
Este tutorial ensina você a usar o ESP8266 para controlar o módulo BLE HM-10. Em detalhes, vamos aprender:
- A utilização da tecnologia Bluetooth Low Energy (BLE) com o ESP8266
- Como enviar dados do ESP8266 para um app de celular via BLE
- Como receber dados no ESP8266 vindos de um app de celular por meio de BLE
- Como controlar o ESP8266 a partir de um app de celular com a ajuda do BLE.

O objetivo deste tutorial é:
- Trocar dados entre um ESP8266 e um app de celular via BLE.
- Utilizar o módulo Bluetooth Low Energy HM-10, muito popular.
- Apresentar o app Bluetooth Serial Monitor no Android, mas qualquer app Android/iOS pode ser usado.
- Manipular vários dispositivos conectados ao ESP8266 por meio do app de celular, com exemplos como um LED e um servo motor.
É importante saber que este tutorial trata especificamente de Bluetooth Low Energy (BLE, ou Bluetooth 4.0). Se você precisa de informações sobre Bluetooth Clássico (Bluetooth 2.0), consulte um tutorial semelhante ESP8266 - Bluetooth.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Módulo Bluetooth HM-10
O HM-10 é um módulo BLE Serial que funciona como um adaptador de Serial para Bluetooth Low Energy. Ele realiza as seguintes tarefas:
- Receber dados do pino Serial RX e enviá-los a um dispositivo conectado, como um celular, por meio de BLE
- Receber dados do BLE (do dispositivo pareado) e transmiti-los ao pino Serial TX.
Quando um ESP8266 é usado para se comunicar com um app de celular (Android/iOS), ocorrem as seguintes etapas:
- Uma conexão é estabelecida entre o ESP8266 e o módulo Bluetooth HM-10 por meio de pinos Serial/SoftwareSerial
- O módulo Bluetooth HM-10 é pareado com o app do celular
- Os dados são enviados do ESP8266 para o app do celular enviando-os ao Serial/SoftwareSerial
- Os dados são recebidos do app do celular pelo ESP8266 lendo-os do Serial/SoftwareSerial
- Nenhum código BLE extra é necessário no ESP8266.
Pinagem do Módulo BLE HM-10

O módulo BLE HM-10 tem 6 pinos:
- O pino BKR é usado para controlar o comportamento do módulo. Se você é iniciante, pode ignorar este pino.
- O pino RX é o pino de dados seriais e deve ser conectado ao pino TX do ESP8266. Os dados recebidos neste pino serão enviados ao Bluetooth.
- O pino TX é o pino de dados seriais e deve ser conectado ao pino RX do ESP8266. Os dados recebidos via BLE serão enviados a este pino como dados seriais.
- O pino GND é o pino de alimentação e deve ser conectado ao GND da fonte de alimentação.
- O pino VCC é o pino de alimentação e deve ser conectado a 3.3V da tensão de alimentação.
- O pino STATE indica os estados de funcionamento:
- Pisca no modo de espera - repete um pulso de 500ms;
- Aceso no estado de conexão - ficará em nível alto.
- Apenas quatro pinos são necessários para o HM-10: VCC, GND, RX e TX.
- Alguns fabricantes do HM-10 o produzem com apenas esses quatro pinos.
※ Nota:
Sobre o App Bluetooth Serial Monitor
Para usar o Bluetooth Serial Monitor App, você deve primeiro conectar o ESP8266 a um módulo Bluetooth HM-10. Depois, baixe e instale o app no seu celular. Por fim, abra o app e conecte-o ao módulo Bluetooth HM-10.
Depois de concluir esses passos, você poderá transmitir e receber dados do ESP8266 como se estivesse usando o Serial Monitor do Arduino IDE, sem precisar fazer nenhuma alteração no seu código ESP8266 nem adicionar nenhum código relacionado a Bluetooth.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.
Uma tabela de ligação é um tipo de quadro que exibe as conexões entre diferentes componentes. Uma tabela de ligação é um quadro que mostra as ligações entre vários componentes.
| Pinos do ESP8266 | Pinos do Bluetooth HM-10 |
|---|---|
| Pin D7 | TX |
| Pin D6 | RX |
| 5V | VCC |
| GND | GND |
| BKR (NÃO conectado) | |
| STATE (NÃO conectado) |
※ Nota:
O código do ESP8266 pode ser modificado para usar outros pinos, substituindo o objeto Serial por uma alternativa, como Serial1, Serial2 ou SoftwareSerial (se disponível).
Como Programar para Bluetooth
Nenhuma programação especial para Bluetooth é necessária; apenas a programação Serial é necessária.
O ESP8266 envia dados para o App Bluetooth no Celular
Para enviar dados de uma placa ESP8266 para um app Bluetooth em um celular, o código a seguir pode ser usado. Este exemplo mostra a transmissão da mensagem “ESP8266 here, command me!” do ESP8266 para o app do celular a cada segundo.
Passos Rápidos
Para começar com o ESP8266 no Arduino IDE, siga estes passos:
- Confira o tutorial como configurar o ambiente para o ESP8266 no Arduino IDE se esta for a sua primeira vez usando o ESP8266.
- Ligue os componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
Para configurar uma placa ESP8266 para se comunicar com um celular via BLE, siga estes passos:
- Obtenha o Bluetooth Serial Monitor App e instale-o no seu celular.
- Conecte o módulo Bluetooth HM-10 à placa ESP8266 conforme o diagrama de ligação.
- Abra o Arduino IDE, copie o código dado acima e faça o upload para a placa ESP8266. Se você não conseguir fazer o upload do código, desconecte os pinos TX e RX do módulo Bluetooth, faça o upload do código e depois reconecte os pinos RX/TX.
- Abra o Serial Monitor no Arduino IDE.
- No seu celular, abra o Bluetooth Serial Monitor App e selecione o modo BLE.

- Conecte o celular ao módulo Bluetooth HM-10.

- Examine o resultado no app Android.

- Examine a saída mostrada no Serial Monitor do Arduino IDE.
Se você seguir os passos mencionados e executar o código, vai notar que os dados mostrados no Serial Monitor do Arduino IDE e no app Android são os mesmos.
O App Bluetooth Envia Dados para o ESP8266
O código executa os seguintes passos:
- Transmite dados do app Bluetooth para a placa ESP8266
- A placa ESP8266 lê os dados recebidos e envia uma resposta de volta ao dispositivo Bluetooth.
Passos Rápidos
- Ligue os componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
Veja como usar o código com o ESP8266 e um app Android:
- Comece abrindo o Arduino IDE e copiando o código fornecido.
- Clique no botão Upload para transferir o código para a placa ESP8266.
- Agora abra o Serial Monitor no Arduino IDE.
- Em seguida, abra o app Android e faça o pareamento com o módulo Bluetooth HM-10 usando as instruções de um exemplo anterior.
- Por fim, digite "LED ON" ou "LED OFF" no app Android e pressione o botão "SEND".

- A placa ESP8266 receberá os dados e, em seguida, imprimirá uma resposta na porta Serial. Essa resposta será enviada ao app Bluetooth, e o resultado pode ser visto no app Android.

- Examine a saída exibida no Serial Monitor do Arduino IDE.
Depois de seguir os passos acima,. você vai observar que as informações exibidas no Serial Monitor do Arduino IDE e no app Android são idênticas.
Código ESP8266 - Controlar LED com app de celular via BLE
Este código de exemplo do ESP8266 usa os comandos “ON” e “OFF” recebidos por meio do Bluetooth Serial Monitor App para ligar ou desligar um LED embutido.
Você pode ver as instruções mais de perto visitando o tutorial ESP8266 controla LED via Bluetooth/BLE. Para entender melhor as instruções, confira o tutorial ESP8266 controla LED via Bluetooth/BLE. Para um exame completo das instruções, consulte o tutorial ESP8266 controla LED via Bluetooth/BLE
Código ESP8266 - Controlar Servo Motor com app de celular via BLE
- O código ESP8266 abaixo serve para receber um valor de ângulo. 2. Esse valor é enviado pelo Bluetooth Serial Monitor App. 3. O valor do ângulo é usado para controlar o ângulo de um servo motor.
Você pode encontrar mais informações sobre as instruções no tutorial intitulado ESP8266 controla Servo Motor via Bluetooth/BLE. Para uma visão mais detalhada das instruções, consulte o tutorial ESP8266 controla Servo Motor via Bluetooth/BLE.
Se você achar o app Bluetooth Serial Monitor útil, demonstre sua gratidão dando a ele uma avaliação de 5 estrelas na Play Store. Seu apoio é muito apreciado!