Dobra, mamy zainstalowany system operacyjny, możemy już korzystać z internetu, mamy kilka narzędzi wbudowanych ale raspberry to coś więcej. Zainstalowałem więc domoticz, czyli program do obsługi automatyki domowej. Sposób instalacji domoticza jest w drugiej części artykułu na stronie: http://projektpimalina.blogspot.com/2016/09/instalacja-domoticz-z-obsuga-imperihome.html , na: http://malinowepi.pl/post/140337593323/domoticz-instalacja-dzisiaj-szybki-i-prosty oraz: https://www.domoticz.com/wiki/Domoticz_Wiki_Manual .
Po zainstalowaniu domoticza dodajemy czujniki, konfigurujemy i używamy :)
Pulpit wygląda u mnie tak
"Status zaworów Bojlera", "status pompy CO", "Status wentylatora nadmuchu", "Status bojlera", "Status pompy podłogówki" to informacje z mojego sterownika pieca (opisanego w dziale elektronika) i pokazują one status w/w urządzeń (czy akurat w tej chwili pracują, czy nie).Czujniki temperatury również brane są z w/w sterownika pieca. Oczywiście wszystkie informacje przesyłane są poprzez uart po konwersji na transmisję RS485 (na razie transmisja jednokierunkowa, czyli sterownik pieca nadaje, raspberry odbiera).
Skrypt obsługujący uart napisany jest w pythonie (a ponieważ moja znajomość pythona jest szczątkowa, znalazłem gotowca na stronie:http://forum.atnel.pl/topic13727.html , którego przerobiłem pod swój sterownik). U mnie wygląda to tak (i jak pisałem, nie jest doskonały ale działa bez zastrzeżeń):
Listing programu w pythonie do odczytu danych ze sterownika pieca CO po uarcie: ściągnij
Kolejnym czujnikiem jest "Sypialnia grzejnik" i jest to głowica termostatyczna z-wave (jestem w trakcie konfigurowania tego ustrojstwa). Kupiłem https://www.z-wave.pl/pl/p/Adapter-Z-Wave-Z-Stick-Gen5-ZW090/18 , czyli Z-stick gen 5 na usb i podłączyłem przez port usb do raspberry. Do tego kupiłem: https://www.z-wave.pl/pl/p/Glowica-termostatyczna-Comet-Z-Wave/419 ale tak jak pisałem, jeszcze tego nie skonfigurowałem do końca poprawnie.
"Stacja Bytom" i "Wiatr" to informacje ze stacji pogodowej w bytomiu. Link, jak to uruchomić i skonfigurować w domoticz: http://projektpimalina.blogspot.com/2015/10/domoticz-i-wirtualne-stacje-pogody.html
No i na pulpicie pozostał Emeter, czyli miernik energii elektrycznej firmy inode (czujnik ten można zamontować na liczniku energii z diodą, której częstotliwość "migania" jest wprost proporcjonalna do ilości pobieranej energii). Strona domowa firmy, gdzie można zakupić czujniki (nie tylko energii, ale również inne): https://inode.pl . Sam czujnik z malinką porozumiewa się po bluetooth (trzeba dokupić odbiornik bluetooth do malinki, lub jeśli mamy raspberry pi 3 wykorzystać wbudowany) lub również po sieci (trzeba dokupić wtedy inode LAN. Wszystko jest opisane na stronie producenta a jeśli nie, to bardzo fajnie opisane to mamy tutaj: https://raspberrywpraktyce.wordpress.com/2016/09/07/monitoring-zuzycia-pradu-elektrycznego-w-domoticzu-inode-energy-meter/ .
Skrypt do komunikacji raspberry z inode energy meter: ściągnij
Niestety bateria w inode energy meter starcza na ok. 2 miesiące ale zastąpiłem ją zasilaniem z zasilacza, gdyż samo raspberry mam umieszczone obok licznika energii we wnęce i ma swoje zasilanie z zasilacza 5V/7A (tak dużo, gdyż jeszcze mam z tego zasilany ambilight zrobiony również na tym raspberry, ale o tym później). No więc raspberry ma zasilanie 5V a my do iNode potrzebujemy 3V więc dałem, na zasilaniu do pastylki iNode, 3 diody 1N4007 (zwykłe prostownicze) połączone szeregowo. Jak wiemy na złączu krzemowym występuje spadek napięcia ok. 0,7V więc na 3 diodach mamy spadek napięcia równy 2,1V, czyli na czujniku iNode mamy 2,9V. Można zamiast trzech diod połączonych szeregowo zastosować przetwornicę step-down, która nam ładnie obniży napięcie ale przy tak niewielkim prądzie, jaki pobiera czujnik inode nie ma to większego sensu.
Rezystor R1 jest po to, aby napięcie 2,9V było niezależnie, czy mamy podłączone obciążenie czy nie.
A tutaj linki do opisu instalacji czujników pogodowych (ja takich nie mam): http://projektpimalina.blogspot.com/2015/11/czujniki-inode-w-domoticz.html
Kolejna zakładką jest plan pomieszczeń (możemy stworzyć sobie schemat własnego mieszkania - ja na razie mam tylko piętro - i umieścić czujniki bezpośrednio na schemacie):
Kolejny ekran to "Przełączniki":
Część z nich jest na Pulpicie (tam możemy sobie dodawać dowolne czujniki, jak widać powyżej te z żółtą gwiazdką są widoczne na pulpicie). Wyjaśnię więce pozostałe 3. Kodi_pilot to pilot do odtwarzacza sieciowego (który mam zainstalowany na serwerze Qnap: TS253A). W sumie to mam to tylko po to, aby rejestrować używanie odtwarzacza (zapisuje do logów co i kiedy było oglądane), bo pilota to mam na bluetooth. "ambilight_sypialnia" i "TV_salon" to rejestratory włączenia odbiorników telewizyjnych odpowiednio w salonie (jak widać na obrazku ktoś coś tam ogląda) i w sypialni. Używanie rejestrowane jest poprzez sprawdzanie aktywności sieciowej (tv w salonie podłączony jest pod internet), czyli wysyłam co 5 min "pinga", żeby sprawdzić, czy jest włączony. Jeśli chodzi o sypialnię, to tutaj mam tv bez internetu, ale mam zrobiony ambilight, który uruchamia się wraz z włączeniem telewizora. Skrypt, który to robi, jednocześnie wysyła sygnał włączenia po 'json' do w/w włącznika.
Kolejną zakładką w domoticzu są temperatury:
Większość tych temperatur mam przesyłane ze sterownika pieca.
"rasbperry_wnęka" jest czujnikiem ds18b20 zapiętym bezpośrednio do pinów w
raspberry pi. Chciałem po prostu przetestować działanie tego czujnika przy
bezpośrednim podłączeniu do raspberry i tak już zostało. "Stacja_Bytom" i
"Wiatr" to informacje ze stacji internetowej (było opisane wcześniej, przy
okazji pulpitu), "Temperature" to informacja z głowicy termostatycznej z-wave
(jak pisałem wcześniej, jeszcze to dopracowuję). Natomiast "Temperatura UPS" to
temperatura odczytana z UPS, który podtrzymuje mi zasilanie do serwera qnap,
raspberry, pieca CO, komputera. Sposób odczytu opiszę przy okazji opisywania
zakładki 'użytkowe', gdyż tam mam więcej danych "wyciągniętych" z ups'a.
Jedną z zalet monitorowania temperatur przez domoticz'a jest możliwość tworzenia
wykresów. Dla każdego czujnika zapisywane są temperatury, które potem można
obejrzeć na wykresie:
Te wykresy są robione standardowo do każdego czujnika ale
można stworzyć też własne wykresy, nakładając dane z kilku czujników, np. jeśli
chcielibyśmy wiedzieć, jak szybko nasz piec podgrzewa nam wodę w bojlerze itp.:
W zakładce "Pogoda" umieszczone są dane z serwisu pogodowego
opisanego przy okazji opisu "Pulpitu":
No i została do opisu przedostatnia zakładka, "Użytkowe":
"Bojler_zużycie_energii" to informacje przesyłane przez
sterownik pieca o czasie pracy bojlera. "Emeter" czyli czujnik iNode energy
meter był opisywany przy okazji pulpitu. Teraz ciekawostka, "Download", "Upload"
i "Ping" to badanie łącza internetowego. Po prostu co godzinę sprawdzana jest
wydajność łącza internetowego i potem można sobie obejrzeć na wykresie, jak nas
dostawca 'cygani' ;) Oczywiście nie jest to 100% miarodajne bo np jeśli ściągamy
akurat jakiś plik to będziemy mieli wykazane słabsze parametry (żeby mieć w
miarę miarodajne dane, trzeba by wszystkie połączenia zatrzymywać ale to i tak
jest bardziej jako ciekawostka). Opis na stronie:
https://raspberrywpraktyce.wordpress.com/2017/01/03/monitoring-i-pomiar-szybkosci-lacza-internetowego-w-domoticzu/
. Na czerwono zaznaczone nieszczęsne (przynajmniej na razie) z-wave.
No i dochodzimy do opisu danych z UPS. Ja osobiście posiadam UPS PowerWalker VFI
1000 LCD:
http://www.powerwalker.com/index.php?lang=en&page=product&item=10120105 .
Nie będę wdawał się w szczegółowe opisy, w każdym razie nie jest to ups sieciowy
tylko ma łącze USB, które u mnie jest podłączone do serwera qnap. Na serwerze
skonfigurowałem ups'a zgodnie z opisem:
https://forum.qnap.net.pl/threads/network-qnap-ups.6414/ Po wykonaniu wyżej
wymienionych czynności musimy uruchomić usługę SNMP na serwerze qnap. Jeśli już
to mamy to na raspberry instalujemy NUT (sudo apt-get install nut i w sumie nie
potrzeba nic więcej:
http://www.sernlabs.org/?p=128 ) i potem wydając polecenie z termianala w raspberry: "upsc
qnapups@adres_IP_serwera_QNAP:3493" lub "upsc
qnapups@adres_IP_serwera_QNAP" otrzymamy informacje z ups'a. U mnie
wygląda to tak:
Jak widać trochę danych jest wysyłane, teraz wystarczy to tylko "wyłuskać" i przesłać do domoticza. Ktoś może spytać po co to? No cóż, mając np. dane o napięciu na wejściu ups'a możemy, przy jego zaniku, uruchamiać oświetlenie awaryjne, włączyć sygnał dźwiękowy, wysłać powiadomienie na komórkę itp. Przy odczycie parametrów baterii możemy np przy spadku naładowania do 50% wysyłać sygnały do wyłączenia zbędnych urządzeń, zostawiając te bardziej niezbędne. Oczywiście to tylko znikoma ilość mozliwości, jakie daje nam odczyt parametrów UPS. Skrypt, jakiego używam zrobiłem na podstawie skryptu do monitorowania danych z serwera qnap: https://www.domoticz.com/wiki/NAS_Monitoring .
Oto mój skrypt do
odczytu wybranych danych z ups'a: ściągnij
Jeśli ktoś chce "wyciągnąć" inne dane z ups'a wystarczy przerobic ten skrypt. Nie będę tłumaczył, co oznacza każda linia w skrypcie, gdyż komentarze wystarczą do uruchomienia a jak ktoś chce przerabiać to i tak musi się trochę znać albo poszperać po sieci, jak ja zrobiłem (wszystkie polecenia można znaleźć w sieci).
Ostatnie 3 czujniki to wirtualne czujniki pomiaru czasu włączenia telewizora w salonie, sypialni i bojlera. Opis jak to zrobić podany w linku: https://raspberrywpraktyce.wordpress.com/2017/01/08/monitorowanie-czasu-pracy-urzadzen-podlaczonych-do-sieci-w-raspberry-pi-i-domoticzu/
Ostatnia zakładka, czyli "Konfiguracja" to właśnie miejsce, gdzie dodajemy czujniki, konfigurujemy domoticz'a itp. Nie będę tego opisywał, gdyż ekspertem nie jestem a wystarczy ściągnąć manuala do domoticza i tam będzie wszystko wyjaśnione.