Rozpoczniemy od formularzy www zapewniających zarządzanie podstawowymi parametrami sterownika.
Formularze konfiguracyjne zainstalowane są na serwerze www postawionym na minikomputerze raspberry pi. Na RPI systemem operacyjnym jest linux raspbian. Na nim stoi Apache, Mysql, php, i wiele innych ważnych rzeczy ale już niezwiązanych ze sterownikiem;).
Po wywołaniu strony sterownika pojawiają się następujące zakładki:
Strona główna na której wyświetlona jest prosta strona www generowana przez mikrokontroler. Przedstawia ona na poszczególnych zakładkach rzeczywiste ustawienia kontrolera. Na górze są widoczne zakładki po kliknięciu których pojawią się formularze rejestracyjne.
Po kliknięciu zakładki „Data i czas” pojawi się poniższy ekran umożliwiający ustawienie daty i czasu z zegarze czasu rzeczywistego kontrolera. System podpowiada czas bieżący. Oprócz tego formularza kontroler samodzielnie co zadany czas odpytuje serwer NTP i sam stara się ustawiać sobie czas rzeczywisty.
Zakładka „Lampy LED” umożliwia ustawienie parametrów oświetlenia led w akwarium. Serownik umożliwia symulowanie poranka i zachodu słońca.
Rozpalanie lamp od zera do maksymalnej wartości trwa od ustawień poranka. Lampa świeci z maksymalną ustawioną wartością do rozpoczęcia wygaszania określonego w godzinie wieczoru. Wygaszanie trwa aż do godziny zakończenia wieczoru. Efekt jest super :).
Maksymalna wartość 255 może być enigmatyczna ale zasada działania PWM określa że wartość szerokości impulsu może zawierać się w granicach 0 – 255. Mogłem to w sumie przeliczyć na procenty. Może to zrobię w następnej wersji oprogramowania. Wartością tą można zmniejszyć natężenie światła w czasie „dnia”. Np w moim przypadku trochę przesadziłem ze źródłem światła i musiałem troszkę zmniejszyć intensywność lamp.
Zakładka „Ustawienia CO2″ umożliwia ustawienie parametrów podawania CO2.
System na razie umożliwia sterowanie podawanie dwutlenku węgla:
1. ON – cały czas podawany
2. OFF – nie podawany
3. ZEGAR – podawany w godzinach określonych w formularzu
W planach jest dodanie sondy PH która będzie decydowała o podawaniu CO2 oraz dołożenie jeszcze jednej opcji „razem z lampami” czyli dwutlenek będzie podawany w czasie świecenia lamp.
Zakładka „Nawożenie” jest najciekawsza 🙂
Tutaj ustawiane są parametry nawożenia akwarium.
Zaplanowałem 5 elementów wykonawczych nawożących akwarium co za tym idzie na formularzu przygotowane jest 5 zestawów parametrów same elementy wykonawcze opiszę w innym artykule.
Formularz składa się z pól:
1. Nazwa – w pole wpisujemy nazwę nawozu który będzie podawany przez ten element wykonawczy. Informacja ta nie jest przekazywana do kontrolera, zapisana jest tylko informacyjnie w bazie danych.
2. Godzina i minuta podania dawki nawozu.
3. Dawka – dawka nawozu (metoda dawkowania zostanie opisana w artykule o elementach wykonawczych)
4. Dni tygodnia – tutaj można zahaczyć w jakie dni tygodnia nawóz ma zostać podany
5. Nawożenie aktywne – określa czy dany element wykonawczy jest aktywny.
Zakładka „Temperatury”
Tutaj ustalane są temperatury dotyczące akwarium.
Na razie formularz tylko obsługuje temperaturę wody. W lecie może być konieczność zamontowania wentylatorów chłodzących które też będą tutaj konfigurowane.
Formularz umożliwia podanie zadanej temperatury oraz histerezy + i histerezy – z dokładnością do 0,1 stopnia (oddzielne pola na wartość stopni i dziesiątek stopnia są wynikiem sposobu przekazywania danych do kontrolera).
Zakładka „Falownik” umożliwia ustawienie parametrów filtra mechanicznego który użyłem jako falownik. Zamontowałem w akwarium mały filtr gąbkowy który ma dwie funkcje filtracja mechaniczna i wymuszenie intensywnego ruchu wody w akwarium. Parametry formularza:
1. ON – cały czas działa
2. OFF – wyłączony
3. ZEGAR – działa wg godzin ustawionych w formularzu
4. AUTOMAT – to ciekawe ;). Z doświadczeń wyszło mi że korzystnie jest włączać ten niby falownik co godzinę na 15 minut stąd pojawiła się ta opcja: co ile na ile w minutach 🙂
Zakładka „Wentylatory” została dodana na okoliczność „driverów” LED które grzeją się trochę i jak są zamknięte w obudowie i w szafce to trzeba tam trochę wymusić ruch powietrza.
Pozycja „Lampy: jest optymalna w tym przypadku – lampy świecą drivery się grzeją i odwrotnie. Jednak może kiedyś urodzą się inne wentylatory więc wydłubałem to na odrębną zakładkę.
Naciśnięcie guzika zapisz na którymkolwiek z ekranów powoduje zapisanie wprowadzonych danych w bazie mysql oraz wysłanie ustawień do kontrolera akwarium.
cdn.
Jak będzie miał jeszcze dodatki poniżej będzie idealnym sterownikiem do akwa:
-wysyłanie alarmów na email
-wykresy z pomiarów
-apka na androida 🙂
-wentylatory załączne w zależności od czujnika temperatury a nie czasu
-czujnik zalania -zwykły zwierający
– sonda PH ze sterowaniem zaworem CO2
-automatyczne kalibrowanie sondy PH w buforach
-sterowanie karmieniem
-sterowanie zasilaniem dodatkowych kilku urządzeń (oprócz LED’ów jeszcze np świetlówki lub moonlight na noc)
Bardzo dziękuję za dobre pomysły rozwojowe.
Co do wentylatorów już zrobiłem dodatkowy czujnik temperatury i wiatraki będą włączane również przy wzroście temperatury.
Myślę że wszystkie są spokojnie do zrealizowania.
Będę na bieżąco informował.
Sonda PH już jest
automatyczna kalibracja ciekawski temat ….
Swietny blog 🙂 duzo w nim humoru i dystansu, ktory bardzo lubie 😉 Pozdrawiam Cie cieplo i zycze udanego tygodnia!
Witam
czy moge prosic o schematy,materiały oraz materiały do zrobienia tego sterownika??
Świetny artykuł, chciałbym wykorzystać to u siebie, jest taka szansa byś wrzucił instrukcje co gdzie za ile i po co. Linux nie jest problemem ogarniam php mysql i inne serwerowe gadżety 😀
No interesujące są … te formularze. Jakby były jakieś kawałki kodu, to może nawet byłoby pouczające.