Arduino ESP8266 ESP32 PHP E-mail (Mailer) Event

Уведомление о событиях по электронной почте


Уведомитель о событиях отправляет электронные письма через php-страницу на вашу почту в случае критической или важной информации. Систему можно использовать для отправки электронных писем в ситуациях:
  • Движение ночью вокруг ИК-датчика - подходит для помещений, залов
  • Датчик нагрева - подходит для белья, квартир
  • Датчики температуры. Сообщение о минусовой температуре. Подходит для комплектов
  • Влажность, перегрев воздуха - подходит для метеостанций
  • Превышение оборотов двигателя - датчик Холла с магнитом
  • Перенапряжение / текущий ток
  • и другие измеримые переменные
  • Поэтому задача уведомителя состоит в том, чтобы предоставить краткий отчет о состоянии домохозяйства / комнаты / рабочего места и немедленно сообщить о значениях по умолчанию. Из-за низкой скорости передачи данных (несколько байтов) также возможно использовать 3G-маршрутизатор со скоростью передачи данных для подключения ESP или Arduino и для отправки дополнительной информации, такой как текущая температура и т. д.

    Датчик движения для обеспечения безопасности в ночное время - бесшумная сигнализация:

    Датчик температуры - Использование в комплекте:

    затопление:

    Закрытие водяного клапана:


    Arduino + Ethernet W5100


    #include <SPI.h>
    #include <Ethernet.h>
    #define Hostname "Arduino"   
    byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};    
    char server[] = "www.mywebsite.com";      
    IPAddress ip(192, 168, 1, 254); //IP adresa zo subnet rozsahu
    EthernetClient client;   
    void setup() {
     Serial.begin(9600);
    }
     
    void loop() {
       if (Ethernet.begin(mac) == 0) {    
        Serial.println("Chyba konfiguracie DHCP, nastavim manualnu IPv4"); 
        Ethernet.begin(mac, ip);                       
      }  
    
    
    if (client.connect(server, 80)) { 
        Serial.println("Pripojenie na webserver prebehlo uspesne.."); 
        client.print("GET /email.php");   //umiestnenie php scriptu na webserveri  
        client.println(" HTTP/1.1");              
        client.println("Host: www.mywebsite.com");
        client.println("Connection: close");    
        client.println();                       
     client.stop();    
     Serial.println("E-mail uspesne odoslany!"); 
      } else {                                          
        Serial.println("Pripojenie neuspesne"); 
      }  
    delay(10000);
    }
    			

    Arduino + Ethernet W5200-W5500


    #include <SPI.h>
    #include <Ethernet2.h>
    #define Hostname "Arduino"   
    byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};    
    char server[] = "www.mywebsite.com";      
    IPAddress ip(192, 168, 1, 254); //IP adresa zo subnet rozsahu
    EthernetClient client;   
    void setup() {
     Serial.begin(9600);
    }
     
    void loop() {
       if (Ethernet.begin(mac) == 0) {    
        Serial.println("Chyba konfiguracie DHCP, nastavim manualnu IPv4"); 
        Ethernet.begin(mac, ip);                       
      }  
    
    
    if (client.connect(server, 80)) { 
        Serial.println("Pripojenie na webserver prebehlo uspesne.."); 
        client.print("GET /email.php");   //umiestnenie php scriptu na webserveri  
        client.println(" HTTP/1.1");              
        client.println("Host: www.mywebsite.com");
        client.println("Connection: close");    
        client.println();                       
     client.stop();    
     Serial.println("E-mail uspesne odoslany!"); 
      } else {                                          
        Serial.println("Pripojenie neuspesne"); 
      }  
    delay(10000);
    }
    			

    NodeMCU - ESP8266


    #include <ESP8266WiFi.h>
    #include <WiFiClientSecure.h>
    
    const char* ssid = "wifimeno";
    const char* password = "wifiheslo";
    
    const char* host = "mojweb.xxx";
    const int httpsPort = 443;
    const char fingerprint[] PROGMEM = "b0 6d 7f 8c 98 78 8e 6e 0a 57 a8 2f 7e d1 40 2a 1e 3f 48 f7";
    
    void setup() {
      Serial.begin(9600);
      Serial.println();
      Serial.print("connecting to ");
      Serial.println(ssid);
      WiFi.mode(WIFI_STA);
      WiFi.begin(ssid, password);
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
      }
      Serial.println("");
      Serial.println("WiFi connected");
      Serial.println("IP address: ");
      Serial.println(WiFi.localIP());
    }
    
    void loop() {
      WiFiClientSecure client;
      Serial.printf("Using fingerprint '%s'\n", fingerprint);
      client.setFingerprint(fingerprint);
      Serial.print("connecting to ");
      Serial.println(host);
      if (client.connect(host, httpsPort)) {
        String url = "/email.php";
        Serial.print("requesting URL: ");
        Serial.println(url);
        client.print(String("GET ") + url + " HTTP/1.1\r\n" +
                     "Host: " + host + "\r\n" +
                     "User-Agent: BuildFailureDetectorESP8266\r\n" +
                     "Connection: close\r\n\r\n");
      }
      delay(10000);
    }
    

    PHP e-mail sender


       <?php
    $sprava= "Ahoj svet!";
    $sprava= wordwrap($msg,70);
    mail("adresaprijimatela@jehomail.com","Hello",$sprava);
    ?>