Interface Móvel ESP32: Controle Bluetooth com Aplicação
ESP32 e WebSockets: Comunicação em Tempo Real para IoT
A comunicação em tempo real é essencial em diversas aplicações modernas, especialmente no campo de Internet das CoisasIntegração do ESP32 com Plataformas de Automação Residencial (ex: Home Assistant)Aprenda a integrar o ESP32 com Home Assistant de forma prática e segura, configurando Wi-Fi, MQTT, sensores e atuadores para uma casa inteligente. (IoT). O ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! é um microcontrolador
Características Técnicas e Funcionalidades do ESP32Descubra as especificações completas e os recursos avançados do ESP32, a plataforma ideal para automação, IoT e projetos modernos com segurança. potente e versátil que permite implementar sistemas de comunicação eficientes. Neste artigo, exploraremos como implementar WebSockets no ESP32 para criar uma comunicação bidirecional em tempo real
Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT. entre o dispositivo e um cliente web.
O que são WebSockets?🔗
Os WebSockets são um protocolo de comunicação🌧 Alerta de Enchentes com Sensores de Nível de RiosTutorial sobre sistema IoT com ESP32 e sensores de nível. Descubra a implementação, comunicação robusta e alertas para enchentes em comunidades ribeirinhas. que permite uma conexão persistente e bidirecional entre um cliente (geralmente um navegador web) e um servidor. Diferentemente dos métodos tradicionais, como HTTP, onde o cliente precisa solicitar informações repetidamente (polling), os WebSockets estabelecem um canal onde ambos os lados podem enviar e receber dados a qualquer momento.
Vantagens dos WebSockets
- Comunicação Bidirecional: Tanto o cliente quanto o servidor podem enviar mensagens independentemente.
- Baixa Latência
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência.: Reduz o tempo de espera, pois elimina a necessidade de estabelecer uma nova conexão a cada troca de dados.
- Eficiência
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência.: Menor sobrecarga de dados em comparação com solicitações HTTP
Protocolos Nativos: Wi-Fi (2.4 GHz), Bluetooth Classic e BLEDescubra como utilizar os protocolos Wi-Fi, Bluetooth Classic e BLE no ESP32, com exemplos práticos e dicas para projetos IoT inovadores. repetidas.
Por que usar WebSockets com ESP32?🔗
O ESP32O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! possui suporte nativo a Wi-Fi e alto poder de processamento, tornando-o ideal para aplicações que exigem comunicação em tempo real
Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT.. Ao implementar WebSockets no ESP32, é possível:
- Monitorar sensores em tempo real
Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT.: Enviar dados de sensores
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. imediatamente após a leitura.
- Controlar atuadores instantaneamente: Receber comandos do cliente sem atrasos perceptíveis.
- Criar interfaces web
Integração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. dinâmicas: Atualizar elementos da página web
Integração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. em resposta a eventos no ESP32.
Preparando o Ambiente de Desenvolvimento🔗
Antes de começarmos, é necessário configurarInstalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns. o ambiente de desenvolvimento:
Requisitos de Hardware
- ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! Development Board
- Cabo USB para programação
- Sensor
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. (opcional, para leitura de dados)
- LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! (opcional, para feedback visual
⚡ Simulador de Circuitos com Hardware RealExplore a integração única entre simulação digital e hardware real com ESP32, LEDs RGB e modelagem matemática que revoluciona o ensino tecnológico.)
Requisitos de Software
- Arduino IDE
Instalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT. (versão mais recente)
- Biblioteca
WebSocketsServer
para ESP32O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!
- Biblioteca
ESPAsyncWebServer
Otimizando a Performance do Web Server no ESP32Aprenda estratégias práticas para superar as limitações do ESP32 e otimizar a performance do seu web server, com cache, compressão e código enxuto.
Instalando as Bibliotecas Necessárias
1. Adicionar suporte ao ESP32 no Arduino IDEInstalando o Arduino IDE para ESP32 no WindowsEste tutorial passo a passo ensina como instalar o Arduino IDE e configurar o ESP32 no Windows, garantindo um ambiente ideal para IoT.:
- Vá em Arquivo > Preferências.
- No campo URLs Adicionais para Gerenciadores de Placas
Instalando o Arduino IDE para ESP32 no macOSAprenda passo a passo a instalar e configurar o Arduino IDE no macOS para programar o ESP32. Siga dicas essenciais para solucionar problemas comuns., adicione:
https://dl.espressif.com/dl/package_esp32_index.json
- Clique em OK.
- Vá em Ferramentas > Gerenciador de Bibliotecas
Hospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP..
- Pesquise por ESPAsyncWebServer
Otimizando a Performance do Web Server no ESP32Aprenda estratégias práticas para superar as limitações do ESP32 e otimizar a performance do seu web server, com cache, compressão e código enxuto. e instale.
- Pesquise por WebSocketsServer e instale.
Implementando um Servidor WebSocket no ESP32🔗
Vamos criar um servidor WebSocket básico no ESP32 que permitirá a comunicação em tempo realExibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT. com um cliente web.
Código do Servidor WebSocket
#include <WiFi.h>
#include <AsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <WebSocketsServer.h>
const char* ssid = "SEU_SSID";
const char* password = "SUA_SENHA";
AsyncWebServer server(80);
WebSocketsServer webSocket = WebSocketsServer(81);
void setup()
{
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("Conectando ao Wi-Fi...");
while (WiFi.status() != WL_CONNECTED)
{
delay(1000);
Serial.print(".");
}
Serial.println("");
Serial.println("Conectado com sucesso!");
Serial.print("Endereço IP: ");
Serial.println(WiFi.localIP());
webSocket.begin();
webSocket.onEvent(webSocketEvent);
server.begin();
}
void loop()
{
webSocket.loop();
}
void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t length)
{
switch (type)
{
case WStype_DISCONNECTED:
Serial.printf("Cliente [%u] desconectado.\n", num);
break;
case WStype_CONNECTED:
{
IPAddress ip = webSocket.remoteIP(num);
Serial.printf("Cliente [%u] conectado: %s\n", num, ip.toString().c_str());
webSocket.sendTXT(num, "Bem-vindo ao WebSocket!");
}
break;
case WStype_TEXT:
Serial.printf("Recebido do cliente [%u]: %s\n", num, payload);
webSocket.sendTXT(num, "Mensagem recebida.");
break;
}
}
Explicação do Código
- Inclusão das Bibliotecas
Hospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP.: As bibliotecas
Hospedando Múltiplas Páginas Web no ESP32Descubra como hospedar múltiplas páginas web no ESP32 com um guia passo a passo. Aprenda a configurar rotas e interagir via HTTP. necessárias são incluídas no início do código.
- Credenciais Wi-Fi
Testando e Solucionando Problemas no Sistema de Alarme com ESP32Confira nosso guia prático de testes e diagnósticos para sistemas de alarme com ESP32, solucionando falhas e otimizando seu projeto com dicas essenciais.: Substitua
"SEU_SSID"
e"SUA_SENHA"
pelas suas credenciais de rede. - Instanciando o Servidor:
AsyncWebServer server(80);
: Servidor webIntrodução ao Desenvolvimento de um Web Server com ESP32Desenvolva seu web server com ESP32 e gerencie dispositivos IoT com controle remoto. Siga o tutorial passo a passo e garanta segurança e eficiência. na porta 80 (HTTP).
WebSocketsServer webSocket = WebSocketsServer(81);
: Servidor WebSocket na porta 81.
- Função
setup()
:- Inicializa a comunicação serial para depuração
Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT..
- Conecta-se à rede Wi-Fi
Conectando o ESP32 à Rede Wi-Fi: Seus Primeiros PassosDescubra como conectar seu ESP32 à rede Wi-Fi com segurança e eficiência. Siga o guia passo a passo e otimize seus projetos de IoT com facilidade..
- Inicia o servidor WebSocket e define a função de callback
webSocketEvent
. - Inicia o servidor web
Introdução ao Desenvolvimento de um Web Server com ESP32Desenvolva seu web server com ESP32 e gerencie dispositivos IoT com controle remoto. Siga o tutorial passo a passo e garanta segurança e eficiência..
- Inicializa a comunicação serial para depuração
- Função
loop()
:- Chama
webSocket.loop()
para manter a conexão WebSocket ativa.
- Chama
- Função
webSocketEvent()
:- Gerencia os eventos do WebSocket, como conexão, desconexão
Configurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização. e recebimento de mensagens.
- No caso
📡 Drone FPV com Transmissão de Vídeo ao VivoEste tutorial técnico detalha a construção de um drone FPV com transmissão de vídeo, telemetria via MAVLink e otimizações de latência. de uma nova conexão, envia uma mensagem de boas-vindas.
- Quando uma mensagem de texto é recebida, a mesma é exibida no serial
Enviando Dados do ESP32 para o ArduinoDescubra como enviar dados do ESP32 para o Arduino com comunicação serial simples e robusta, garantindo integração e monitoramento em tempo real., e o servidor responde com uma confirmação.
- Gerencia os eventos do WebSocket, como conexão, desconexão
Carregando o Código no ESP32
- Conecte o ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! ao computador via USB.
- Selecione a placa correta em Ferramentas > Placa > ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! Dev Module.
- Selecione a porta serial
Enviando Dados do ESP32 para o ArduinoDescubra como enviar dados do ESP32 para o Arduino com comunicação serial simples e robusta, garantindo integração e monitoramento em tempo real. correta em Ferramentas > Porta.
- Clique em Carregar para enviar o código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! ao ESP32.
Criando um Cliente WebSocket🔗
Para interagir com o servidor WebSocket no ESP32, criaremos uma página webIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. simples que se conecta ao servidor e permite enviar e receber mensagens.
Código HTML e JavaScript do Cliente
Crie um arquivo chamado index.html
com o seguinte conteúdo:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Cliente WebSocket ESP32</title> </head> <body> <h1>WebSocket com ESP32</h1> <input type="text" id="messageInput" placeholder="Digite sua mensagem"> <button onclick="sendMessage()">Enviar</button> <ul id="messages"></ul> <script>
var gateway = `ws://${window.location.hostname}:81/`; var websocket; window.addEventListener('load', onLoad); function onLoad() { initWebSocket(); } function initWebSocket() { console.log('Tentando abrir conexão WebSocket...'); websocket = new WebSocket(gateway); websocket.onopen = onOpen; websocket.onclose = onClose; websocket.onmessage = onMessage; } function onOpen(event) { console.log('Conexão WebSocket estabelecida'); } function onClose(event) { console.log('Conexão WebSocket fechada'); setTimeout(initWebSocket, 2000); } function onMessage(event) { var messages = document.getElementById('messages'); var message = document.createElement('li'); message.textContent = 'Recebido: ' + event.data; messages.appendChild(message); } function sendMessage() { var input = document.getElementById('messageInput'); var message = input.value; websocket.send(message); input.value = ''; var messages = document.getElementById('messages'); var sentMessage = document.createElement('li'); sentMessage.textContent = 'Enviado: ' + message; messages.appendChild(sentMessage); }
</script> </body> </html>
Explicação do Código
- Estrutura HTML Simples
Servindo Páginas HTML Simples com o ESP32Aprenda como servir páginas HTML simples com ESP32, integrando Wi-Fi, controlando LED e interagindo via interface web intuitiva.: Contém um campo de texto para entrada de mensagem, um botão para enviar e uma lista para exibir mensagens.
- JavaScript:
- Inicialização do WebSocket: Estabelece a conexão com o servidor WebSocket no ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!.
- Eventos do WebSocket:
onopen
: Chamado quando a conexão é estabelecida.onclose
: Tentará reconectar após uma desconexãoConfigurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização..
onmessage
: Processa as mensagens recebidas e as exibe na lista.
- Função
sendMessage()
: Envia a mensagem digitada para o servidor e a exibe na lista de mensagens enviadas.
- Inicialização do WebSocket: Estabelece a conexão com o servidor WebSocket no ESP32
Servindo o Arquivo index.html
do ESP32
Para que o ESP32 sirva a página webIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT., precisamos modificar o código do servidor para enviar esse arquivo quando um cliente acessar o endereço IP do ESP32.
Modificando o Código do Servidor
Adicione o seguinte antes da função setup()
:
const char index_html[] PROGMEM = R"rawliteral( <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Cliente WebSocket ESP32</title> </head> <body> <h1>WebSocket com ESP32</h1> <input type="text" id="messageInput" placeholder="Digite sua mensagem"> <button onclick="sendMessage()">Enviar</button> <ul id="messages"></ul> <script>
var gateway = `ws://${window.location.hostname}:81/`; var websocket; window.addEventListener('load', onLoad); function onLoad() { initWebSocket(); } function initWebSocket() { console.log('Tentando abrir conexão WebSocket...'); websocket = new WebSocket(gateway); websocket.onopen = onOpen; websocket.onclose = onClose; websocket.onmessage = onMessage; } function onOpen(event) { console.log('Conexão WebSocket estabelecida'); } function onClose(event) { console.log('Conexão WebSocket fechada'); setTimeout(initWebSocket, 2000); } function onMessage(event) { var messages = document.getElementById('messages'); var message = document.createElement('li'); message.textContent = 'Recebido: ' + event.data; messages.appendChild(message); } function sendMessage() { var input = document.getElementById('messageInput'); var message = input.value; websocket.send(message); input.value = ''; var messages = document.getElementById('messages'); var sentMessage = document.createElement('li'); sentMessage.textContent = 'Enviado: ' + message; messages.appendChild(sentMessage); }
</script> </body> </html> )rawliteral";
Na função setup()
, adicione:
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request)
{
request->send_P(200, "text/html", index_html);
});
Explicação das Modificações
index_html
: Declara a página webIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. como uma string armazenada na memória flash do ESP32.
- Servindo a Página Web
Integração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT.: Quando o cliente acessa a raiz "/", o servidor envia o conteúdo de
index_html
.
Atualizando o Código no ESP32
- Recarregue o código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! atualizado no ESP32 conforme feito anteriormente.
Testando a Comunicação em Tempo Real🔗
1. Conecte-se à Rede Wi-FiConectando o ESP32 à Rede Wi-Fi: Seus Primeiros PassosDescubra como conectar seu ESP32 à rede Wi-Fi com segurança e eficiência. Siga o guia passo a passo e otimize seus projetos de IoT com facilidade.: Certifique-se de que o computador está conectado à mesma rede Wi-Fi
Conectando o ESP32 à Rede Wi-Fi: Seus Primeiros PassosDescubra como conectar seu ESP32 à rede Wi-Fi com segurança e eficiência. Siga o guia passo a passo e otimize seus projetos de IoT com facilidade. que o ESP32.
2. Acesse o Endereço IP do ESP32O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!: Abra um navegador web e digite o endereço IP exibido no serial
Enviando Dados do ESP32 para o ArduinoDescubra como enviar dados do ESP32 para o Arduino com comunicação serial simples e robusta, garantindo integração e monitoramento em tempo real. do ESP32.
3. Interaja com a Página:
- Digite uma mensagem no campo de texto.
- Clique em Enviar.
- Observe que a mensagem enviada e a resposta do servidor aparecem na lista.
- No monitor serial
Configurando a Conexão Wi-Fi no ESP32: Guia Passo a PassoAprenda passo a passo a conectar seu ESP32 à rede Wi-Fi com segurança e estabilidade. Descubra dicas práticas e estratégias de otimização. do Arduino IDE, observe as mensagens recebidas pelo ESP32.
Enviando Dados de Sensores em Tempo Real🔗
Vamos expandir o exemplo para enviar dados de um sensorProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. conectado ao ESP32 para o cliente web em intervalos regulares.
Configurando o Sensor
Para este exemplo, usaremos um potenciômetroLeitura de Potenciômetros e Sensores de TemperaturaConfigure o ESP32 para ler potenciômetros e sensores de temperatura com alta precisão, aplicando calibração e filtragem para medições confiáveis. conectado a um pino analógico do ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!.
- Conexões:
- Conecte o terminal central do potenciômetro
Leitura de Potenciômetros e Sensores de TemperaturaConfigure o ESP32 para ler potenciômetros e sensores de temperatura com alta precisão, aplicando calibração e filtragem para medições confiáveis. ao pino VP (GPIO
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! 36) do ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia!.
- Conecte os outros dois terminais a 3.3V e GND
Conectando Sensores de Movimento PIR ao ESP32Aprenda a integrar sensores PIR com ESP32 neste tutorial completo, explorando montagem, ajustes e programação na Arduino IDE., respectivamente.
- Conecte o terminal central do potenciômetro
Modificando o Código do Servidor
Adicione a leitura do sensorProgramando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. no
loop()
:
void loop()
{
webSocket.loop();
static unsigned long lastSensorRead = 0;
if (millis() - lastSensorRead > 1000)
{
lastSensorRead = millis();
int sensorValue = analogRead(36); // GPIO 36
String sensorData = "Sensor: " + String(sensorValue);
webSocket.broadcastTXT(sensorData);
}
}
Explicação das Modificações
- Leitura do Sensor
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código.:
- A cada 1000 milissegundos (1 segundo), o ESP32 lê o valor do sensor
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código..
- Usa
analogRead(36)
para ler o valor analógico do pino GPIO 36.
- A cada 1000 milissegundos (1 segundo), o ESP32 lê o valor do sensor
- Enviando Dados via WebSocket:
- Usa
webSocket.broadcastTXT(sensorData);
para enviar o valor a todos os clientes conectados.
- Usa
Atualizando o Cliente Web
Modifique a função onMessage(event)
no códigoDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! JavaScript para exibir os dados do sensor de forma adequada.
function onMessage(event)
{
var messages = document.getElementById('messages');
var message = document.createElement('li');
message.textContent = event.data;
messages.appendChild(message);
}
Testando a Atualização em Tempo Real
1. Recarregue o CódigoDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! no ESP32: Envie o código
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! modificado para o ESP32.
2. Recarregue a Página WebIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT.: No navegador, atualize a página.
3. Observe os Dados:
- A lista de mensagens começará a exibir os valores do sensor
Programando o ESP32 para Integração de SensoresAprenda a programar o ESP32 e integrar sensores com técnicas de leitura e controle para projetos de IoT, do hardware ao código. a cada segundo.
- Ao girar o potenciômetro
Leitura de Potenciômetros e Sensores de TemperaturaConfigure o ESP32 para ler potenciômetros e sensores de temperatura com alta precisão, aplicando calibração e filtragem para medições confiáveis., os valores mudam em tempo real.
Controle Remoto em Tempo Real🔗
Além de enviar dados do ESP32 para o cliente, podemos controlar o ESP32 a partir da página webIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT.. Vamos adicionar a capacidade de ligar e desligar um LED conectado ao ESP32.
Configurando o LED
- Conecte um LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! ao pino GPIO
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! 2 com um resistor limitador de corrente
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! adequado.
- Anodo (+) do LED conectado ao pino GPIO
Interação com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade. 2 através do resistor.
- Catodo (-) do LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! conectado ao GND
Conectando Sensores de Movimento PIR ao ESP32Aprenda a integrar sensores PIR com ESP32 neste tutorial completo, explorando montagem, ajustes e programação na Arduino IDE..
Modificando o Código do Servidor
Na função setup()
, configure o pino do LEDDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!:
void setup()
{
// ... código existente ...
pinMode(2, OUTPUT); // Configura o GPIO 2 como saída para o LED
// ... código existente ...
}
Modifique a função webSocketEvent()
para controlar o LEDDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! quando receber uma mensagem específica:
void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t length)
{
switch (type)
{
// ... casos existentes ...
case WStype_TEXT:
String message = String((char *) &payload[0]);
Serial.printf("Recebido do cliente [%u]: %s\n", num, payload);
if (message == "LED_ON")
{
digitalWrite(2, HIGH);
webSocket.sendTXT(num, "LED ligado");
}
else if (message == "LED_OFF")
{
digitalWrite(2, LOW);
webSocket.sendTXT(num, "LED desligado");
}
else
{
webSocket.sendTXT(num, "Comando desconhecido");
}
break;
}
}
Modificando o Cliente Web
Adicione botões na página webIntegração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. para controlar o LED:
<button onclick="turnOnLed()">Ligar LED</button>
<button onclick="turnOffLed()">Desligar LED</button>
Adicione as funções JavaScript correspondentes:
function turnOnLed()
{
websocket.send('LED_ON');
}
function turnOffLed()
{
websocket.send('LED_OFF');
}
Testando o Controle Remoto
1. Carregue o Novo CódigoDesafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! no ESP32.
- Clique em Ligar LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! para acender o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!.
- Clique em Desligar LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis! para apagar o LED
Desafios Práticos: Experimentando com Múltiplos LEDsAprenda a controlar múltiplos LEDs com ESP32 em projetos IoT. Descubra desafios práticos, montagem de circuitos, programação e efeitos visuais incríveis!.
- Observe que o ESP32
O que é o ESP32: Introdução e Conceitos BásicosDescubra como o ESP32 revoluciona a automação e IoT com dicas práticas e projetos que transformam sua casa conectada. Domine a tecnologia! responde com mensagens de confirmação exibidas na lista de mensagens.
Conclusão🔗
Implementamos com sucesso um sistema de comunicação📞 Interfone IP com Vídeo ChamadaDescubra como integrar interfone IP com vídeo chamada utilizando ESP32 para segurança residencial e corporativa, com streaming e criptografia avançada. em tempo real utilizando WebSockets no ESP32. Exploramos como estabelecer uma conexão bidirecional entre o ESP32 e um cliente web, enviar e receber dados em tempo real e controlar dispositivos remotamente.
Este conhecimento abre portas para uma variedade de aplicações📞 Interfone IP com Vídeo ChamadaDescubra como integrar interfone IP com vídeo chamada utilizando ESP32 para segurança residencial e corporativa, com streaming e criptografia avançada. em IoT, como:
- Monitoramento Remoto
Monitoramento Remoto de Sensores com ESP32 e MQTTAprenda a configurar ESP32 com MQTT para monitorar sensores IoT, garantindo comunicação eficiente e coleta de dados em tempo real.: Exibir dados de múltiplos sensores em tempo real
Exibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT..
- Automação Residencial
Introdução à Automação Residencial com ESP32Descubra como o ESP32 transforma sua casa em um lar inteligente com dicas práticas de configuração, programação e automação residencial.: Controlar dispositivos domésticos através de uma interface web
Interação com GPIOs via Interface Web no ESP32Aprenda a configurar e controlar os GPIOs do ESP32 por meio de uma interface web dinâmica realizando automação, monitoramento e interação remota com facilidade..
- Integração
Integração com Aplicativos Móveis e WebDescubra como integrar ESP32 com aplicativos móveis e dashboards web, garantindo interatividade, controle remoto e segurança em seus projetos IoT. com Serviços Web: Comunicar-se com plataformas na nuvem para armazenamento e análise de dados.
A implementação de WebSockets no ESP32 proporciona uma comunicação eficiente e responsiva, essencial para sistemas modernos que exigem interação em tempo realExibindo Dados no Monitor Serial com ESP32Aprenda a configurar e exibir dados no Monitor Serial com ESP32, utilizando exemplos práticos e técnicas de depuração para otimizar seus projetos IoT..
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- Arduino IDE Official Website: arduino.cc
- Documentação da Espressif: docs.espressif.com
- Documentação de Apresentação do ESP32: espressif.com/en/products/socs/esp32
- Documentação do ESP32 Arduino Core: docs.espressif.com/projects/arduino-esp32