Exemplo de Temperature Bluetooth com ESP32 - Tutorial de Exibição de Medidor de Temperatura
Visão Geral
O exemplo Bluetooth Temperature oferece uma exibição dedicada de medidor de temperatura, acessível pelo app DIYables Bluetooth STEM. Projetado para placas ESP32, com suporte a conexões BLE (Bluetooth Low Energy) e Bluetooth Clássico. Envie leituras de temperatura com faixa mínima/máxima configurável e rótulos de unidade — perfeito para termômetros, estações meteorológicas, monitoramento de HVAC e qualquer aplicação de sensoriamento de temperatura.
Este exemplo oferece suporte a dois modos de Bluetooth:
- ESP32 BLE (Bluetooth Low Energy): Funciona no Android e no iOS
- ESP32 Bluetooth Clássico: Funciona somente no Android. O iOS não oferece suporte ao Bluetooth Clássico. Use o BLE se precisar de suporte ao iOS.

Recursos
- Medidor de Temperatura: Exibição visual no estilo de termômetro
- Faixa Configurável: Defina os valores mínimo e máximo de temperatura
- Unidades Personalizadas: Exiba °C, °F, K ou qualquer texto de unidade personalizado
- Atualizações em Tempo Real: Envie leituras de temperatura ao vivo
- Callback de Solicitação: O app pode solicitar a temperatura atual sob demanda
- BLE e Bluetooth Clássico: Escolha o modo Bluetooth que melhor atende ao seu projeto
- Multiplataforma: O modo BLE funciona no Android e no iOS; o Bluetooth Clássico funciona no Android
- Opção de Baixo Consumo: O modo BLE consome menos energia que o Bluetooth Clássico
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Código ESP32
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a primeira vez que você usa o ESP32, consulte o tutorial sobre como configurar o ambiente para o ESP32 no Arduino IDE.
- Conecte a placa ESP32 ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Selecione a placa ESP32 e a porta COM apropriadas.
- Acesse o ícone Libraries na barra à esquerda do Arduino IDE.
- Pesquise "DIYables Bluetooth" e encontre a biblioteca DIYables Bluetooth, da DIYables
- Clique no botão Install para instalar a biblioteca.

- Será solicitado que você instale outras dependências da biblioteca
- Clique no botão Install All para instalar todas as dependências da biblioteca.

Escolha um dos dois modos de Bluetooth abaixo, de acordo com a sua necessidade:
Código ESP32 Bluetooth Clássico (funciona com o app somente no Android)
Observação: O Bluetooth Clássico NÃO é compatível com o iOS. Se você precisa de suporte ao iOS, use o código BLE abaixo.
- No Arduino IDE, vá em File Examples DIYables Bluetooth Esp32Bluetooth_Temperature, ou copie o código acima e cole no editor do Arduino IDE
- Clique no botão Upload do Arduino IDE para carregar o código no ESP32
- Abra o Serial Monitor
- Confira o resultado no Serial Monitor. Ele deve ficar como abaixo:
Código ESP32 BLE (funciona com o app no Android e no iOS)
- No Arduino IDE, vá em File Examples DIYables Bluetooth Esp32BLE_Temperature, ou copie o código acima e cole no editor do Arduino IDE
- Clique no botão Upload do Arduino IDE para carregar o código no ESP32
- Abra o Serial Monitor
- Confira o resultado no Serial Monitor. Ele deve ficar como abaixo:
App para Celular
- Se você estiver usando o código ESP32 Bluetooth Clássico, é preciso parear o ESP32 com o seu celular Android antes de abrir o app:
- Vá em Configurações > Bluetooth do seu celular
- Verifique se o Bluetooth está ligado
- Seu celular vai procurar os dispositivos disponíveis
- Encontre e toque em "ESP32_Temp" na lista de dispositivos disponíveis
- Confirme a solicitação de pareamento (não é necessário PIN)
- Aguarde até aparecer "Paired" abaixo do nome do dispositivo
- Se você estiver usando o código ESP32 BLE, não é necessário parear. Basta ir para o próximo passo.
- Abra o app DIYables Bluetooth
- Ao abrir o app pela primeira vez, ele vai pedir permissões. Conceda as seguintes:
- Permissão de Dispositivos Próximos (Android 12+) / permissão de Bluetooth (iOS) - necessária para procurar e conectar a dispositivos Bluetooth
- Permissão de Localização (somente Android 11 e anteriores) - exigida por versões mais antigas do Android para procurar dispositivos BLE
- Verifique se o Bluetooth está ligado no seu celular
- Na tela inicial, toque no botão Connect. O app vai procurar dispositivos BLE e Bluetooth Clássico.

- Encontre e toque no seu dispositivo nos resultados da busca para conectar:
- Para Bluetooth Clássico: toque em "ESP32_Temp"
- Para BLE: toque em "ESP32BLE_Temp"
- Depois de conectado, o app volta automaticamente para a tela inicial. Selecione o app Temperature no menu de apps.

Observação: Você pode tocar no ícone de configurações na tela inicial para ocultar/mostrar apps. Para mais detalhes, consulte o Manual do Usuário do DIYables Bluetooth App.
- O medidor de temperatura vai exibir a leitura de temperatura atual

Agora olhe de volta para o Serial Monitor no Arduino IDE. Você verá:
- Veja o medidor de temperatura sendo atualizado em tempo real no app
Personalização Criativa - Adapte o Código ao Seu Projeto
Configure a Faixa e a Unidade de Temperatura
Defina a faixa de exibição e a unidade:
Enviar o Valor de Temperatura
Tratar as Solicitações de Temperatura do App
Tratar Eventos de Conexão
Como Usar a Exibição de Temperatura
Interface do App
A interface de temperatura no app DIYables Bluetooth mostra:
- Medidor de Temperatura: Termômetro visual mostrando a leitura atual
- Exibição Numérica: Mostra o valor exato da temperatura
- Rótulo da Unidade: Exibe o texto da unidade configurada
- Indicadores de Faixa: Mostra o mínimo e o máximo da faixa configurada
Unidades de Temperatura
Configurações comuns:
- Celsius: DIYables_BluetoothTemperature(-10.0, 50.0, "°C")
- Fahrenheit: DIYables_BluetoothTemperature(14.0, 122.0, "°F")
- Kelvin: DIYables_BluetoothTemperature(263.0, 323.0, "K")
Exemplos de Programação
Leitura do Sensor DHT22
Sensor One-Wire DS18B20
Leitura de Termistor NTC
Exibição em Fahrenheit
Técnicas Avançadas de Programação
Média / Suavização de Temperatura
Detecção de Limite de Alerta
Ideias de Integração de Hardware
DHT22 / DHT11
Conecte a qualquer pino GPIO para leituras de umidade e temperatura. Uma escolha popular para monitoramento em ambientes internos.
Sonda à Prova d'Água DS18B20
Use o protocolo OneWire para medir temperatura à prova d'água. Ótimo para líquidos, solo e aplicações externas.
BME280 / BMP280
Sensor I2C de temperatura, umidade e pressão barométrica. Alta precisão para estações meteorológicas.
Termistor NTC
Sensor analógico de temperatura simples. Baixo custo, funciona com um circuito divisor de tensão.
Termopar (MAX6675 / MAX31855)
Para medição de altas temperaturas (até 1000°C+). Usado em fornos, estufas e aplicações industriais.
BLE vs Bluetooth Clássico - Qual Escolher?
| Recurso | BLE (Esp32BLE_Temperature) | Bluetooth Clássico (Esp32Bluetooth_Temperature) |
|---|---|---|
| Suporte ao iOS | ? Sim | ? Não |
| Suporte ao Android | ? Sim | ? Sim |
| Consumo de Energia | Baixo | Maior |
| Alcance | ~30-100m | ~10-100m |
| Taxa de Dados | Menor | Maior |
| Pareamento Necessário | Não (conexão automática) | Sim (pareamento manual) |
| Ideal Para | Alimentado por bateria, multiplataforma | Alta taxa de transferência, somente Android |
Solução de Problemas
Problemas Comuns
1. Não consigo encontrar o dispositivo no app
- Verifique se o ESP32 está ligado e se o sketch foi carregado
- Para BLE: verifique se o Bluetooth e a Localização do seu celular estão ativados
- Para Bluetooth Clássico: pareie o dispositivo primeiro nas configurações de Bluetooth do celular
- Verifique se o esquema de partição correto está selecionado (Huge APP)
2. A temperatura mostra 0 ou um valor incorreto
- Verifique a ligação e as conexões do sensor
- Verifique o tipo do sensor e a configuração da biblioteca
- Use o Serial Monitor para confirmar as leituras antes do Bluetooth
- Para sensores DHT: garanta um resistor de pull-up (4,7k-10k) no pino de dados
3. A temperatura não está atualizando
- Verifique o intervalo de atualização no loop()
- Confirme que bluetoothServer.loop() é chamado no loop principal
- Garanta que o sensor esteja lendo valores válidos (verifique se há NaN)
4. A faixa de exibição do medidor não corresponde
- Confirme os parâmetros do construtor: DIYables_BluetoothTemperature(min, max, unit)
- Use setRange() para ajustar dinamicamente
- Valores de temperatura fora da faixa ainda serão exibidos, mas podem ser cortados
5. A conexão cai com frequência
- Chegue mais perto do ESP32 (reduza a distância)
- Para BLE: verifique se há interferência de outros dispositivos BLE
- Para Bluetooth Clássico: garanta uma fonte de alimentação estável para o ESP32
6. Sketch grande demais / espaço insuficiente
- No Arduino IDE, vá em Tools > Partition Scheme e selecione "Huge APP (3MB No OTA/1MB SPIFFS)" ou "No OTA (Large APP)"
- O esquema de partição padrão oferece apenas ~1,2MB para o código do app, o que não é suficiente para as bibliotecas de Bluetooth
- Essa configuração oferece ~3MB ao sacrificar a partição de OTA (atualização over-the-air)
Dicas de Depuração
Adicione uma depuração completa:
Ideias de Projetos
Casa e Ambiente
- Termômetro de ambiente interno
- Estação meteorológica externa
- Monitor de temperatura de geladeira/freezer
- Monitor de clima de estufa
Cozinha e Alimentos
- Monitor de temperatura de cozimento
- Exibição de controlador sous vide
- Acompanhamento de temperatura de fermentação
- Termômetro de forno
Indústria e Laboratório
- Alerta de temperatura de sala de servidores
- Monitor de processo químico
- Exibição de temperatura de incubadora
- Leitura de temperatura de ferro de solda
Água e Aquários
- Termômetro de aquário
- Exibição de temperatura de piscina/spa
- Monitor de aquecedor de água
- Temperatura da água em hidroponia
Integração com Outros Apps Bluetooth
Combine com o Bluetooth Plotter
Exiba a leitura atual e plote a tendência de temperatura:
Combine com o Bluetooth Table
Mostre a temperatura junto com outros dados de sensores:
Próximos Passos
Depois de dominar o exemplo Bluetooth Temperature, experimente:
- Bluetooth Analog Gauge - Para exibição de medidor genérico (pressão, velocidade etc.)
- Bluetooth Plotter - Para visualizar tendências de temperatura ao longo do tempo
- Bluetooth Table - Para exibição de dados de vários sensores
- Multiple Bluetooth Apps - Combinando a temperatura com outros displays
Suporte
Para obter mais ajuda:
- Consulte a documentação de referência da API
- Visite os tutoriais da DIYables
- Fóruns da comunidade Arduino