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


Уведомитель о событиях отправляет электронные письма через 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 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 = "35 85 74 EF 67 35 A7 CE 40 69 50 F3 C0 F6 80 CF 80 3B 2E 19"; //odtlacok sha1 certifikatu
    
    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() {
      // Use WiFiClientSecure class to create TLS connection
      WiFiClientSecure client;
      Serial.print("connecting to ");
      Serial.println(host);
      if (!client.connect(host, httpsPort)) {
        Serial.println("connection failed");
        return;
      }
    
      if (client.verify(fingerprint, host)) {
        Serial.println("certificate matches");
      } else {
        Serial.println("certificate doesn't match");
      }
    
      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);
    ?>