piątek, 16 listopada 2018

Domowa sieć IoT > WiFi + 433 MHz

Kontrolować wszystko z jednego miejsca ... To mój atawizm czy niedościgły wzorzec panowania  człowieka nad materią? Filozofia rodem z Gwiezdnych Wojen, gdzie jednym przyciskiem niszczy się planety czy wręcz całe galaktyki, wciąż jest obecna w koncepcjach domowej automatyki. Entuzjaści patrząc na złożone (i odpowiednio drogie) systemy IoT mówią o postępie i wygodzie, przeciwnicy o lenistwie i zawałach serca. Jeden z miliona nierozstrzygniętych sporów.
Mnie wystarczy gdy przycisk pilota przy łóżku wyłączy świąteczne światełka na świerku przed domem bez konieczności wybiegania w gaciach na zewnątrz domu.
Dziś małe co nieco o integracji i co z tego wynika.



BLYNK to pomysł na proste i tanie sterowanie przyciskiem czymkolwiek bez przestrzennych ograniczeń. Reszta funkcji tego systemu to tylko miłe oku dodatki. Szybko jednak dochodzimy do wniosku, iż rzeczywista potrzeba zdalnego sterowania domem z każdego zakątka świata jest niewielka jeśli nie żadna. Nieco inaczej wygląda to w obrębie domu czy posesji. Tu możliwość bezpośredniej komunikacji różnych urządzeń ma nieco większy sens. Ale do tego potrzeba trzech elementów: pieniędzy pieniędzy i pieniędzy chciałoby się rzec za Napoleonem. A dodatkowo
  • fizycznych elementów systemu (wykonawczych, sensorów, komunikacyjnych)
  • medium łączącego elementy systemu
  • nadzorcy spinającego wszystko w jedną całość
Od pewnego czasu mocno reklamuję tu ideę rozproszonych systemów sterowania. Niewielkie, tanie moduły realizujące jedną maksymalnie dwie funkcje połączone wspólną siecią i inteligencją systemu to podstawa tej koncepcji. Dziś ze względu na koszty są to moduły oparte na mikrokontrolerach ESP8266/32: ESP-01, ESP-12 D1MINI itd. Jedne mają na sobie czujnik (temperatury, światła, dotyku...) inne jakiś element wykonawczy (przekaźnik, triak, sterownik LEDów....)  jeszcze inne są elementami struktury komunikacji (RF, Bluetooth, WiFi)

Jeszcze do niedawna sporym problemem było medium łączące te elementy. W zasadzie do czasu pojawienia się ESP dominował kabel. Dziesiątki, setki, kilometry kabli są do dziś zaszyte w ścianach mojego domu. I są bezużyteczne. WiFi znakomicie pokrywa cały dom a dodatkowe repitery i podrzędne routery rozszerzają zasięg sieci praktycznie na całą posesję. I w każdym miejscu tego zasięgu można umieścić element domowej automatyki. Nawet zasilanie (jeśli go akurat w tym miejscu brakuje) nie jest problemem przy obecnych cenach mini-paneli fotowoltaicznych stosowanych nagminnie w ogrodowym oświetleniu.

Ostatni element - nadzorca całego systemu - to też już problem zamierzchłej przeszłości (tak mniej więcej od 5 lat). Wachlarz dostępnych dziś darmowych lub śmiesznie tanich systemów IoT rośnie w postępie geometrycznym a ich funkcjonalność zaczyna bić na głowę komercyjne odpowiedniki. Na tym blogu uparcie reklamuję BLYNKa a od pewnego czasu i VIRTUINO. Ale każdy może wybrać według własnego gustu cokolwiek z setki dostępnego w sieci oprogramowania.

Ja dokładam jeszcze jeden element do tej struktury - bezprzewodowe systemy systemy sterowania oparte na transmisji w otwartym paśmie 433 MHz. To daje już jakąś bazę do budowania SYSTEMU.

Przez kilka kolejnych odcinków będę tu opisywał jak to wszystko zgrabnie łączyć w jeden spójny i (mam nadzieję) działający zgodnie z założeniami organizm. Na początek zajmę się integracją obu sieci komunikacyjnych WiFi i RF-433 MHz. Wstępem do tematu jest poprzedni wpis opisujący zagadnienie jakie postawiłem sobie do rozwiązania. 

W skrócie brzmi tak: 
Jak za pomocą BLYNKa logicznie połączyć obie sieci w rozproszonym systemie sterowania.

Odpowiedź jest prosta ale nie trywialna. Po pierwsze należy wybrać sieć nadrzędną. W sposób naturalny będzie nią WiFi. I dlatego, że jest to podstawowe medium systemu BLYNK z modułami ESP8266 i ze względu na jego łatwą rozbudowę (Internet).

Po drugie należy zbudować proste uniwersalne konwertery przenoszące komunikację między elementami przyłączonymi do różnych typów sieci. No to już jest jakieś wyzwanie ale całkowicie w zasięgu chińskiej ręki.

W wyniku połączenia obu tych elementów chcę dostać quasi integrację obu sieci w jeden wspólny system sterowania. Schemat propagacji takiej sieci WiFi + RF433MHz będzie podobny do obrazka z poprzedniego wpisu


A wypadkowy obszar pokrycia łącznością w ramach takiego wspólnego systemu zakreśla czerwona linia


W rzeczywistości będzie to znacznie większe pole gdyż propagacja fal 433MHz w terenie jest dużo lepsza niż w budynkach. Ostateczny kształt zasięgu naszej sieci domowego IoT będzie uzależniony od konkretnego rozmieszczenia konwerterów. Zależy mi na pokryciu jak największego obszaru terenu poza budynkiem toteż konwertery zostaną umieszczone na zewnątrz domu.

W takiej sieci można już poutykać różnego rodzaju elementy automatyki, które będą komunikować się z sobą za pomocą jednego lub obu mediów.

Co takiego tam umieszczę:
  • serwer BLYNK przyłączony do WiFi (lokalny RPi)
  • telefon/y z aplikacją BLYNK przyłączone do WiFi
  • różne funkcjonalnie moduły ESP8266 z aplikacją BLYNK przyłączone do sieci WiFi
  • sterowniki, piloty i gniazda radiowe pracujące z siecią 433 MHz
  • i co oczywiste - konwertery ESP8266 przyłączone do obu sieci

Wszystkie nici komunikacji zbiegają się w serwerze BLYNKa choć nie każdy z elementów systemu potrafi z nim "gadać" bezpośrednio. Elementy radiowe 433MHz wymagają w tym celu pośrednictwa konwerterów dopasowujący zarówno medium jak i protokół komunikacji.

Komunikacja w ramach systemu elementów z zainstalowanym BLYNKiem jest raczej oczywista. Najciekawszy jest przypadek sterowania pomiędzy dwoma elementami pracującymi w sieci RF 433MHz ale nie słyszącymi się bezpośrednio np załączenie gniazda radiowego w nieco oddalonej altanie pilotem z domu.


W tym przypadku sieć WiFi robi za  bezprzewodowy przedłużacz sieci radiowej 433 MHz. Przedłużacz w sensie logicznym gdyż protokoły komunikacji w obu sieciach są diametralnie odmienne.

Ten przypadek jest jeszcze ciekawszy gdy dopuścimy możliwość komunikacji dwóch elementów RF, o różnych kodach transmisji.  Zbliżenie obu układów w zasięg wzajemnej propagacji nic nam nie da -  pilot o różnym kodzie niż gniazdo nie będzie w stanie go uruchomić. Natomiast  system BLYNK z układami konwersji sieci radzi sobie z tym bez żadnego problemu.


I jeszcze jeden ważny aspekt. Bezpośrednie sterowanie pilotem gniazda radiowego jest szybkie i proste. Ale nie pozostawia ono żadnego historycznego śladu swojej działalności przez co kompletnie nie znam jaki jest aktualny stan sterowanego obiektu. Zbudowany o powyższy schemat system pozwala na nadzór nad wszystkimi jego elementami również tymi bez BLYNKowej "inteligencji"



Czy takie funkcje są warte zachodu by tracić czas na konstruowanie własnej rozległej sieci sterowania domowej automatyki? Szczerze mówiąc nie wiem. Uruchomię na próbę jakiś fragment systemu i sprawdzę.

Mam jednak nadzieję że sens to jakiś ma bo inaczej ciąg dalszy byłby mocno zawiedziony...

Wcześniejszy wpis w tym temacie
http://100-x-arduino.blogspot.com/2018/11/router-433-mhz-retransmiter-powrot-jedi.html
157

1 komentarz: