
Diplomová práce: Box pro měření a regulaci parametrů prostředí


Obsah přílohy:
Uvnitř přílohy se nacházejí 2 Python skripty, aby určené pro provoz na mikropočítači Raspberry Pi 4 a vyvíjené v prostředí Thonny.
V příloze se také nachází protokol pro 

Vývoj: 

První skript s názvem Matousek_lab_box, který slouží jako výuková materiál pro laboratorní účely a plnění protokolu v rámci předmětu Laboratorní a environmentální technika. Studenti jsou pomocí protokolu uvedeném v diplomové práci naváděni ke splnění jednotlivých cílů.

Druhý skript s názvem DP_Matousek.py je skriptem pro spuštění a provoz automatického systému, který se stará o vnitřní prostředí prostředí boxu. Tento skript oproti laboratornímu skriptu obsahuje podmínky pro zobrazování alertů uživateli, který zadává na web cílové hodnoty teploty a vlhkosti. Zároveň je vybaven i systémem pro adaptivní úpravu cílových parametrů v rámci vnějšího prostředí.

Použité knihovny:

Skripty používají několik standardních i externích knihoven jako jsou Adafruit_DHT, RPi.GPIO, RPLCD.i2c, Flask, time, datatime. Pro ukládání měření do souboru byl použit modul cév, jogging pro záznam událostí, signal a sys pro ukončení programu.

Výsledky měření:
Měřené parametry jsou zaznamenávány každých 10 sekund. Záznam se ukládá ve tvaru data a času, následně vnější a vnitřní teplota i vlhkost. Společně jsou ukládány do souboru csv.


Výpis funkcí:

prikaz() - Tato funkce je zahrnuta v kódu, ale aktivně se nepoužívá. Slouží pro ruční ladění řízení systému. Zadání například "zima", "teplo", "pauza", "konec"

get_days() - Vrací seznam všech dnů.

stav_nocni() - Kontroluje zda je právě aktivní noční režim, od 22:00 až 8:00.

index() - Zajišťuje zobrazení webového uživatelského rozhraní

get_mode() - Zajišťuje zobrazení aktuálního režimu systému.

get_current()  Vrací poslední zaznamenané hodnoty z csv.

get_data() - Zajištuje kompletní datový záznam.

nastav_auto() - Hlavní funkce pro aktivaci automatického systému, kde kontroluje, zda hodnoty, které uživatel zadal nejsou mimo limity. 

pwm_off() a pwm_half - Pomocné funkce pro vypnutí PWM větráků nebo spuštění na poloviční výkon

zobraz_na_lcd() - Zobrazení aktuálního stavu na LCD displej.

ventilatory_dojedou_chlazeni() a ventilatory_dojedou_topeni() - Funkce pro ventilátory, kdy ventilátory ještě pojedou po vypnutí Peltierova článku.

zavlazeni() - Funkce, která spustí čerpadlo na jednu sekund a uloží čas posledního zavlažení.

measure_and_display - Hlavní smyčka programu 

sleduj venkovní teplotu() - Funkce sleduje venkovní teplotu každou hodinu a podle její změny upravuje cílovou teplotu.

stav_pudy_endpoint() - Funkce vrací aktuální stav půdy (vlhká/suchá) a čas posledního zavlažování.


Při ladění kódu a řešení problémů byl rovněž využit nástroj ChatGPT, který sloužil k vyhledávání chyb a možných překlepů.





