Dziś pierwszy przykład programowania w Virtuino i co z tego wynikło
Do niedawna możliwości sterowania w obrębie domowej sieci automatyki wyglądał mniej więcej tak
Zielone strzałki to bezpośrednie sterowania z pilota do gniazda RF433 - to wciąż najpopularniejszy sposób załączania czegoś bez potrzeby ruszania się z fotela. Jedyny problem z tym rodzajem komunikacji to wymóg pracy z tym samym protokołem nadajnika i odbiornika. Ogranicza to wykorzystanie elementów systemu do jednego producenta lub konieczność stosowania urządzeń zdolnych do nauki nadawanego lub odbieranego kodu.
Niebieskie strzałki to sterowanie odbiornikiem przez nadajnik via moduł ESP. To świetny sposób na połączenie nadajników i odbiorników różnych producentów gdzie moduł ESP robi konwersję protokołów. Głównym jednak zadaniem takiej komunikacji jest realizacja programowo zaplanowanych działań np. załączanie oświetlenia o określonych porach czy uruchomienie obiegu pompy CWU z chwilą zadziałania czujki PIR.
Fioletowa strzałka pojawiła się z chwilą dodania do systemu IoT aplikacji Virtuino. Pozwoliło to na sterowanie działaniem poszczególnych modułów ESP z jednego miejsca jak również obserwację ich stanu. Nie była to jakaś istotna rewolucja w działaniu systemu - ot przyjemny gadżet którym można pochwalić się przed kolegami. Na tym etapie "rozwoju" systemu aplikacja Virtuino była załączana sporadycznie na różnych urządzeniach - najczęściej w aplikacji na telefonie bądź komputerze.
Przełomem stało się uruchomienie na stałe aplikacji Virtuino na leciwym już nieco tablecie. Dzięki temu pojawiła się jeszcze jedna strzałka
Czerwona strzałka wskazuje możliwość przesyłania dowolnych sygnałów pomiędzy modułami ESP z wykorzystaniem Virtuino jako pośrednika. I to już był początek rewolucji. Rewolucji, która wciąż trwa i rozwija się w najlepsze. A wszystko dzięki narzędziom i skryptom zaprojektowanym przez Iliasa w Virtuino.Przesłanie sygnału z jednego modułu ESP do innego modułu za pomocą Virtuino polega na przesłaniu wartości pinu dowiązanego do nadawcy do pinu odbiorcy.
Jest oczywistym, że takie przesyłanie wartości pinów (zmiennych) musi odbywać się niezależnie od tego jaki pulpit Virtuino jest wyświetlany czyli że trzeba to zrobić za pomocą skryptu. Jedyny warunek jest taki by aplikacja Virtuino była aktywna.
Przesyłanie sygnałów pomiędzy modułami można to zrobić na wiele sposobów w zależności jakim typem wielkości operujemy.
I tak dla danych typu binarnego można użyć skryptu Logical gate
Przeniesienia wartości można dokonać dowolną funkcją logiczną
choć najbardziej oczywistą będzie funkcja BUF czyli wzmacniacza nie odwracającego powtarzającego wartość wejścia na wyjście.
połączenie dwu modułów ESP polega na zadeklarowaniu wejścia pinem jednego modułu a wyjścia drugiego np.
Powyższy skrypt przesyła sygnał z pinu V5 modułu o nazwie esp_grzalka do pinu V2 modułu esp_pompa. I to wszystko. Przy każdej zmianie wartości pinu V5 zmieni się odpowiednio wartości pinu V2.
Przyjęło się że wartości TRUE i FALSE to 1 i 0. Virtuino dopuszcza jednak dowolne wartości jakie podstawimy pod TRUE i FALSE dla wejścia i wyjścia
przy czym wartość TRUE na wyjściu (128) będzie wtedy i tylko wtedy gdy pin wejściowy będzie miał wartość 555. Przy innych wartościach pinu V5 pin wyjściowy V2 będzie zawsze przyjmował wartość FALSE (77).
Co więcej wartościami mogą być wielkości typu TEXT więc niejako przy okazji można sobie tym skryptem zrobić porównywarkę tekstu !!! (tym ciekawym tematem może zajmę się w przyszłości)
Proste? Genialnie proste i niezwykle elastyczne. A to dopiero początek
Wartości liczbowych nie da się przesłać skrypem funkcji logicznych. Do tego celu musimy użyć skryptu funkcji matematycznych (Math script). Jego zastosowanie jest bardzo proste
Liczba z pinu V18 modułu esp_licznik zostaje wprost przeniesiona do pinu V11 modułu esp-sieć. Liczby mogą być w dowolnym formacie w tym zmiennoprzecinkowym.
Naturalnie tym skryptem można też przesłać wartości binarne 0/1
Pozostaje jeszcze jeden typ zmiennych, który możemy chcieć przesyłać - to zmienne tekstowe.
Wykorzystamy do przesłania danych skrypt "Text to variables converter". Skrypt ten pozwala wyodrębniać dane liczbowe z ciągu tekstowego. Jeżeli pozostawimy puste pola analizy (prefix suffix) to dane tekstowe bez żadnej zmiany zostaną skopiowane z pinu wejściowego do wyjściowego.
Jest to najbardziej uniwersalny skrypt przesyłania danych z jednego pinu na drugi - można nim przesłać dowolny typ wielkości.
/*
This sript copy a variable to another variable
The code copies the value and the timestamp of the value
*/
//--- Copy values from Virtuino Variables to JavaScript variables
var inputValue = Virtuino.readValue("inputTag");
//var inputTimestamp = Virtuino.readTimeStamp("inputTag");
//--- enter the JavaScript code like the example below
if (inputValue!=null){ // check if the input is null
result = '{"tag":"outputTag", "value":"'+ inputValue+ ' "}';
}
else { // no input value available yet
result = null; // return a null value
}
Brak komentarzy:
Prześlij komentarz