sobota, 27 maja 2017

Widget EVENTOR - czy BLYNK to juz profejonalny IoT? cz.1

EVENTOR - programować każdy może trochę lepiej lub ....

 

Mawiało się niegdyś, że uczelnia to mogłoby być najlepsze miejsce pracy ... gdyby nie ci studenci!
Ja zwykle mówię - elektronika to piękne hobby gdyby nie konieczność programowania ....
Ale, że gorszy pieniądz wypiera lepszy - najpierw papier zastąpił złoto, dziś papier wyparty został wirtualnym pieniądzem istniejącym tylko w pamięci komputerów - nie ma co liczyć na powrót czystej, pięknej elektroniki bez konieczności programowania. Generalnie mamy do wyboru dwie drogi - pierwsza to tworzenie programu w którymś z języków programowania optymalizowanych dla poszczególnych platform i zastosowań (C++, Java, Python, PHP itd) Drugi to programowanie z przygotowanych klocków (często graficznych) pozwalających na zestawianie ich w bardziej złożone funkcyjne struktury bez potrzeby klasycznego programowania - szybko i w sposób eliminujący tworzenie błędnych algorytmów i powiązań. Piszę o tym bo BLYNK zdaje się być jednym z niewielu systemów umożliwiającym, w sposób znakomicie prosty i elastyczny, na swobodne balansowanie pomiędzy programowaniem "poważnym" językiem C++  np. w Arduino IDE czy Atmel Studio a gotowymi programowymi klockami  wprost z aplikacji w telefonie. A wszystko to za sprawą nie tak dawno wprowadzonego do systemu widgetu EVENTOR.
W typowych  systemach IoT  opartych na  ZigBee, Z-WAVE (rodzime FIBARO) czy własnych protokołach komunikacji (Extra Free i Life) mamy tylko jeden sposób konfiguracji docelowego systemu.


To z aplikacji w telefonie lub komputerze tworzymy wygląd i zależności funkcjonalne pomiędzy elementami systemu.Poszczególne klocki sprzętowe - wyłączniki, czujniki przekaźniki itd - to typowe black boxy z funkcjonalnością zaszytą na stałe lub w niewielkim stopniu dającą się modyfikować z aplikacji zarządzającej jednostką centralną. Dlatego ogromnie ważną sprawą jest pełna kompatybilność urządzeń i oprogramowania.
Mamy więc do wyboru albo zamknięte systemy danego producenta z ograniczoną  ilością elementów ale optymalizowane funkcjonalnie i cenowo albo systemy otwarte oparte na aliansach firm uzgadniających i potwierdzających kompatybilność produktów różnych producentów z szerokim wachlarzem dostępnych urządzeń ale porażających ceną.

BLYNK do niedawna był tylko programem wizualizacji i sterowania dla popularnych modułów mikroprocesorowych - Arduino, Malina, ESP itd.


Cała "inteligencja" takich systemów skupiona jest w programie mikrokontrolera. Tam odczytuje się sygnały z inteligentnych (lub nie) sensorów, wysterowuje elementy wykonawcze,  tam zapisane są zależności i funkcje pomiędzy sygnałami wejściowymi i wyjściowymi, tam dokonuje się obliczeń, konwersji i generacji komunikatów. Nie ma praktycznie żadnych ograniczeń co do elementów wejściowych i wyjściowych jakie chcemy wykorzystać w naszym systemie. Możemy wstawić gotowe elementy, możemy skonstruować własne. Program wraz z bibliotekami jest w stanie obsłużyć wszystko co jest dostępne na rynku lub co stworzymy. Serwer BLYNK pełni tu jedynie rolę przekaźnika sygnałów transmitowanych pomiędzy modułem a aplikacją w telefonie. Dobrze napisany program będzie funkcjonował autonomicznie także w przypadku utraty komunikacji z serwerem. To ważna cecha  takich systemów szczególnie gdy serwer znajduje się gdzieś w internetowej chmurze.

Ale system o takiej konstrukcji ma jedną ale za to bardzo poważną wadę - ZERO elastyczności. Dołożenie jakiegokolwiek elementu, zmiana konfiguracji czy parametrów musi wiązać się ze zmianą oprogramowania mikrokontrolera. A to oznacza najczęściej konieczność jego demontażu, rozebrania, przyłączenia programatora, wgrania nowego softu i sprawdzenia poprawności funkcjonowania całości. Brrrryyy.  Stąd raz zrobiony i dobrze funkcjonujący system jest praktycznie niezmienialny. Szczególnie po dłuższym czasie gdy czytając kod programu trzeba pieczołowicie odtwarzać co autor miał na myśli wstawiając tą czy inną funkcję programu. To eliminuje takie systemy z rynku komercyjnego albo ogranicza ich zastosowanie do ściśle określonych i w pełni zdefiniowanych funkcji.

Ale pojawił się EVENTOR.

Widget wygląda niepozornie i kosztuje niewiele - 500 pkt. Ale na moje oko jest początkiem nowej (r)ewolucji  BLYNKa od systemu zarządzania modułami procesorowymi dla hobbystów do "poważnego" systemu IoT. Czym różni się od innych systemów Smart Home?  Przede wszystkim otwartością i elastycznością sposobu programowania. Daje to nieograniczoną możliwość adaptacji dostępnych na rynku elementów i układów systemów IoT do własnego projektu inteligentnego domu. Czy pozwoli również na stworzenie atrakcyjnych biznesowo komercyjnych aplikacji IoT - wkrótce się przekonamy.



Od tego momentu BLYNK dzięki możliwości programowania zarówno w poszczególnych modułach mikroprocesorowych jak i  na poziomie jednostki centralnej (serwera BLYNK) nie stawia praktycznie żadnych ograniczeń dla współpracy aplikacji/serwera z dowolnymi urządzeniami końcowymi. Jest jedno - dostępność biblioteki BLYNK dla danej platformy mikroprocesorowej. Choć i to nie jest przeszkodą - dołożenie najtańszego ESP8266 i połączenie go serialem z dowolnym mikroprocesorem (opis tutaj) otwiera  możliwość integracji  praktycznie każdego systemu sterowania z BLYNKiem.

I to wydaje się być największym atutem jaki zyskujemy w BLYNKu dzięki widgetowi EVENTOR

Warto więc poczekać na ciąg dalszy ....
82

Brak komentarzy:

Publikowanie komentarza