Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
No mundo da automação e da Internet das Coisas (IoT), a capacidade de enviar notificações por email é uma funcionalidade extremamente útil. Imagine ser notificado por email quando a temperatura de um ambiente ultrapassa um determinado limite ou quando há uma intrusão em sua casa. Este artigo aborda como configurar um sistema de notificações por email utilizando a plataforma Arduino, proporcionando ao leitor uma ferramenta poderosa para monitoramento e alertas em tempo real. Vamos ajustar o ambiente Arduino para trabalhar com um módulo Wi-Fi, como o ESP8266, que permitirá a conexão à internet e o envio de emails.
Projeto: Neste projeto, vamos criar um sistema de monitoramento de temperatura que envia uma notificação por email quando a temperatura ultrapassa um valor predefinido. Utilizaremos um sensor de temperatura DHT11 e um módulo Wi-Fi ESP8266 para conectar o Arduino à internet. O objetivo é aprender a configurar o hardware e o software necessários para enviar emails automaticamente com base em leituras de sensores.
Lista de componentes:
Exemplos:
#include <ESP8266WiFi.h>
#include <DHT.h>
// Definições do sensor DHT11
#define DHTPIN 2 // Pino digital onde o DHT11 está conectado
#define DHTTYPE DHT11 // Definindo o tipo de sensor DHT
DHT dht(DHTPIN, DHTTYPE);
// Definições da rede Wi-Fi
const char* ssid = "SEU_SSID";
const char* password = "SUA_SENHA";
// Definições do servidor SMTP
const char* smtp_server = "smtp.gmail.com";
const int smtp_port = 587;
const char* smtp_user = "seu_email@gmail.com";
const char* smtp_pass = "sua_senha";
// Função para enviar email
void sendEmail(String subject, String body) {
WiFiClient client;
if (!client.connect(smtp_server, smtp_port)) {
Serial.println("Conexão ao servidor SMTP falhou");
return;
}
client.println("EHLO smtp.gmail.com");
client.println("AUTH LOGIN");
client.println(base64::encode(smtp_user));
client.println(base64::encode(smtp_pass));
client.println("MAIL FROM:<" + String(smtp_user) + ">");
client.println("RCPT TO:<destinatario@gmail.com>");
client.println("DATA");
client.println("Subject: " + subject);
client.println(body);
client.println(".");
client.println("QUIT");
client.stop();
}
void setup() {
Serial.begin(115200);
dht.begin();
// Conectando ao Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Conectado ao WiFi");
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Falha ao ler do sensor DHT");
return;
}
Serial.print("Umidade: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.println(" *C");
if (t > 30) { // Limite de temperatura para enviar email
sendEmail("Alerta de Temperatura", "A temperatura ultrapassou 30 graus Celsius!");
}
delay(60000); // Espera 1 minuto antes de ler novamente
}
No código acima, configuramos o sensor DHT11 para ler a temperatura e a umidade. Se a temperatura ultrapassar 30 graus Celsius, um email de alerta é enviado usando o servidor SMTP do Gmail. É necessário substituir as credenciais de rede e de email pelas suas próprias.