[ Príspevok: 1 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 07.08.22
Príspevky: 441
Témy: 194 | 194
Bydlisko: Poprad-okolie

Dnes v krátosti predstavím notifikátor udalostí, ktorý bol pôvodne navrhnutý už k existujúcim projektom. Jeho hlavnou úlohou bolo upozornenie na stavy a krízové situácie, ktoré počas behu systému nastali a vyžadujú pozornosť, alebo vyriešenie. Upozornenia boli riešené odosielaním e-mailov s časovým obmedzením navoleným používateľom.
Notifikátor udalostí cez mikrokontróler
To vo výsledku znamená, že ak dôjde ku krízovej situácii, aby systém s každým pripojením mikrokontroléra neodosielal email cez .php stránku, je to ohraničené časovým intervalom - medzerou. V intervaloch (napr. každých 5 min, alebo iný navolený interval) je používateľ informovaný e-mailom na krízovú situáciu. Po prihlásení používateľa do systému sa už e-mailové notifikácie ďalej k tomu konkrétnemu problému neposielajú. V prípade, že je používateľ v systéme a nastane krízová situácia, e-mail sa odošle minimálne 1 krát pre prípad, ak by to prehliadol a pod.
Využitie je plánované hlavne pre tieto účely:
    Pohyb v noci okolo PIR senzora - vhodné pre areály, haly
    Senzor vytopenia - vhodné pre práčovne, byty
    Teplotné senzory - oznam pri mínusovej teplote - vhodné pre sady, kotolne
    Prekročenie vlhkosti, tlaku vzduchu - vhodné pre meteostanice
    Prekročenie otáčok motora - hall snímač s magnetom
    Prekročenie napätia/prúdu
    a ďalšie veličiny, ktoré je možné merať
Každý e-mail je možné odoslať s rôznymi informáciami. Napríklad stav batérie, opis problému, posledné hodnoty, aké riešenie sa vyžaduje a pod.
Notifikátor udalostí cez mikrokontróler
Systém je teda vhodný aj pre laikov a dokáže zabrániť väčšej katastrofe, napríklad pri vytopení v noci, mimo domu, pomôže s rýchlejšou reakciou na problém s možnosťou okamžitého vyriešenia - napríklad uzavretím solenoid ventilu pre vodu automaticky, nevyžaduje sa akcia od používateľa. O uzavretí môže byť používateľ taktiež notifikovaný. Súčasťou je aj webaplikácia, kde môže používateľ vidieť aj aktuálne hodnoty a po oprave problému vytopenia môže jedným klikom opäť dovoliť systému elektromagnetický ventil - solenoid otvoriť prostredníctvom relé.
Notifikátor udalostí cez mikrokontróler
Čo sa týka dátovej náročnosti, .php súbor, na ktorý sa mikrokontróler pripojí má do 1kB, podľa rozsiahlosti kódu. Je teda vhodný aj 3G router s dátovým balíkom nižších tried s použitím napríklad pre sady a iné exteriérové miesta, kde nie je wifi, či Ethernet. Mikrokontróler môže aj spať a v prípade nehodovej udalosti ho akcia na pine (napríklad pri vytopení dôjde k spojeniu kontaktov pre záznam) zobudí a mikrokontróler môže informovať o udalostiach. V spánku je možné pri mikrokontroléroch dostať odber rádovo v jednotkách µA, teda je systém možné prevádzkovať aj na batérie.

Arduino s Ethernet shieldom, respektíve modulom vie komunikovať po HTTP protokole. V prípade ESP8266 a ESP32 môžeme komunikovať aj po HTTPS protokole. ESP32 vyžaduje špecifickú konfiguráciu HTTPS spojenia na webserver, nakoľko sa vyžaduje Root CA certifikát daného webu v .pem formáte. GET, alebo POST parametrami je možné do .php súboru, ktorý odosiela mail vložiť aj hodnoty, ktoré budú súčasťou problému pre lepšiu identifikáciu problému.
Notifikátor udalostí cez mikrokontróler
Web časť projektu je univerzálna a vie sa na ňu napojiť akýkoľvek mikrokontróler či už po HTTP alebo HTTPS protokole. Pripojenie na webserver a na súbor, ktorý odošle e-mail môže vyzerať následovne (Arduino + Wiznet W5100 po HTTP):
Kód:
#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);
}

E-mail je možné odoslať prostredníctvom .php stránky cez SMTP server cez mail(); funkciu. V prípade, že neuvedieme odosielaciu e-mailovú adresu, e-mail sa odošle prostredníctvom sendmail_from parametra z nastavenia webservera (Apache / Nginx). Implementácia teda nie je zložitá.
Príklad:
Kód:
<?php
$sprava= "Ahoj svet!";
$sprava= wordwrap($msg,70);
mail("adresaprijimatela@jehomail.com","Predmet spravy",$sprava);
?>

V prípade korektnosti nastavenia SMTP servera na vašich .php stránkach po spustení tohto e-mailu dostanete e-mail s textom Ahoj Svet! a zvoleným predmetom.
Vo frameworkových systémoch (Laravel, Symphony) sa stretneme skôr s použitím PHPMailer knižnice. E-mail je možné doplniť aj o obrázky, doplnkové info s detailným opisom problému. Cieľovú e-mailovú adresu treba na prichádzajúce e-maily s rovnakou správou od rovnakého odosiellateľa pripraviť, aby to nevyhodnocoval ako spam a tým pádom nenotifikoval používateľa. Špeciálne to platí pre G-mail a podobné služby s dobrou SPAM filtráciou.
O projekte je niečo spísané aj na mojom webe, ktorý môžete taktiež navštíviť, nájdete tam aj rôzne ďalšie realizované projekty cez Arduino, ESP dosky, devkity s použitím webových riešení: https://arduino.php5.sk/mailer.php


 [ Príspevok: 1 ] 


Notifikátor udalostí cez mikrokontróler



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Emailový notifikátor

v Sieťové a internetové programy

16

2697

01.03.2008 18:50

Mandy

V tomto fóre nie sú ďalšie neprečítané témy.

Gmail - Mail notifikátor

v Služby a webstránky

5

518

26.07.2013 13:03

Daron

V tomto fóre nie sú ďalšie neprečítané témy.

Ja vytvorím inteligentný dom podľa vašich požiadaviek - mikrokontróler + web

v Dopyt práce

0

483

26.11.2017 13:01

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

časove udalosti

v Delphi, Visual Basic

3

588

24.05.2011 8:36

Fico

V tomto fóre nie sú ďalšie neprečítané témy.

Kalendár plus Udalosti

v JavaScript, VBScript, Ajax

3

512

30.06.2011 10:47

Well

V tomto fóre nie sú ďalšie neprečítané témy.

dynamické menenie udalosti onclick

v JavaScript, VBScript, Ajax

5

759

13.06.2008 22:47

emer

V tomto fóre nie sú ďalšie neprečítané témy.

Webdesign - trendy, udalosti, články, užitočné odkazy

v Webdesign

9

6776

24.03.2021 17:19

kirik

V tomto fóre nie sú ďalšie neprečítané témy.

drag and drop a zachytavanie udalosti

v JavaScript, VBScript, Ajax

6

843

11.06.2008 13:28

juho

V tomto fóre nie sú ďalšie neprečítané témy.

Návody, trendy, udalosti, články, užitočné odkazy

v Grafické programy

0

647

18.06.2010 16:48

camo

V tomto fóre nie sú ďalšie neprečítané témy.

Starsie FB udalosti v google kalendari

v Sociálne siete

0

331

16.01.2016 16:12

dabal2

V tomto fóre nie sú ďalšie neprečítané témy.

ako zmazat/upravit log udalosti na PC

v Operačné systémy Microsoft

1

759

08.02.2006 15:15

Carlos

V tomto fóre nie sú ďalšie neprečítané témy.

viac udalostí window.onload v jednom dokumente

v JavaScript, VBScript, Ajax

8

337

30.12.2012 11:16

1daemon1

V tomto fóre nie sú ďalšie neprečítané témy.

Strašne pomalé pripojenie cez kábel, ale cez WIFI normálne

v Siete

4

770

21.09.2011 18:49

scentrala

V tomto fóre nie sú ďalšie neprečítané témy.

pomoc session nefunguje cez cookies(cez url ide)

v PHP, ASP

3

554

10.11.2009 19:03

Wicky

V tomto fóre nie sú ďalšie neprečítané témy.

Rychlost prenosu dat cez BLUETOOTH adapt.(cez USB) ES-38

v Ostatné

10

1081

30.08.2007 13:42

Shark NX

V tomto fóre nie sú ďalšie neprečítané témy.

Cez wifi nejde prihlasenie na facebook , azet, ftp cez TC

v Siete

2

2252

16.11.2009 10:04

uniqat



© 2005 - 2022 PCforum, edited by JanoF