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

Arduino Mega 2560

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

DS18B20 - TO-92

DS18B20 - vodotesný

DHT22

Bosch BME280

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

Danfoss EV225B DN 20

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
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
Screenshoty webového rozhrania - Monitor teploty, vlasti v domácnosti - Arduino + Ethernet