Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Conectividade em Redes com Arduino: Controlando Dispositivos Remotamente

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:

  • 1 Arduino Uno
  • 1 Módulo Wi-Fi ESP8266
  • 1 LED
  • 1 Resistor de 220 ohms
  • Jumpers
  • Protoboard

Exemplos:

  1. Configuração do ESP8266:
#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:

  • O código começa incluindo a biblioteca ESP8266WiFi.h, necessária para utilizar o módulo ESP8266.
  • As credenciais da rede Wi-Fi são definidas nas constantes ssid e password.
  • No setup(), o Arduino se conecta à rede Wi-Fi e inicia um servidor na porta 80.
  • No loop(), o código verifica se há clientes conectados e lê a requisição HTTP.
  • Dependendo da requisição (/LED=ON ou /LED=OFF), o LED é ligado ou desligado.
  • Finalmente, o Arduino responde ao cliente com uma página HTML simples.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.