Projekt k repozitáru - Github: Monitor teplôt vlhkostí
Pri záujme o vyskúšanie webového rozhrania s vašim hardvérom kontaktovať na: martinius96@gmail.com
Arduino Ethernet Monitor Teplota Vlhkosť Kúrenie PHP MySQL

Hardvér pre projekt - Riadiaci mikrokontróler + prenosová technológia Ethernet


Riadiaci mikrokontróler Arduino Mega 2560
Arduino Mega 2560
Ethernet shield Wiznet W5100
Ethernet Wiznet W5100

Použité senzory v projekte pre záznam údajov


Teplotný senzor DS18B20 v puzdre TO-92
DS18B20 - TO-92
Teplotný senzor DS18B20 - vodotesné vyhotovenie
DS18B20 - vodotesný
Senzor teploty a vlhkosti - DHT22 (AM2302)
DHT22
Senzor teploty a vlhkosti - Bosch BME280
Bosch BME280
Senzor teploty a vlhkosti - Sensirion SHT21
Sensirion SHT21

Príklady elektromagnetických ventilov - solenoidov pre radiátor

Elektromagnetický solenoidový ventil Danfoss - Arduino + Ethernet - monitor - teplota - kúrenie
Danfoss EV225B DN 20
Elektromagnetický solenoidový ventil TORK - Arduino + Ethernet - monitor - teplota - kúrenie
TORK T-GZN104 DN 20

Monitor teplôt, vlhkostí, vstupov a výstupov v domácnosti


Systém postavený na webovom rozhraní v PHP, ktoré prijíma dáta z mikrokontrolérov Arduino Mega 2560 + Ethernet Wizet W5100 shield a ponúka vizualizácie autorizovanému používateľovi, ktorý sa do systému prihlási. Webový backend ukladá namerané údaje z mikrokontrólerov Arduino do MySQL databázy v minútových intervaloch. Do systému sú integrované dva moduly. Každý z modulov ovláda samostatné Arduino Mega, prihlásený používateľ vidí oba moduly a môže k nim vykonávať akcie z webového rozhrania. Systém používa prihlásenie s registráciou a centrálne webové rozhranie pre správu a ovládanie oboch modulov, ktoré v systéme jestvujú. Možnosť meniť prihlasovacie údaje, registrovať nových používateľov s autorizáciou k plnej funkcionalite webovo orientovaného systému.
Modul 1 - BYT:

  • Monitor a záznam 4x vlhkosť a 12x teplota (8x DS18B20, 1x SHT21, 1x BME280, 2x DHT22) - 4x OneWire zbernica - rozloženie senzorov na zbernice (2, 4, 1, 1). OneWire zbernice sú v prehľade odlíšené iným farebným pozadím pre jednoznačné rozlíšenie, do ktorej senzory patria

  • Modul 2 - KOTOLŇA:
  • Monitor 16x teplôt (16x DS18B20) - 7x OnxeWire zbernica - rozloženie senzorov na OneWire zbernice (2, 2, 2, 2, 2, 2, 4), 8x IO vstup (voliteľný používateľov) - možno využiť na kontrolu stavov ventilov, ktoré sú ovládané z výstupov (či reálne k otvoreniu / zatvoreniu solenoidu došlo), 8x IO výstup pre solenoidy/relé, ktoré ovládajú ventil radiátora.
  • Každý možno nastaviť na príslušný teplomer danej miestnosti.

  • Modul 2 riadi výstupy (v celkovom počte 8 ks) automatickým režimom pre vykurovanie (na spôsob izbového termostatu) s navoleným teplomerom a cieľovou teplotou (bez hysterézy). Okrem toho je možné riadiť výstupy tohto moduluaj manuálne ZAP/VYP natvrdo. Modul 2 neovláda kotol, ani k tomu nie je určený! Ovláda iba radiátory, respektíve ich ventily - solenoidy nezávisle na vykurovaní, či aktivite kotla.
    Webové rozhranie ďalej umožňuje:
  • Prezrieť aktuálny stav webservera (konektivita HTTP, spojenie s MySQL databázou).
  • Počet záznamov v MySQL databáze každého z modulov.
  • Zmena názvov každého vstupu/výstupu, teplomera, vlhkomera.
  • V reálnom čase dokáže systém vizualizovať posledné namerané dáta pre používateľa aj s časovou značkou.
  • Štatistika nameraných údajov historicky v tabuľke, v grafickej vizualizácii čiarovými grafmi za 24h / 7 dní / 30 dní.
  • Reprezentácia v budíkových (gauge) vizualizáciách - priemer nameraných údajov, maximá a minimá za 24h, 7 dní, 30 dní.
  • Výpis a zmazanie logu systému, ktorý ukladajá dáta o chybných senzoroch, chybne nameraných dátach, zdrojové kódy pre obe Arduino dosky priamo vo webovom rozhraní, ktoré vygeneruje zdrojový kód podľa adresy webservera a umiestnenia súboru.
  • Systém funguje na HTTP protokole, ktorý obe Arduino dosky podporujú, HTTPS nie je možné využiť, nakoľko ho Arduino dosky nepodporujú a nemajú dostatočný výkon pre kryptografické výpočty.
  • Arduiná posielajú dáta ako HTTP POST request na webserver. PHP je validné pre verzie 5.6 i 7+.
  • Vo webovom rozhraní sú dostupné aj schémy zapojenia s popisom jednotlivých zberníc, zdrojové kódy pre tieto mikrokontroléry (nakoľko sa využíva viacero zberníc na OneWire, schéma je o niečo zložitejšia, možno nie vhodné pre úplného laika.) Zdrojové kódy sú vygenerované webserverom na základe toho, na akej doméne je táto .php podstránka spustená.
  • Zdrojový kód tak stačí nahrať a uvidíte dáta na tomto webovom rozhraní. Možno použiť DHCP (default) / statickú IPv4 v LAN sieti pre konektivitu.
  • Nevyužíva sa Bearer Token / API KEY ani iný typ autentizácie.
  • Moduly fungujú nezávisle na sebe. Výpadok modulu ochromí iba daný modul, nie celý webový systém.

    MODUL 1 - BYT - Vývody - Arduino Mega 2560

    Zbernica Vývod
    I2C SDA, SCL (Hardware)
    Digital (DHT22) D2
    Digital (DHT22) D3
    OneWire A D5
    OneWire B D6
    OneWire C D7
    OneWire D D8

    MODUL 1 - BYT - Senzory a zbernice

    Číslo Miesto Typ Záznam Zbernica
    1 Obývačka SHT21 (3.3V!) Teplota + vlhkosť I2C
    2 Obývačka BME280 (3.3V!) Teplota + vlhkosť I2C
    3 Kúpelňa DHT22 Teplota + vlhkosť Digital
    4 Kúpelňa DHT22 Teplota + vlhkosť Digital
    5 Šatník DS18B20 Teplota OneWire A
    6 Rodičovská izba DS18B20 Teplota OneWire A
    7 Detská izba DS18B20 Teplota OneWire B
    8 Chodba DS18B20 Teplota OneWire B
    9 Predsieň DS18B20 Teplota OneWire B
    10 Kuchyňa DS18B20 Teplota OneWire B
    11 JZ - Atrium DS18B20-X Teplota OneWire C
    12 SV - Ulica DS18B20-X Teplota OneWire D

    Modul 1 - Byt - Schéma zapojenia


    Byt - schéma zapojenia OneWire zberníc, digitálnych senzorov DHT22 - Arduino Mega2560 + Ethernet

    MODUL 2 - KOTOLŇA - Vývody - Arduino Mega 2560

    Zbernica Vývod
    OneWire A D22
    OneWire B D23
    OneWire C D24
    OneWire D D25
    OneWire E D26
    OneWire F D27
    OneWire G D28
    OUT1 D29
    OUT2 D30
    OUT3 D31
    OUT4 D32
    OUT5 D33
    OUT6 D34
    OUT7 D35
    OUT8 D36
    IN1 D37
    IN2 D38
    IN3 D39
    IN4 D40
    IN5 D41
    IN6 D42
    IN7 D43
    IN8 D44

    MODUL 2 - KOTOLŇA - Senzory a zbernice

    Číslo Miesto Typ Záznam Zbernica
    1 BYT #1 IN DS18B20-X Teplota OneWire A
    2 BYT #1 OUT DS18B20-X Teplota OneWire A
    3 BYT #2 IN DS18B20-X Teplota OneWire B
    4 BYT #2 OUT DS18B20-X Teplota OneWire B
    5 BYT #3 IN DS18B20-X Teplota OneWire C
    6 BYT #3 OUT DS18B20-X Teplota OneWire C
    7 BYT #4 IN DS18B20-X Teplota OneWire D
    8 BYT #4 OUT DS18B20-X Teplota OneWire D
    9 BYT #5 IN DS18B20-X Teplota OneWire E
    10 BYT #5 OUT DS18B20-X Teplota OneWire E
    11 BYT #6 IN DS18B20-X Teplota OneWire F
    12 BYT #6 OUT DS18B20-X Teplota OneWire F
    13 KOMIN 1 DS18B20-X Teplota OneWire G
    14 KOMIN 2 DS18B20-X Teplota OneWire G
    15 Bojler VRCH DS18B20-X Teplota OneWire G
    16 Bojler STRED DS18B20-X Teplota OneWire G
    17 Termostat byt #1 Digitálny vstup IN1 Digital
    18 Termostat byt #2 Digitálny vstup IN2 Digital
    19 Termostat byt #3 Digitálny vstup IN3 Digital
    20 Termostat byt #4 Digitálny vstup IN4 Digital
    21 Termostat byt #5 Digitálny vstup IN5 Digital
    22 Termostat byt #6 Digitálny vstup IN6 Digital
    23 Termostat byt #7 Digitálny vstup IN7 Digital
    24 Termostat byt #8 Digitálny vstup IN8 Digital
    25 Čerpadlo byt #1 Digitálny výstup OUT1 Digital
    26 Čerpadlo byt #2 Digitálny výstup OUT2 Digital
    27 Čerpadlo byt #3 Digitálny výstup OUT3 Digital
    28 Čerpadlo byt #4 Digitálny výstup OUT4 Digital
    29 Čerpadlo byt #5 Digitálny výstup OUT5 Digital
    30 Čerpadlo byt #6 Digitálny výstup OUT6 Digital
    31 Čerpadlo byt #7 Digitálny výstup OUT7 Digital
    32 Čerpadlo byt #8 Digitálny výstup OUT8 Digital

    Modul 2 - Kotolňa - Schéma zapojenia


    Kotolňa - schéma zapojenia OneWire zberníc - Arduino Mega2560 + Ethernet

    Screenshoty webového rozhrania - Monitor teploty, vlasti v domácnosti - Arduino + Ethernet

    Monitor domácnosti - Arduino - Prihlásenie používateľa Monitor domácnosti - Arduino - Vizualizácia dát o teplote, vlhkosti v reálnom čase Čiarový graf - dáta o teplote z I2C zbernice, senzorov DHT22, SHT21, BME280 Čiarový graf - vizualizácia dát o teplote - senzory Dallas DS18B20 na OneWire zbernici Zmena názvov miestností, kde sú senzory DS18B20, DHT22, SHT21, BME280 umiestnené Výber a ovládanie výstupu v automatickom / manuálnom režime - Modul 2