A Automação Residencial com ESP32 é um projeto que integra além de diversos comandos, a facilidade de controle através da web, uma vez que utiliza tanto dispositivos móveis, como smartphones, quanto computadores e demais dispositivos que tenham acesso à rede.
Quem trabalha com eletrônica a um mais tempo e tem um conhecimento mais avançado em programação, com toda certeza tem o sonho de automatizar a sua casa, mas mesmo que pareça algo tão difícil, a automação residencial com ESP32 consegue simplificar bastante este processo.
Quando pensamos em automação com Arduino, temos um mundo de possibilidades, sensores e módulos para controle, mas nos limitamos às comunicações possíveis deste microcontrolador e por vezes incluímos dispositivos como Bluetooth, IR ou Ethernet.
A vantagem do ESP32 e a automação residencial com o mesmo, é que este microcontrolador possui tanto dispositivos para conexão Wi-Fi quanto dispositivo para conexão Bluetooth e isto tudo já integrado ao módulo.
Automação Residencial
A automação residencial é um conceito que vem conquistando cada vez mais o sonho de todos aqueles que desejam uma casa autossustentável com execuções que facilitam o dia a dia em diversas tarefas.
O uso da tecnologia como facilitadora em algumas tarefas que em casas convencionais são atribuídas aos seus moradores ganha o nome de automação residencial, uma vez que torna automáticas algumas das tarefas das residências às quais é integrada.
Poder controlar remotamente a sua casa, receber alertas de segurança, verificar câmeras de monitoramento e controlar janelas, equipamentos eletrônicos e demais dispositivos é algo que traz conforto, praticidade e segurança.
Alguns conceitos são básicos quando pensamos em automação residencial, é o caso do controle de acionamento das luzes, a verificação de temperatura e umidade de ambientes internos e até mesmo o controle do sistema de alarme, por exemplo.
Uma das dificuldades que encontramos quando decidimos desenvolver um projeto de automação é o sistema de comunicação e acionamento, o qual por vezes é desenvolvido através do módulo Bluetooth, que nos limitam à distância de funcionamento do projeto, ou do Ethernet que nos limita a um ponto físico via cabo.
Porque Utilizar ESP32 na Automação Residencial?
Através do ESP32, porém temos um projeto de automação residencial de custo reduzido, uma vez que o próprio microcontrolador já possui integrado um sistema de comunicação Wi-Fi e Bluetooth.
Estes recursos integrados dispensam a necessidade de módulos extras e facilitam a conexão do projeto, evitando fios e demais conexões necessárias para os devidos componentes, deixando nosso projeto mais compacto e simples.
Quais as automações possíveis com o ESP32?
Algumas das possíveis automações de aplicarmos em nossas residências já foram mencionadas anteriormente, mas vamos explorar um pouco mais cada uma delas:
Sistema de controle de iluminação: Através da automação residencial podemos controlar através de smartphones e computadores o liga e desliga de lâmpadas, por exemplo, associadas a módulos relés.
Sistema de monitoramento: Um dos recursos muito úteis para quem deseja automatizar a sua casa diz respeito ao monitoramento, o qual pode ser executado de maneira mais simples e direta, através de um ESP32 CAM, uma câmera já instalada a um ESP32 e que pode ser configurada diretamente através do módulo.
Sistema de segurança: Muitos recursos podem ser incluídos neste item, dentre eles, o acionamento e a interrupção de sensores de presença e movimento como o PIR e seus respectivos sistemas de alarme sonoro.
Sistema de Acesso: Com o ESP32 é possível incluirmos a nossa automação residencial sistemas de verificação de acesso através de leitores biométricos, leitores RFID, senhas e demais tecnologias compatíveis que irão proteger contra a entrada de pessoas não autorizadas.
Sistema de controle para cortinas e janelas: Através dos devidos dispositivos e produtos compatíveis é possível incluirmos ao nosso projeto de automação sensores de luz e chuva, por exemplo, que controlariam a abertura e o fechamento de cortinas e janelas.
Sistema de controle de temperatura: Um dos recursos possíveis através da automação residencial é o controle de temperatura do ambiente, onde podemos integrar sensores como o DHT11 ou 22 e o DS18B20 para o controle de ar condicionado e aquecedor.
Enfim, estas são apenas algumas das possibilidades que podemos executar com este pequeno microcontrolador e o melhor disso, tudo diretamente através da tela do seu smartphone.
Posso executar todas estas funções com um único ESP32?
Infelizmente não, cada modelo de microcontrolador possui um número limitado de portas digitais para utilização, o que impede, por exemplo, que todos os exemplos citados acima sejam utilizados em um único ESP32.
Casa MDF para Projetos
A casa MDF para projetos é um produto exclusivo desenvolvido pela Usinainfo para possibilitar o projeto de automatização por iniciantes e hobbistas que queiram praticar seus conhecimentos diretamente de maneira simplificada e direta.
A automação residencial com ESP32 foi desenvolvida totalmente em cima deste da Casa MDF para projetos e conta com diversas funções já associadas ao corpo da mesma, o ESP32, por exemplo, já possui seu local de instalação assim como todos os demais sensores utilizados neste projeto.
Para facilitar o desenvolvimento do projeto, todos os cômodos possuem uma saída ao fundo para a passagem de fios e um local central para fixação dos suportes para LED, utilizados para simular as lâmpadas.
A instalação do projeto é bastante complexa assim como poderão observar abaixo no esquema de ligação do mesmo, todos os fios de alimentação são conectados apenas no ESP32 e no Extensor de Portas como se pode observar abaixo:
Porém mesmo que este projeto tenha sido realizado com o ESP, a Casa MDF possui também local para instalação de Arduino, mas lembre de que o projeto utilizado com Arduino não pode ser exatamente o mesmo.
Quais as funções que a casa MDF automatizada possui?
Ao abrirmos a página de informações do projeto, as primeiras informações que temos disponível é a de temperatura e de umidade, captadas através de um Sensor de Temperatura e Umidade DHT11, que possui seu local de instalação junto ao LED do cômodo denominado sala, veja:
Além disto, outro sensor utilizado no projeto é o sensor PIR de Movimento, utilizado em conjunto com um Módulo Buzzer ativo para a simulação de um sistema de alarme que detecta movimentos e gera um sinal previamente programado e instalado junto ao cômodo identificado como Cozinha.
Junto ao local criado na Web para o projeto existe um botão específico para o alarme que serve como um interruptor de acionamento, se pressionado e também detectado movimento ele dispara o Buzzer, porém se estiver desativado e o PIR identificar um sinal, nada irá acontecer.
Outro item incluído ao projeto é o Micro Servo Motor SG90, utilizado para controlar o abre e fecha da porta da garagem e que possui ângulos fixos que necessitam de muita atenção no momento da instalação ou podem causar danos irreversíveis ao mesmo.
Utilizado com um sistema de duas posições o Servo da Automação residencial com ESP32 é regulado para trabalhar em ângulos fixos, o indicado para sua utilização é que antes da instalação o mesmo seja posto em um ângulo 0 e verificado quais os melhores ângulos para serem incluídos no código.
Por fim, mas não menos importante, temos o processo de instalação dos LEDs, feitos de maneira direta através de jumpers conectados ao microcontrolador.
Vale lembrar que neste projeto utilizamos os LEDs para uma simulação direta, mas também pode-se utilizar a mesma lógica para o acionamento de módulos relés, por exemplo, para controles diferenciados ou controle de dispositivos de maior potência.
Equipamentos Utilizados na Automação Residencial
Os produtos utilizados no desenvolvimento da Automação Residencial com ESP32 assim como suas respectivas quantidades podem ser verificados através da lista abaixo:
– 1 Estrutura em MDF para Casa Automatizada Domum com ESP32 ou Arduino;
– 1 NodeMCU ESP32S Iot com WiFi e Bluetooth – 38 Pinos;
– 1 Extensor de Portas 0 a 6V 10 Saídas com Jack P4;
– 1 Micro Servo Motor 9g SG90 180°;
– 1 Módulo Sensor de Umidade e Temperatura DHT11;
– 1 Buzzer Passivo / Módulo Transdutor – BP18;
– 1 Sensor PIR / Sensor de Movimento para Arduino – HC-SR501;
– 6 LED Branco de Alto Brilho 5mm;
– 20 Jumper Premium para Protoboard Fêmea-Fêmea 30 cm;
– 7 Jumper Premium para Protoboard Macho-Fêmea 20 cm;
– 1 Fonte de Alimentação Chaveada 5VDC 1A.
Esquema de Ligação Automação Residencial com ESP32
O esquema de ligação da Automação Residencial com ESP32 é complexa e apresenta uma dificuldade um pouco mais elevada, sendo que possui diversos componentes e jumpers interligando os diferentes módulos e este esquema de ligação, veja:
Como podemos observar, diversos fios são utilizados para a conexão dos devidos elementos, porém vale ressaltar que a ligação dos LED pode depender de acordo com os cômodos da automação, então lembre-se sempre de verificar esta informação na ligação final.
Código de Funcionamento Automação Residencial com ESP32
O código de funcionamento trabalha com diferentes variáveis incluindo partes de programação em HTML, mas em sua maioria em C++. Através de suas três bibliotecas consegue gerenciar todos os comandos e garantir as devidas funcionalidades do projeto.
A Biblioteca WiFi.h é uma biblioteca original instalada junto aos recursos de programação do ESP32, não sendo necessária ser instalada, mas que é de suma importância a sua inclusão, uma vez que auxilia na conexão de rede WiFi e permite o controle de todo o projeto.
Ao incluirmos a biblioteca ESP32Servo.h temos um controle mais preciso dos servos, podendo variar a velocidade de deslocamento das posições assim como os comandos da famosa biblioteca VarSpeed.h utilizada no Arduino para esta função.
Biblioteca ESP32Servo.h: DOWNLOAD AQUI.
Já para o controle dos dados recebidos pelo sensor de temperatura e umidade, necessitamos da Biblioteca DHT.h responsável por verificar os dados de temperatura coletado e devolvê-los de acordo com os nossos padrões de exibição.
Biblioteca DHT.h: DOWNLOAD AQUI.
Biblioteca Adafruit_Sensor-master. DOWNLOAD AQUI.
Vale relembrar que é preciso instalar as bibliotecas recomendadas antes de prosseguir com a programação. Além disso, lembre-se que é preciso trocar as informações sobre a rede Wifi (usuário e senha) diretamente no código de acordo com sua rede.
Como o projeto não utiliza aplicativo, é preciso acessar o endereço IP diretamente no seu navegador de Internet, utilizando o mesmo padrão declarado no código, no nosso exemplo o endereço é 192.168.0.196 . Caso sua faixa IP padrão não seja a mesma, é preciso fazer a alteração para um endereço compatível.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 |
// Projeto Automação Residencial com ESP32 #include <WiFi.h> // Inclui biblioteca WiFi.h #include <ESP32Servo.h> // Inclui biblioteca ESP32Servo.h #include <DHT.h> // Inclui biblioteca DHT.h ESP32Servo motorgaragem; DHT dht(5, DHT11); float t; // Inicia Variáveld e temperatura float h; // Inicia variável de umidade // Dados para conexão Wi-Fi const char* ssid = "USINA 01"; // Inserir nome da rede const char* password = "usina105601"; // Inserir senha da rede WiFiServer server(80); // Dados para definição de IP Fixo IPAddress local_IP(192, 168, 0, 196); IPAddress gateway(192, 168, 0, 1); IPAddress subnet(255, 255, 255, 0); IPAddress primaryDNS(8, 8, 8, 8); IPAddress secondaryDNS(8, 8, 4, 4); String header; String cozinha = "Desligada"; String sala = "Desligada"; String garagem = "Desligada"; String varanda = "Desligada"; String quarto = "Desligada"; String sotao = "Desligada"; String porta = "Fechada"; String alarme = "Desativado"; // Define os pinos utilizados pelo ESP32 const int luzsala = 4; const int luzvaranda = 12; static const int servo = 13; const int luzgaragem = 14; const int luzcozinha = 15; const int luzquarto = 16; const int luzsotao = 17; #define pir 18 #define som 19 #define sinalalarme 2 unsigned long currentTime = millis(); unsigned long previousTime = 0; const long timeoutTime = 2000; int angulo = 116; int i; void setup() { Serial.begin(115200); dht.begin(); // Define os pinos como saída de sinal pinMode(luzcozinha, OUTPUT); pinMode(luzsala, OUTPUT); pinMode(luzgaragem, OUTPUT); pinMode(luzvaranda, OUTPUT); pinMode(luzquarto, OUTPUT); pinMode(luzsotao, OUTPUT); pinMode(som, OUTPUT); pinMode(sinalalarme, OUTPUT); pinMode(pir, INPUT); motorgaragem.attach(servo); // Inicia os pinos em nível baixo (LOW) digitalWrite(luzcozinha, LOW); digitalWrite(luzsala, LOW); digitalWrite(luzgaragem, LOW); digitalWrite(luzvaranda, LOW); digitalWrite(luzquarto, LOW); digitalWrite(luzsotao, LOW); digitalWrite(som, HIGH); digitalWrite(sinalalarme, LOW); motorgaragem.write(116, 60); Serial.begin(115200); // Define o baudrate utilizado para comunicação serial if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) { Serial.println("STA Failed to configure"); } Serial.println("Conectando a "); Serial.println(ssid); //Conecta à Rede Wifi indicada anteriormente WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.print("."); } Serial.println(""); Serial.println("WiFi conectado ..!"); Serial.print("IP obtido: "); Serial.println(WiFi.localIP()); server.begin(); Serial.println("Servidor HTTP iniciado"); } void loop() { WiFiClient client = server.available(); if (client) { currentTime = millis(); previousTime = currentTime; Serial.println("New Client."); String currentLine = ""; while (client.connected() && currentTime - previousTime <= timeoutTime) { currentTime = millis(); if (client.available()) { char c = client.read(); Serial.write(c); header += c; if (c == '\n') { if (currentLine.length() == 0) { client.println("HTTP/1.1 200 OK"); client.println("Content-type:text/html"); client.println("Connection: close"); client.println(); if (header.indexOf("GET /cozinha/ligado") >= 0) { cozinha = "Ligado"; digitalWrite(luzcozinha, HIGH); } else if (header.indexOf("GET /cozinha/desligado") >= 0) { cozinha = "Desligado"; digitalWrite(luzcozinha, LOW); } else if (header.indexOf("GET /sala/ligado") >= 0) { sala = "Ligado"; digitalWrite(luzsala, HIGH); } else if (header.indexOf("GET /sala/desligado") >= 0) { sala = "Desligado"; digitalWrite(luzsala, LOW); } else if (header.indexOf("GET /garagem/ligado") >= 0) { garagem = "Ligado"; digitalWrite(luzgaragem, HIGH); } else if (header.indexOf("GET /garagem/desligado") >= 0) { garagem = "Desligado"; digitalWrite(luzgaragem, LOW); } else if (header.indexOf("GET /varanda/ligado") >= 0) { varanda = "Ligado"; digitalWrite(luzvaranda, HIGH); } else if (header.indexOf("GET /varanda/desligado") >= 0) { varanda = "Desligado"; digitalWrite(luzvaranda, LOW); } else if (header.indexOf("GET /quarto/ligado") >= 0) { quarto = "Ligado"; digitalWrite(luzquarto, HIGH); } else if (header.indexOf("GET /quarto/desligado") >= 0) { quarto = "Desligado"; digitalWrite(luzquarto, LOW); } else if (header.indexOf("GET /sotao/ligado") >= 0) { sotao = "Ligado"; digitalWrite(luzsotao, HIGH); } else if (header.indexOf("GET /sotao/desligado") >= 0) { sotao = "Desligado"; digitalWrite(luzsotao, LOW); } else if (header.indexOf("GET /porta/aberta") >= 0) { porta = "Aberta"; motorgaragem.write(16, 60); } else if (header.indexOf("GET /porta/fechada") >= 0) { porta = "Fechada"; motorgaragem.write(116, 60); } else if (header.indexOf("GET /alarme/ativado") >= 0) { alarme = "Ativado"; digitalWrite(sinalalarme, HIGH); Serial.println("Alarme Acionado"); } else if (header.indexOf("GET /alarme/desativado") >= 0) { alarme = "Desativado"; digitalWrite(sinalalarme, LOW); } h = dht.readHumidity(); t = dht.readTemperature(); client.println("<!DOCTYPE html><html>"); client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"); client.println("<link rel=\"icon\" href=\"data:,\">"); client.println("<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}"); client.println(".button { background-color: #B84F4F; border: none; color: white; padding: 16px 40px;"); client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}"); client.println(".button2 {background-color: #4CAF50;}</style></head>"); client.println("<body><h1>CONTROLE PARA CASA</h1>"); client.println("<hr>"); client.println("<hr>"); client.println("<h3>Temperatura: " + (String)t + "</h3>"); client.println("<h3>Umidade: " + (String)h + "</h3>"); client.println("<hr>"); client.println("<h3>Luz Cozinha - " + cozinha + "</h3>"); if (cozinha == "Ligado") { client.println("<p><a href=\"/cozinha/desligado\"><button class=\"button\">DESLIGAR</button></a></p>"); } else { client.println("<p><a href=\"/cozinha/ligado\"><button class=\"button button2\">LIGAR</button></a></p>"); } client.println("<hr>"); client.println("<h3>Luz Sala - " + sala + "</h3>"); if (sala == "Ligado") { client.println("<p><a href=\"/sala/desligado\"><button class=\"button\">DESLIGAR</button></a></p>"); } else { client.println("<p><a href=\"/sala/ligado\"><button class=\"button button2\">LIGAR</button></a></p>"); } client.println("<hr>"); client.println("<h3>Luz Garagem - " + garagem + "</h3>"); if (garagem == "Ligado") { client.println("<p><a href=\"/garagem/desligado\"><button class=\"button\">DESLIGAR</button></a></p>"); } else { client.println("<p><a href=\"/garagem/ligado\"><button class=\"button button2\">LIGAR</button></a></p>"); } client.println("<hr>"); client.println("<h3>Luz Varanda - " + varanda + "</h3>"); if (varanda == "Ligado") { client.println("<p><a href=\"/varanda/desligado#varanda\" name=\"varanda\"><button class=\"button\">DESLIGAR</button></a></p>"); } else { client.println("<p><a href=\"/varanda/ligado#varanda\" name=\"varanda\"><button class=\"button button2\">LIGAR</button></a></p>"); } client.println("<hr>"); client.println("<h3>Luz Quarto - " + quarto + "</h3>"); if (quarto == "Ligado") { client.println("<p><a href=\"/quarto/desligado#quarto\" name=\"quarto\"><button class=\"button\">DESLIGAR</button></a></p>"); } else { client.println("<p><a href=\"/quarto/ligado#quarto\" name=\"quarto\"><button class=\"button button2\">LIGAR</button></a></p>"); } client.println("<hr>"); client.println("<h3>Luz Sotao - " + sotao + "</h3>"); if (sotao == "Ligado") { client.println("<p><a href=\"/sotao/desligado#sotao\" name=\"sotao\"><button class=\"button\">DESLIGAR</button></a></p>"); } else { client.println("<p><a href=\"/sotao/ligado#sotao\" name=\"sotao\"><button class=\"button button2\">LIGAR</button></a></p>"); } client.println("<hr>"); client.println("<h3>Porta Garagem - " + porta + "</h3>"); if (porta == "Aberta") { client.println("<p><a href=\"/porta/fechada#porta\" name=\"porta\"><button class=\"button\">FECHAR</button></a></p>"); } else { client.println("<p><a href=\"/porta/aberta#porta\" name=\"porta\"><button class=\"button button2\">ABRIR</button></a></p>"); } client.println("<hr>"); client.println("<h3>Alarme - " + alarme + "</h3>"); if (alarme == "Ativado") { client.println("<p><a href=\"/alarme/desativado#alarme\" name=\"alarme\"><button class=\"button\">DESATIVAR</button></a></p>"); } else { client.println("<p><a href=\"/alarme/ativado#alarme\" name=\"alarme\"><button class=\"button button2\">ATIVAR</button></a></p>"); } client.println("</body></html>"); client.println(); break; } else { currentLine = ""; } } else if (c != '\r') { currentLine += c; } } } header = ""; client.stop(); Serial.println("Client disconnected."); Serial.println(""); } if (digitalRead(pir) == LOW && digitalRead(sinalalarme) == LOW) { digitalWrite (som, HIGH); } if (digitalRead(pir) == HIGH && digitalRead(sinalalarme) == HIGH) { digitalWrite (som, LOW); delay (1000); digitalWrite (som, HIGH); delay (1000); digitalWrite (som, LOW); delay (1000); digitalWrite (som, HIGH); delay (1000); digitalWrite (som, LOW); delay (1000); digitalWrite (som, HIGH); delay (1000); digitalWrite (som, LOW); delay (1000); digitalWrite (som, HIGH); delay (1000); } } |
O código é longo e por vezes parece complicado, mas a sua compreensão é extremamente simples, o código está com as variáveis todas em português, o que facilita esta compreensão e a página web está disponível para ser utilizada tanto em computadores como em celulares.
Por ser um sistema de navegação gerado via link, todas as variáveis são salvas em seu armazenamento interno, não importando o local de acesso, desde que o dispositivo não seja reiniciado, o estado dos botões será sempre mantido.
Conclusão
A automação residencial com ESP32 é um projeto desenvolvido para aplicar os conhecimentos em eletrônica e robótica que possibilita o controle residencial de uma mini casa simulada através de comandos Web.
Mesmo com um esquema de ligação bastante complexo sua ligação não é difícil, pois se torna complexo apenas pelo excessivo número de fios que necessitam ser gerenciados durante a instalação.
A página Web é desenvolvida integrando linguagens de comunicação C para o controle de funções do ESP e HTML para os comandos utilizados no navegador, integrar os dois em uma única função parece difícil, mas observando o código como um todo isto não parece ser um problema.
Este é um projeto base que pode ser utilizado como base para o desenvolvimento de projetos ainda mais completos e que agreguem ainda mais itens, por isto, lembre-se de sempre por a sua criatividade em prática, inclua diferentes sensores e dispositivos e prepare-se para em breve estar automatizando sua própria casa.
Muito educativo de fácil assimilação. Bom.
Boa tarde Matheus. Estou iniciando no arduino e estou com dúvidas no código. Você pode me ajudar? Copiei e colei o código acima e deu erro na linha 88. ) erro que deu foi esse:
exit status 1
no matching function for call to ‘WiFiClass::config(IPAddress&, IPAddress&, IPAddress&, IPAddress&, IPAddress&)’
O que devo fazer?
Obrigado
Olá Carlos! Este projeto trabalha com um sistema de IP Fixo e pelo erro o ESP não está conseguindo se conectar aos dados que você forneceu, verifique se seu dispositivo de internet consegue se conectar ao ESP32 através do IP ou tente trocá-lo, mas caso não obtenha sucesso recomendaria utilizar um sistema de IP estático, como neste exemplo de aplicação: https://www.usinainfo.com.br/blog/projeto-esp32-wifi-para-automacao-no-controle-de-reles-pela-internet/
Deixo meus parabéns pelo trabalho.
ótimo site bastante material.
to iniciando no ramo de automação.
Olá!
Uma dúvida: Não foi usado nenhum resistor para ligar os leds.
Isso não pode danificá-los?
Olá José! Neste caso não tem problema, o ESP32 trabalha com uma tensão de 3,3V em seus pinos digitais, valor ideal para funcionamento dos LED, diferente do Arduino que trabalha com uma tensão de 5V e que se torna superior ao limite dos mesmos.
Top
ShoW!
Parabéns!
o que utiliza para controlar o código?quero controlar através da app blynk no meu iphone a nova app e estou com problemas de como conectar a placa com a app
Olá Miguel! Para este projeto eu criei via html a área de controle da casinha, infelizmente nunca trabalhei com o Blynk no ESP32, apenas no Arduino. Vou te amndar o link para ver se lhe ajuda: https://www.usinainfo.com.br/blog/carrinho-arduino-de-eixo-movel-com-controle-bluetooth-via-blynk/
muito legal Matheus, bem difícil de achar conteúdo assim na net. eu fiquei confuso, como você fez para enviar as informações dos sensores para a web? qual comando vc uso no HTML? Precisa criar alguma função especifica no esp32?
Olá João.
O comado utilizado para realizar a escritas dos arquivos html ou outro arquivo no server é o client.println(“”);
Caso desejar pode se criar uma função que insere a string nessa função e salva o arquivo para exibir ao client.
Espero que ajude.
Comprei tudo para fazer esse projeto mas estou tendo dificuldades para acessar pela web, alguém pode me ajudar?