Tutorial Completo: Controle de Acesso com ESP8266 e RFID
Controle de Portão Automático via ESP8266: Teoria e Prática
Controlar um portão automático via Wi-Fi com ESP8266 combina conveniência, segurança e integração IoT
Sistema de controle de luzes de Natal com ESP8266Descubra como automatizar e controlar luzes de Natal usando ESP8266, com Wi-Fi, programação avançada, e economia energética. Transforme sua decoração com IoT.. Este artigo unifica teoria e prática, desde a eletrônica de potência até a programação segura, abordando:
- Controle de motores CC/CA com relays e ESP8266
Sistema de automação residencial com ESP8266 e controle de luzesEste tutorial aborda a implementação de automação residencial com ESP8266, destacando segurança, eficiência energética, integração MQTT e interface web. - Integração de sensores (obstáculos, posição, fim de curso)
- Desenvolvimento de interface web
Sistema de controle de persianas automatizadas com ESP8266Descubra como automatizar persianas com ESP8266 em um guia prático, unindo eficiência energética, segurança e integração IoT para automação da sua casa. e APIs robustas - Estratégias avançadas de autenticação e criptografia
- Testes de carga e calibração de sensores
Detector de vazamento de gás com ESP8266Aprenda a montar e programar um sistema IoT de detecção de gás com ESP8266, sensores MQ, notificações e protocolos de segurança avançados.
Índice🔗
- Componentes e Especificações Técnicas
- Projeto de Hardware e Diagramas
- Programação do ESP8266
Monitor de nível de água com ESP8266 para reservatóriosAprenda a monitorar e gerenciar reservatórios com sensores, ESP8266 e integração IoT em aplicações agrícolas e residenciais, de forma prática e precisa. - Integração de Sensores e Atuadores
- Segurança Física e Lógica
- Interface Web
Sistema de controle de persianas automatizadas com ESP8266Descubra como automatizar persianas com ESP8266 em um guia prático, unindo eficiência energética, segurança e integração IoT para automação da sua casa. e IoT - Testes, Calibração e Conclusão
Componentes e Especificações Técnicas🔗
| Componente | Função | Especificações |
|---|---|---|
| ESP8266 NodeMCU | Microcontrolador Wi-Fi | 80MHz, 4MB Flash, 802.11 b/g/n |
| Relé de Estado Sólido | Controle do motor | 5V DC, 40A AC/DC, Isolamento óptico |
| Sensor Hall | Detecção de posição do portão | Saída digital, 3.3V-5V, ±10mm |
| Sensor IR TCRT5000 | Detecção de obstáculos | 20cm alcance, saída analógica |
| Sensores Fim de Curso | Limites de abertura/fechamento | Interruptores mecânicos ou magnéticos |
| Fonte Chaveada | Alimentação do sistema | 12V DC 5A + 5V DC 2A (isoladas) |
| Protoboard e Cabos | Montagem do circuito | Compatível com ESP8266 e 12V |
Projeto de Hardware e Diagramas🔗
Teoria de Operação
Circuito de Controle para Motores de 220V AC
Cálculo de Potência do Motor:
- \( V \): Tensão (ex.: 220V)
- \( I \): Corrente nominal
- \( \cos(\phi) \): Fator de potência (0.8-0.9)
Programação do ESP8266🔗
Código Integrado (Controle Web + Sensores)
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WebSocketsServer.h>
ESP8266WebServer server(80);
WebSocketsServer webSocket = WebSocketsServer(81);
bool gateOpen = false;
const int relePin = D1, sensorHall = D2, sensorIR = A0, sensorAberto = D3, sensorFechado = D4;
void handleGateControl() {
if (server.hasArg("action")) {
String action = server.arg("action");
if (!server.authenticate("admin", "senhaSegura123")) {
return server.requestAuthentication();
}
if (action == "open" && digitalRead(sensorAberto) == LOW && !checkObstacle()) {
digitalWrite(relePin, HIGH);
gateOpen = true;
} else if (action == "close" && digitalRead(sensorFechado) == LOW) {
digitalWrite(relePin, LOW);
gateOpen = false;
}
server.send(200, "text/plain", "OK");
}
}
bool checkObstacle() {
return analogRead(sensorIR) < 500; // Calibrar conforme ambiente
}
void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t length) {
if (type == WStype_TEXT) {
if (strcmp((char*)payload, "status") == 0) {
String status = gateOpen ? "ABERTO" : "FECHADO";
webSocket.sendTXT(num, status);
}
}
}
void setup() {
pinMode(relePin, OUTPUT);
pinMode(sensorHall, INPUT);
pinMode(sensorIR, INPUT);
pinMode(sensorAberto, INPUT_PULLUP);
pinMode(sensorFechado, INPUT_PULLUP);
WiFi.begin("SUA_REDE", "SENHA");
while (WiFi.status() != WL_CONNECTED) delay(500);
server.on("/gate", handleGateControl);
server.begin();
webSocket.begin();
webSocket.onEvent(webSocketEvent);
}
void loop() {
server.handleClient();
webSocket.loop();
if (digitalRead(sensorAberto) && gateOpen) {
digitalWrite(relePin, LOW); // Parada de emergência
}
}
Integração de Sensores e Atuadores🔗
Estratégias de Controle
1. Sensor Hall para Posição:
- Usado para detectar movimento do portão via campo magnético.
- Fórmula de calibração:
2. Sensores Fim de Curso:
- Evitam sobrecarga mecânica. Implementar debouncing:
bool readSensor(int pin) {
delay(50);
return digitalRead(pin) == digitalRead(pin);
}
3. Sensor IR para Obstáculos:
- Detecta objetos até 20cm. Ajuste o limiar (
500no código) via leitura analógica.
Segurança Física e Lógica🔗
Camadas de Proteção
| Camada | Técnicas |
|---|---|
| Física | Isolamento óptico, fusíveis, fonte estável |
| Rede | HTTPS, filtro MAC, MQTT com TLS |
| Software | OAuth2, autenticação básica, validação de comandos |
Exemplo de Autenticação OAuth2 (Trecho):
// Adicione bibliotecas como <ESP8266HTTPClient.h> e <ArduinoJson.h>
void handleOAuth() {
String code = server.arg("code");
HTTPClient http;
http.begin("https://oauth.provider.com/token");
http.addHeader("Content-Type", "application/json");
String payload = "{\"code\":\"" + code + "\",\"client_id\":\"SEU_ID\"}";
int httpCode = http.POST(payload);
if (httpCode == 200) server.send(200, "text/plain", "Token válido");
else server.send(403, "text/plain", "Falha na autenticação");
}
Interface Web e IoT🔗
Dashboard com HTML5 + WebSockets
<div class="dashboard"> <button onclick="controlGate('open')">Abrir</button> <button onclick="controlGate('close')">Fechar</button> <div id="status">Portão: CARREGANDO...</div> <div id="obstaculo" style="color: red;"></div> </div> <script>const ws = new WebSocket('ws://' + location.host + ':81'); ws.onmessage = (e) => { document.getElementById("status").innerHTML = `Portão: ${e.data}`; }; setInterval(() => ws.send("status"), 1000); function controlGate(action) { fetch('/gate?action=' + action, { headers: {'Authorization': 'Basic ' + btoa('admin:senhaSegura123')} }); }</script>
Testes, Calibração e Conclusão🔗
Protocolo de Testes
1. Teste de Carga:
- 1.5x carga nominal por 10 ciclos. Monitorar temperatura do relé
Sistema de controle de bomba de água com ESP8266 para fontes decorativasAprenda a automatizar bombas de água usando ESP8266, com isolamento seguro, controle PID e integração IoT via web, MQTT e API para automação residencial. (<70°C).
- Ajuste do sensor Hall com multímetro e régua.
- Teste de obstáculos com objetos de 5cm a 20cm.
3. Teste de Segurança:
- Simular falha de energia durante operação.
- Testar autenticação com credenciais inválidas.
Conclusão
Controlar um portão via ESP8266 exemplifica a IoT aplicada à automação residencial, unindo hardware acessível a software robusto. Este guia integrou componentes críticos: sensores múltiplos, segurança em camadas e interface web responsiva. A implementação requer atenção à calibração, testes rigorosos e atualizações contínuas contra vulnerabilidades. Com essas práticas, o sistema não só oferece conveniência, mas também confiabilidade em longo prazo, sendo escalável para integração com assistentes de voz e plataformas IoT
Sistema de controle de luzes de Natal com ESP8266Descubra como automatizar e controlar luzes de Natal usando ESP8266, com Wi-Fi, programação avançada, e economia energética. Transforme sua decoração com IoT. complexas.
Nota: Todos os códigos e diagramas são ajustáveis conforme especificações do projeto. Sempre valide as conexões elétricas antes da energização.
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- Documentação Wiki do ESP8266: github.com/esp8266/esp8266-wiki/wiki
- ESP8266.com Community Forum: www.esp8266.com/viewforum.php?f=5
- GitHub - ESP8266 Community: github.com/esp8266/Arduino
- Random Nerd Tutorials: randomnerdtutorials.com/projects-esp8266/
- Site Oficial da Espressif: www.espressif.com/en/products/socs/esp8266
há 10 meses atrás
há 10 meses atrás
há 12 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 14 meses atrás
há 12 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás
há 10 meses atrás