Notifikátor udalostí


Notifikátor udalostí


Projekt vznikol ako doplnok pre iné Arduino projekty, plní dôležitú úlohu
  • Notifikátor udalostí odosiela e-maily prostredníctvom php stránky na váš mail
  • Medzi najbežnejšie udalosti pre notifikátor sa používa:
  • Pohybový senzor počas dňa (v noci neaktívny)/alebo naopak
  • Senzor vytopenia
  • Teplotné senzory
  • Ďalšie senzory podľa potreby.
  • Úlohou notifikátora je teda priniesť krátku správu o statuse domácnosti a o výchylkách z normálu.
  • E-mail je zaslaný okamžite pri udalosti, používateľ e-mail obdrží ihneď a je notifikovaný príslušnou aplikáciou v smartfóne (G-mail).
  • Notifikátor je uspôsobený na zaslanie takejto informácie, odosiela ju raz za 5 minút, aby nespamoval e-mailovú schránku, čím sa môže dostať na SPAM listinu.
  • Zdrojový kód pre PHP

    <?php
    $sprava = "Únik vody!";
    $sprava = wordwrap($msg,70);
    mail("adresa@prijimatela.sk","Predmet",$sprava);
    ?>
    

    Zdrojový kód pre Arduino

    #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);
    }