Wracam do VIRTUINO z dalekiej podróży. Trochę przymuszony sytuacją jaką zgotowali mi twórcy BLINKa likwidując wersję 1.0 i mocno komercjalizując cały projekt. Na szczęście pod ręką jest zapasowy, równie dobry a może i lepszy, system. Niby ten sam jakim go opisywałem trzy lata temu - ale mocno nie taki sam. A że zmieniło się naprawdę dużo zaczniemy od początku.
Jedyne co nie zmieniło się w Virtuino to koncepcja bez serwerowego systemu sterowania złożonego jedynie z konsoli operatora HMI i mikroprocesorowego modułu wykonawczego. Przy czym i konsoli i modułów może być mnoga ilość. Całość systemu opiera się na założeniu że moduły wykonawcze realizują autonomicznie swe funkcje a konsola służy jedynie do okresowej komunikacji - ustawiania parametrów roboczych i odczytu danych celem kontroli lub sprawdzenia stanu działania systemu. Pozostał więc VIRTUINO systemem mocno rozproszonym z okresową synchronizacją elementów przez konsolę. Czy taki schemat domowej automatyki ma sens w dobie komunikacji i łączenia wszystkiego ze wszystkim?
Z mojego skromnego doświadczenia - jak najbardziej. Mam w domu sporo elementów automatyki ale są one mocno niezależne od siebie. Sterowanie światłami, bramą, piecem, grzałką odbywa się o prawdzie z jednego (lub kilku równolegle działających) miejsca ale każdy z nich działa po swojemu w zasadzie nie ingerując w pozostałe elementy. W obecnym systemie opartym o BLYNKa wspólne dla wszystkich modułów były dwa elementy systemu - serwer załadowany do RPi i konsola/e operatorska w telefonie czy tablecie. Niezawodność całej automatyki określa niezawodność najsłabszego ogniwa - a jest nim serwer BLYNKa. Jego awaria praktycznie wyłącza możliwość pracy większości podsystemów gdyż większość sygnałów sterujących i wykonawczych musi być transmitowana via serwer.
W tym kontekście model działania VIRTUINO wydaje się bardzo atrakcyjny, Uszkodzenie konsoli nie ma (podobnie jak w BLYNKu) praktycznie żadnego wpływu na działanie poszczególnych elementów a brak centralnego serwera wyklucza totalną awarię całości automatyki. A gdyby zachodziła potrzeba połączenia w jakiś sposób dwu lub więcej podsystemów między sobą? I na to znajdzie się rozwiązanie choć pewnie nie tak proste i eleganckie jak w BLYNKu.
Zaczynam więc nową podróż w nieznane ze stary ale kompletnie nowym VIRTUINO
I już na wstępie zaskoczenie w miejsce kilku niezależnych aplikacji (VIRTUINO, VIRTUINO SE, VIRTUINO MQTT, VIRTUINO Motbus) na placu pozostały już tylko dwie - powoli schodzący ze sceny VIRTUINO 6 (obecna versja) utrzymywany przy życiu dla zachowania ciągłości z wcześniejszymi wersjami systemu i całkiem nowy - wręcz rewolucyjny w swoim założeniu - VIRTUINO IoT.
- blok podstawowy typu .ino zawierający deklaracje bibliotek, funkcje main i setup
- bibliotekę virtuino.h zawierającą wszystkie niezbędne elementu systemu VIRTUINO. Biblioteka ta w zasadzie powinna pozostać niezmienna we wszystkich moich projektach
- bibliotekę piny.h zawierającą deklaracje pinów zastosowanych w programie i procedur ich obsługi
- bibliotekę program.h zawierającą kod mojego programu obsługi danego elementu automatyki
Brak komentarzy:
Prześlij komentarz