Pogody brak, ciągle leje, w krzyżu strzyka, niewiele się robi, to i niewiele się pisze, ale o jednym muszę.
Powoli, powoli, ale skutecznie ciągnę temat nawadniania i na tapetę wszedł wreszcie jakiś sterownik do tegoż. Platforma, w oparciu o którą sterownik miał być zbudowany to już z dawna anonsowany Raspberry Pi, zagwozdką jednak się okazało, co na nim postawić, by działało to jak należy. Napisać soft od zera, jak to do tej pory robiłem – w przypadku malinki trochę nie czułem się na siłach, chciałem więc bazować na gotowych rozwiązaniach rozwijanych w sieci. Hardware póki co zostało podłączone prowizorycznie:
Zasilacz z częścią wykonawczą po lewo, był juz omawiany, po prawo prowizorycznie zawieszona i podłączona malyna 🙂
Początkowo próbowałem swoje nawodnienie ogarnąć przy pomocy projektu nettemp, nie leżało mi to jednak jakoś. Odkryciem wielkim zaś okazała się być podsunięta mi przez kolegę czeska myśl techniczna – otwarty projekt automatyki domowej: Domoticz 😀
Czeska myśl techniczna – stwierdzenie to może wywoływać uśmieszki i kojarzyć się z czeskim filmem raczej, ale w tym wypadku zupełnie niesłusznie, Domoticz to prawdziwa re-we-la-cja!!!! Ja go dopiero zaczynam poznawać, ogromnego mnóstwa rzeczy o nim nie wiem i wciąż borykam się z podstawami podstaw, ale nawet w ramach podstaw udało mi się zrobić coś takiego:
O, i to właściwie całe moje automatyczne nawadnianie, na obrazku brak jeszcze tylko pomiaru temperatury i wilgotności gleby (to co jest to pomiary powietrza). Całość dostępna w każdej chwili na dowolnym komputerze z poziomu przeglądarki internetowej, czy nawet na telefonie (strona lub dedykowana apka), podlewanie w ogródku mogę kontrolować siedząc, a niechby i na innym kontynencie.
Od góry i od lewej mamy:
– włącznik automatycznego podlewania (można wyłączyć automatykę i podlewaniem sterować ręcznie, klikając pola obok)
– elektrozawory prawej i lewej strony działki, ikonka „Prawa strona” pokazuje, że właśnie trwa podlewanie. Ikony od podlewania robiłem sam, wchodząc na szczyty swych zdolności plastycznych i tak, wiem, że stylistycznie wyszło mi coś a’la konkurs plastyczny w przedszkolu, w grupie starszaków, ale cóż… nie każdy umie rysować 🙁
– w pionowej kolumnie są pola z pomiarami meteorologicznymi. Nie, nie stawiałem w tym celu własnej stacji meteo. Wystarczyło mi się „podłączyć” do stojącej raptem trzy ulice ode mnie stacji meteorologicznej udostępniającej pomiary w ramach platformy Weather Underground, Domoticz z tą platformą współpracuje sam z siebie 🙂
– na samym dole licznik zużycia wody, jeszcze nie uruchomiony, dlatego wskazuje zero, ale jak już zacznie działać, będę dzięki niemu miał dobowe statystyki zużytej wody do podlewania.
Samo programowanie Domoticza jest też bajeczne. Co prawda odrobinka oblatania z linuchem się przydaje (a linux, wstyd się przyznać, nie jest moją mocną stroną, podstawy znam, ale bardziej ambitne działania już nie bardzo) a i czegokolwiek bardziej skomplikowanego nie da się zrobić bez pisania normalnego kodu, ale rzeczy proste robi się, o tak:
Puzzle, normalne puzzle. Na załączonym obrazku znajduje się puzzle, które, jeżeli automatyczne podlewanie jest włączone (przycisk wspominany wyżej) i jeśli tylko pogoda jest wystarczająca (warunki t>10 stopni i wilgotność<90% na razie wzięte „z czapki” do testów, potem sobie to dobiorę, a z czasem wilgotność powietrza zastąpię wilgotnością gleby), podlewanie zostanie włączone na ustawiony czas (póki co 5 minut do testów), a stosowna informacja o zdarzeniu będzie wpisana do logu.
Nie jest to doskonałe, np. nie da się tutaj zrobić następstw zdarzeń, czy operacji na zmiennych, np., gdybym chciał uruchomić podlewanie lewej strony PO ZAKOŃCZENIU podlewania prawej, bądź wręcz o czasie „wschód słońca+30 minut, to już tego z puzzli nie wyklikam (a przynajmniej ja nie wiem, jak to wyklikać) i tu już muszę do tego podejść normalnie pisząc logikę w języku Lua (o czym na chwilę obecną mam mierne pojęcie), niemniej podstawowe funkcjonalności można zrobić bezproblemowo.
Commented: 17 maja 2016 at 18:40
Spróbuj na końcu bloku do prawej strony ustawić zmienną jakąś. Potem zrób nowy blok, gdzie w warunku sprawdzisz tę zmienną pod kątem tej wartości, odpal podlewanie i na końcu zmień zmienną do wartości nie powodującej podlewanie. Teoretycznie powinno zadziałać, ale jeszcze nie testowałem.
Commented: 17 maja 2016 at 18:47
Podobne rozwiązanie mi zaproponowali na forum domoticza, więc coś w tym musi być 🙂
Sprawdzę…
Commented: 22 maja 2016 at 22:26
Możesz kontrolować podlewanie telefonem na innym kontynencie? Tzn VPN jakiś?
Commented: 23 maja 2016 at 06:44
Nie, interfejs do zarządzania mam wystawiony w formie strony www na publicznym IP
Commented: 23 maja 2016 at 11:03
Aż sobie postawiłem tego Domoticza do przetestowania 🙂 Lokalnie dobrze działa ale na OpenWRT ciężko będzie zmieścić. Dlaczego wybrałeś akurat Raspberry Pi? Albo nie lepszy byłby jakiś serwer typu ITX? Ja musiałem do odczytu temperatury USB->Serial napisać prosty skrypt LUA używający digitemp. Jak podłączyłeś swój sterownik do niego?
Commented: 23 maja 2016 at 11:11
Głównie dlatego, że najpierw zakupiłem malinkę, a potem dopiero zacząłem kombinować, co na niej postawić. Ale i w tej roli się sprawdza, działa stabilnie i muszę naprawdę sporo się naklikać, żeby się zmulił.
Sterownik – masz na myśli ten do sterowania nawadnianiem? Robiłem go specjalnie z myślą o podłączeniu jakiegoś systemu typu właśnie raspberry, jego wejścia sterujące to gołe wejścia transoptorów, są wpięte wprost do GPIO (na zdjęciu prowizorycznie taśmą)
Temperaturę póki co ciągnę z publicznej stacji pogodowej niedaleko mnie, do pomiarów lokalnych u mnie jeszcze nie doszedłem. Póki co mam problem z opomiarowaniem zużycia wody. Mam skrypt (w pythonie, gotowiec wzięty z forum Domoticza), który ma to ogarnąć od strony software’owej, niestety skrypt nie działa, a ma wiedza w temacie pythona i raspberry jest zbyt mała, by to rozwikłać 🙁
Commented: 23 maja 2016 at 16:25
Ten przepływomierz to nie daje po prostu sygnału po x litrach? Nie da się go bezpośrednio podłączyć pod GPIO i zwiększać wartość licznika (counter incremental)?
Commented: 23 maja 2016 at 16:33
Przepływomierz wysyła ciąg impulsów o częstotliwości proporcjonalnej do prędkości przepływu, pojedynczy impuls odpowiada jakiejś niedużej ilości wody (chyba 60imp/litr, ale nie jestem pewien). Jest podłączony bezpośrednio pod GPIO, impulsy tam mam (sprawdzane oscyloskopem), dalej zaś usiłowałem do sprawy podejść zgodnie z tym opisem:
http://www.domoticz.com/forum/viewtopic.php?f=32&t=11315
Niestety, póki co mi to nie działa. Nie wiem, co źle robię, ew. czego nie robię, tu jest mój wątek założony na tamtym forum, niestety koledzy nie śpieszą się zbytnio z pomocą:
http://www.domoticz.com/forum/viewtopic.php?f=32&t=12051
Commented: 23 maja 2016 at 17:19
Jak uruchamiasz ./wodomierz.sh to rzeczywiście się zawiesza czy po prostu program działa? Jak wrzucisz go w tło (& na końcu) to bez zmian? Uruchamiasz go jako root? Powinien coś logować w /var/log/syslog
Commented: 23 maja 2016 at 18:03
O widzisz, takich konkretów mi brakowało 🙂
Uruchamianie w tle z tym dodatkiem & daje inną reakcję, teraz wygląda to tak:
pi@raspberrypi:~$ ./wodomierz.sh &
[1] 1000
Kolejne wywołania dają tu kolejne numerki ([2] 1001 i w dalszym ciągu żadnej reakcji w panelu domoticza, licznik cały czas pokazuje zero.
O i tu , w syslogu mamy coś ciekawego, z okolic prób tego skryptu mam całą masę takich wpisów:
May 23 18:05:37 raspberrypi local_sensors.py: WARNING HTTP Error 401: Unauthorized
May 23 18:05:39 raspberrypi local_sensors.py: WARNING HTTP Error 401: Unauthorized
May 23 18:05:44 raspberrypi local_sensors.py: WARNING HTTP Error 401: Unauthorized
Commented: 23 maja 2016 at 18:41
A teraz pozabijaj to wszystko co włączyłeś i zostaw jedno 🙂
Pewnie sobie zabezpieczyłeś www hasłem i nie ma dostępu.
http://domoticz-ip/json.htm…
Commented: 23 maja 2016 at 18:44
Zjadło mi adres, popraw go w skrypcie:
// : @ : / json .htm
Commented: 23 maja 2016 at 18:51
> A teraz pozabijaj to wszystko co włączyłeś i zostaw jedno
:DDDD
Dobra, moja wiedza o procesach uruchamianych w linuksie właśnie wzrosła 🙂
Hasło – wordpress się rządzi, przejdźmy na moment na maila, już piszę 🙂
Commented: 23 maja 2016 at 18:48
Brzydki WordPress 🙁 Dobra wiesz o co mi chodzi, username:password i małpa.
Commented: 4 grudnia 2017 at 21:12
Jak spisuje się system po pierwszym roku użytkowania ? Rozwijasz go czy poprzestałeś na projekcie ?
Commented: 4 grudnia 2017 at 21:33
Bardzo dobrze. Na tym pokazywanym tu domoticzu pracuje mi automatyka podlewania i działa to naprawdę świetnie. Problemy w trakcie używania pojawiły się dwa razy: raz, gdy padła karta SD i całość zdechła, dwa, gdy w czasie naszej nieobecności wakacyjnej w domu odcięto nas od internetu – brak odczytu prognoz pogody niestety wiązał się z brakiem podlewania. Dodatkowo w międzyczasie doszło na tym urządzeniu sterowanie działającą od pół roku automatyczną roletą i robionymi właśnie automatycznymi żaluzjami.
Pisałem gdzieś tu na blogu, że w na domoticza (już na trochę większym serwerku, niż Raspberry) chcę postawić całość automatyki domowej, likwidując te rozwiązania, które mam teraz – ten projekt jest całkiem zaawansowany hardware’owo, prototypu już są i mają się dobrze, ślimaczy się zaś pisanie softu. Ja tu już sobie wymiękłem, wszedłem w spółke z kolegą, który w C++ robi cuda dla mnie póki co niezmierzone. W jego wykonaniu jest już wstępna wersja softu, która z tego systemu robi coś, nieskromnie sobie napiszę, nieodbiegającego od istniejących na rynku rozwiązań komercyjnych, tyle, że póki co leży to rozgrzebane z prostego powodu – kolega jest zajęty budową domu i trochę ma inne priorytety obecnie. Też dom budowałem, rozumiem, nie poganiam, nie spieszy się 🙂