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