ESP8266 - Bluetooth
Este tutorial ensina você a usar o ESP8266 para controlar o módulo Bluetooth HC-05. Em detalhes, vamos aprender:
- Como utilizar o Bluetooth com o ESP8266
- Como transmitir dados do ESP8266 para um app de celular via Bluetooth
- Como receber dados no ESP8266 vindos do app de celular via Bluetooth
- Como controlar o ESP8266 a partir do app de celular via Bluetooth

O objetivo deste tutorial é:
- Demonstrar como o ESP8266 pode trocar dados com um app de celular.
- Explicar o uso do módulo Bluetooth HC-05.
- Mostrar como usar o app Bluetooth Serial Monitor no Android.
- Ilustrar como controlar um LED e um servo motor a partir de um app de celular.
Este tutorial é focado no Bluetooth Clássico (Bluetooth 2.0). Se você procura informações sobre Bluetooth Low Energy - BLE (Bluetooth 4.0), consulte este tutorial semelhante: ESP8266 - Bluetooth Low Energy
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Módulo Bluetooth HC-05
O HC-05 é um módulo Bluetooth Serial que funciona como um conversor de Serial para Bluetooth. Ele é capaz de:
- Receber dados do pino Serial RX e transmiti-los ao dispositivo pareado (como um celular) via Bluetooth
- Receber dados do Bluetooth (do dispositivo pareado) e transferi-los para o pino Serial TX.
Especificamente, quando o ESP8266 se comunica com um app de celular (Android/iOS):
- Ele se conecta ao módulo Bluetooth HC-05 por meio de seus pinos Serial/SoftwareSerial.
- O módulo Bluetooth HC-05 é pareado com o app do celular.
- Para enviar dados ao app do celular, o ESP8266 simplesmente os envia para o Serial/SoftwareSerial.
- Para receber dados do app do celular, o ESP8266 os lê do Serial/SoftwareSerial.
- Nenhum código Bluetooth especial é necessário no ESP8266.
Pinagem do Módulo Bluetooth HC-05

O módulo Bluetooth HC-05 tem 6 pinos:
- Pino Enable/Key: este pino é usado para alternar entre o Modo de Dados (defina LOW) e o Modo de Comando (defina HIGH). Se não estiver conectado, ficará no Modo de Dados por padrão.
- Pino VCC: pino de alimentação, deve ser conectado ao +5V da tensão de alimentação.
- Pino GND: pino de alimentação, deve ser conectado ao GND da fonte de alimentação.
- Pino TX: pino de dados seriais, deve ser conectado ao pino RX do ESP8266. Os dados recebidos via Bluetooth serão enviados a este pino como dados seriais.
- Pino RX: pino de dados seriais, deve ser conectado ao pino TX do ESP8266. Os dados recebidos neste pino serão enviados ao Bluetooth.
- State: o pino state é conectado ao LED da placa e pode ser usado como retorno para verificar se o Bluetooth está funcionando corretamente.
No entanto, para operações básicas, apenas quatro pinos do módulo Bluetooth HC-05 precisam ser conectados ao ESP8266.
O módulo Bluetooth HC-05 tem dois componentes integrados:
- Um LED que indica o status do módulo:
- Piscar uma vez a cada dois segundos significa que o módulo entrou no Modo de Comando
- Piscar rapidamente indica que ele está aguardando conexão no Modo de Dados
- Piscar duas vezes por segundo significa que a conexão no Modo de Dados foi bem-sucedida
- Um botão que pode ser usado para controlar o pino Key/Enable e selecionar o modo de operação (Modo de Dados ou de Comando)
Como Funciona
O módulo Bluetooth HC-05 tem dois modos de operação:
- O Modo de Dados, usado para trocar dados com o dispositivo pareado
- O Modo de Comando, usado para configurar parâmetros.
Felizmente, o módulo Bluetooth HC-05 consegue operar com o ESP8266 sem nenhuma configuração, usando as configurações padrão.
Configurações Padrão do HC-05
| Nome Bluetooth padrão | “HC-05” |
|---|---|
| Senha padrão | 1234 ou 0000 |
| Comunicação padrão | Slave |
| Modo padrão | Modo de Dados |
| Baud Rate padrão no Modo de Dados | 9600, 8, N, 1 |
| Baud Rate padrão no Modo de Comando | 38400, 8, N, 1 |
Sobre o App Bluetooth Serial Monitor
O app Bluetooth Serial Monitor é um aplicativo móvel com uma interface semelhante à do Serial Monitor do Arduino IDE. Ele pode ser usado para se comunicar com o ESP8266 via Bluetooth sem exigir nenhum código especial para o módulo Bluetooth no código do ESP8266. Para isso, siga os passos abaixo:
- Conecte o ESP8266 ao módulo Bluetooth HC-05
- Instale o Bluetooth Serial Monitor App no seu celular
- Abra o app e faça o pareamento com o módulo Bluetooth HC-05
Agora você pode transmitir e receber dados do ESP8266 como faria com o Serial Monitor do Arduino IDE. Você não precisa fazer nenhuma alteração no seu código ESP8266 existente nem adicionar código Bluetooth ao seu novo código ESP8266.
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.
Tabela de Ligação. Quadro de Ligação. Quadro das Ligações
| Pinos do ESP8266 | Pinos do Bluetooth HC-05 |
|---|---|
| Pin D7 | TX |
| Pin D6 | RX |
| 5V | VCC |
| GND | GND |
| Enable/Key (NÃO conectado) | |
| State (NÃO conectado) |
※ Nota:
Você pode usar outros pinos do ESP8266 alterando o objeto Serial no código do ESP8266 para outro, como Serial1, Serial2 ou SoftwareSerial, se estiver disponível.
Como Programar para Bluetooth
Nenhuma programação específica para Bluetooth é necessária. Só precisamos utilizar o código Serial.
O ESP8266 envia dados para o App Bluetooth no Celular
Para transmitir dados de um ESP8266 para um app Bluetooth em um celular, o código a seguir deve ser usado no Arduino:
Neste exemplo, o ESP8266 transmitirá “ESP8266 here, command me!” para o app Bluetooth no celular em intervalos de um 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.
- Instale o Bluetooth Serial Monitor App no seu celular. Ligue o módulo Bluetooth HC-05 ao ESP8266 conforme o diagrama de ligação. Copie o código e abra-o com o Arduino IDE. Clique no botão Upload no Arduino IDE para fazer o upload do código para o 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. Abra o Bluetooth Serial Monitor App no seu celular e selecione o modo Bluetooth Clássico.

- Conecte-o ao módulo Bluetooth HC-05.

- Veja o resultado no app Android.

- Veja o resultado no Serial Monitor do ambiente de desenvolvimento integrado do ESP8266.
Você vai observar que as informações exibidas no Serial Monitor do Arduino IDE e no app Android são as mesmas.
O App Bluetooth Envia Dados para o ESP8266
O código a seguir permite:
- Enviar dados de um app Bluetooth para um ESP8266
- Ler os dados no ESP8266 e, em seguida, enviar uma resposta de volta ao app 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.
- Copie o código e abra-o com o Arduino IDE.
- Clique no botão Upload no Arduino IDE para compilar e fazer o upload do código para o ESP8266.
- Abra o Serial Monitor no Arduino IDE.
- Conecte o app Android ao módulo Bluetooth HC-05, como feito no exemplo anterior.
- Depois de conectado, digite "LED ON" ou "LED OFF" no app Android e pressione o botão "SEND".

- O ESP8266 recebe os dados e imprime a resposta na porta Serial. Esses dados são então enviados ao app Bluetooth, e o resultado pode ser visto no app Android.

- Veja o resultado na janela do Serial Monitor do ambiente de desenvolvimento integrado do ESP8266.
Você vai observar que as informações exibidas no Serial Monitor do Arduino IDE e no app Android são as mesmas.
Código ESP8266 - Controlar LED com app de celular via Bluetooth
Este código de exemplo do ESP8266 responderá a dois comandos: “ON” e “OFF”. Ao serem recebidos, esses comandos serão usados para ligar ou desligar um LED embutido por meio do Bluetooth Serial Monitor App.
Você pode encontrar uma explicação mais completa das instruções no tutorial ESP8266 controla LED via Bluetooth/BLE.
Código ESP8266 - Controlar Servo Motor com app de celular via Bluetooth
O código ESP8266 abaixo . * recebe o valor do ângulo . * do Bluetooth Serial Monitor App . * para controlar o ângulo do servo motor.
Você pode ver as instruções com mais detalhes no tutorial ESP8266 controla Servo Motor via Bluetooth/BLE . Para uma análise mais completa das instruções, confira o tutorial ESP8266 controla Servo Motor via Bluetooth/BLE . Se você precisar ver as instruções com mais profundidade, consulte o tutorial ESP8266 controla Servo Motor via Bluetooth/BLE . Para obter uma visão mais abrangente das instruções, acesse o tutorial ESP8266 controla Servo Motor via Bluetooth/BLE
Se você achar o app Bluetooth Serial Monitor útil, dê a ele uma avaliação de 5 estrelas na Play Store. Agradecemos o seu apoio!