Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
A conectividade em redes é um aspecto crucial em projetos de automação e Internet das Coisas (IoT). Utilizando o Arduino, é possível criar sistemas que se comunicam entre si e com a internet, permitindo o controle remoto de dispositivos. Este artigo aborda a importância da conectividade em redes, especialmente no contexto de projetos com Arduino, e fornece um exemplo prático de como implementar um sistema de controle remoto utilizando um módulo Wi-Fi ESP8266.
Projeto: O projeto consiste em criar um sistema de controle remoto para acender e apagar um LED via internet. O objetivo é demonstrar como configurar uma rede Wi-Fi para conectar o Arduino à internet e enviar comandos para controlar o LED. Este sistema pode ser expandido para controlar outros dispositivos, como relés para automação residencial.
Lista de componentes:
Exemplos:
#include <ESP8266WiFi.h>
// Defina as credenciais da sua rede Wi-Fi
const char* ssid = "SEU_SSID";
const char* password = "SUA_SENHA";
// Crie um servidor na porta 80
WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
// Conecte-se à rede Wi-Fi
Serial.println();
Serial.println();
Serial.print("Conectando-se a ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi conectado");
Serial.println("Endereço IP: ");
Serial.println(WiFi.localIP());
// Inicie o servidor
server.begin();
Serial.println("Servidor iniciado");
}
void loop() {
// Verifique se há clientes conectados
WiFiClient client = server.available();
if (!client) {
return;
}
// Aguarde até que o cliente envie dados
Serial.println("Novo cliente");
while(!client.available()){
delay(1);
}
// Leia a primeira linha da requisição
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
// Controle o LED com base na requisição
int value = LOW;
if (request.indexOf("/LED=ON") != -1) {
value = HIGH;
} else if (request.indexOf("/LED=OFF") != -1) {
value = LOW;
}
digitalWrite(LED_BUILTIN, value);
// Responda ao cliente
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.print("LED está agora: ");
if(value == HIGH) {
client.print("ON");
} else {
client.print("OFF");
}
client.println("<br><br>");
client.println("Clique <a href=\"/LED=ON\">aqui</a> para ligar o LED.<br>");
client.println("Clique <a href=\"/LED=OFF\">aqui</a> para desligar o LED.<br>");
client.println("</html>");
delay(1);
Serial.println("Cliente desconectado");
Serial.println("");
}
Explicação do código:
ssid
e password
.setup()
, o Arduino se conecta à rede Wi-Fi e inicia um servidor na porta 80.loop()
, o código verifica se há clientes conectados e lê a requisição HTTP./LED=ON
ou /LED=OFF
), o LED é ligado ou desligado.