środa, 13 marca 2019

SLIDER – wirtualny potencjometr w BLYNKu

BUTTON załatwi nam połowę potrzeb w aplikacji typu Smart Home Iot czy Inteligentnego Domu. Drugie 50% przypada na kilkadziesiąt pozostałych widgetów BLYNKa. No może nie dokładnie tak ale…  W zasadzie kolejne elementy BLYNKowej układanki realizują ,już tylko jakieś pojedyncze ale za to specyficzne funkcje trudne do obsłużenia przyciskiem. np.  odczyt czujników telefonu, prezentacja  graficznych wykresów czy obsługa terminala.  Nie wszystkie są niezbędne ale poprawiają komfort obsługi naszego systemu lub jego wygląd. Ale są jeszcze 2-3 widgety, bez których trudno sobie wyobrazić przyjazny panel sterujący Dziś popatrzymy więc na jeden z nich – wirtualny potencjometr czyli SLIDER

piątek, 8 marca 2019

BLYNK za free - a nawet za darmochę

Nie trzeba budować browaru by napić się piwa. Fakt. Ale warto jeśli chcemy mieć piwo bez ograniczeń a budowa browaru nic (albo niewiele) nas kosztuje. Analogicznie co zrobić by mieć forsę... Odziedziczyć, ukraść, rozbić bank. Ale lepiej zbudować mennicę lub bank, które wydrukują nam dowolną ilość pieniędzy lub cyfr na koncie.
Dziś o budowie własnego banku - pardon - serwera BLYNK pozwalającego na budowę nieograniczonej liczby projektów i to całkowicie (no prawie) za darmo. BLYNK całkowicie za darmochę? Oczywiście. Inaczej ten blog nie miałby żadnego sensu.

Jak zacząć zabawę z BLYNK

A tu artykuł ładnie opisujący krok po kroku jak zacząć zabawę z BLYNK. Przykład oparty jest na module NodeMCU a więc z ESP8266. Mikrokontroler ten idealnie pasuje do filozofii BLYNKa i jednocześnie pozwala na korzystanie z najbardziej przyjaznego narzędzia programowania procesorów - ARDUINO IDE.

Patryk Mądry - NodeMCU – przykład użycia aplikacji Blynk

Obsługa pinów wirtualnych BLYNK w kodzie mikrokontrolera


Piny rzeczywiste znakomicie ułatwiają budowę prostych układów zdalnego sterowania w oparciu o Arduino i BLYNKa. Mają jednak sporo ograniczeń i w wielu miejscach utrudniają lub wręcz uniemożliwiają rozbudowę systemu o własne procedury czy zewnętrzne biblioteki. Programiści BLYNKa zaimplementowali więc ciekawy mechanizm przesyłania danych poprzez piny wirtualne. Na pierwszy rzut oka wyglądają jak klasyczne zmienne programowe. Ale tak naprawdę są indeksami (adresami) dużo bardziej złożonych procedur dostępnych w bibliotekach BLYNKa. Prawdziwa moc twórcza systemu zawarta jest właśnie w tych pinach i tych procedurach - trzeba im więc przyjrzeć się nieco dokładniej.

Piny rzeczywiste BLYNKa w programie mikrokontrolera


Cyfrowe i analogowe to podstawowe sygnały obsługiwane przez układy elektroniczne. Są to informacje proste gdzie treścią jest wielkość (wartość) sygnału. Ale treść może zostać zakodowana w następujących po sobie kolejnych zmianach wartości. Dla napięć analogowych określa się je mianem sygnałów z modulacją (napięcia, częstotliwości, fazy) dla cyfrowych jest to grupa zwana protokołami.

Ogromną przewagą mikrokontrolerów w stosunku do układów dyskretnych jest łatwość obsługi zarówno sygnałów modulowanych jak i protokołów. Zwłaszcza protokołów co jest dosyć oczywiste.  Dziś pierwszy post z serii obsługi danych przesyłanych w systemie BLYNK. O sygnałach prostych - czyli pinach analogowych i cyfrowych.

LED widget - aplikacja BLYNK cosik do nas mryga


Otaczająca nas rzeczywistość jest dla naszych zmysłów  światem analogowym. Jesteśmy wciąż atakowani nieskończnoną ilością barw, odcieni szarości, nieogarniętą gamą smaków czy zapachów. Ale w wielu sytuacjach zwłaszcza nagłych, kryzysowych czy awaryjnych potrzebujemy jedynie najważniejszych informacji. Tych niezbędnych do podjęcia natychmiastowej decyzji. Dwustanowych. BÓL. I ręka sama cofa siś od gorącego żelazka.
TAK/NIE, prawda/fałsz, 0/1, białe/czarne .... Listę taką można ciągnąć bez końca. I o ile stany te są zdefiniowane jednoznacznie to rodzaj sygnału - co będzie naszym TAK a co NIE - jest już sprawą umowną i mocno zależną od potrzeb,możliwości i historycznych doświadczeń. Lampki sygnalizacyjne należą do tej kategorii prostych wskaźników.  I tu zaczniemy opis widgetów BLYNKa.

Widgety BLYNK - profesjonalna aplikacja IoT na telefon w 5 minut


Kupujemy oczami.
I choć siła i możliwości BLYNKa ukryte są w jego wnętrzu tj. w mikroprocesorowych bibliotekach i kodzie serwera to na jego atrakcyjność dominujący wpływ ma wygląd telefonicznej aplikacji. Ta zaś,  podobnie jak starszy brat bliźniak - Arduino, jest zbiorem dowolnie układanych puzzli.

Co z tego potrafimy wyczarować zależy w większości od naszej wyobraźni i tylko trochę od umiejętności.  Na wyobraźnię nie ma mocnych ale odrobinę wiedzy da się załatwić. Choć zajmie to dobrych kilkadziesiąt odcinków by wszystkie te klocki szczegółowo opisać. Na początek trochę wiedzy ogólnej.

czwartek, 13 września 2018

BLYNK po nowemu - Układy dwuprocesorowe




Jak nie dać się zdominować w istniejącym układzie?
Tytuł jak raz pasujący do poradnika pracownika korporacji. Na blogu elektronicznym brzmi nieco dziwnie choć jest to bólu prawdziwy. Doświadcza go każdy zadający się z mikroprocesorami. Wielozadaniowość, wywłaszczenia, systemy z podziałem czasu to tylko z pozoru określenia właściwe dla"dużych" systemów jak Windows czy MAC OS. Kto choć raz użył przerwania w mikroprocesorze otarł się o wielozadaniowość. Nawet technika poolingu jest uproszczoną (bardzo uproszczoną) formą systemu z podziałem czasu. Najłatwiej jednak wielozadaniowość - określana tu jako wykonywanie więcej niż jednego zadania w tym samym czasie - uzyskać poprzez zastosowanie w projekcie kilku równolegle pracujących procesorów. W dzisiejszej dobie przy cenach poniżej 1$ za kość to najprostsze i w sumie najtańsze rozwiązanie. I problem równoległej pracy dwóch lub więcej niezależnych procesów w tym samym urządzeniu mamy z głowy. W przeciwieństwie do barszczu dwa procesory w układzie to znakomity pomysł.

środa, 12 września 2018

BLYNK blokuje program przy braku połączenia - co robić? cz. II


Rozwiązanie I - Łatanie dziur
Rozważmy najtrudniejszy przypadek - połączenie z serwerem BLYNK siecią WiFi. Złożoność problemu polega na tym, że biblioteka BLYNK oprócz połączenia z serwerem musi wcześniej zestawić połączenie WiFi. Ten problem nie występuje przy dostępie do sieci via Ethernet - tam połączenie dokonuje się sprzętowo bez udziału bibliotek BLYNKa.
Rozwiązanie jest jedno - należy w jakikolwiek sposób "ominąć" powyższe procedury jeśli nie dochodzi do połączenia w określonym czasie ale jednocześnie umożliwić połączenie gdy ustąpią przyczyny jego przerwania.Nie jest to proste zadanie.

wtorek, 11 września 2018

BLYNK blokuje program przy braku połączenia - co zrobić? cz. I


BLYNK to Internet a z internetem bywa różnie.
Najgorzej przerwy w łączności znosi mikroprocesor. Wiadomo już jak można sprawdzić brak połączenia w systemie BLYNK. Jednak to że WIEMY nie naprawi nam łącza choć biblioteka BLYNKa będzie wciąż i wciąż próbować zestawić połączenie. I to wciąż i wciąż mimo, iż bardzo pożądane w standardowych aplikacjach może być przyczyną sporych kłopotów w niektórych projektach. W takich gdzie główne funkcje programu muszą działać bez zakłóceń niezależnie od istnienia internetowego połączenia - ot choćby w systemie sterowania temperaturą w mieszkaniu. Nie do przyjęcia jest przenikliwe zimno (albo tropikalny upał) tylko dlatego, że popsuł się domowy router a nasz sterownik zawiesił się w nieustalonym bliżej stanie.
Kolejne odcinki będą o tym co robić by BLYNK nie blokował programu przy braku połączenia z serwerem.

poniedziałek, 10 września 2018

BLYNK - kontrola dostarczania przesyłek cz. III - moduł mikroprocesora




W elektronice dawnych wieków urządzenie i użytkownik byli połączeni w sposób bezpośredni. Użytkownik dowiadywał się o stanie urządzenia za pomocą zainstalowanych w nim wskaźników, mierników i wyświetlaczy. Urządzenie przyjmowało plecenia przyciskami, potencjometrami czasem klawiaturą podłączonymi bezpośrednio do niego. Nawet w tak zwanych systemach zdalnych gdzie wskaźniki i manipulatory były nieco oddalone od obiektu regulacji wszystko odbywało się zestawionymi na stałe kanałami łączności przewodowej lub radiowej. Można więc bez kozery uznać, że były to wewnętrzne połączenia urządzenia. Aby poznać co dzieje się z urządzeniem lub nim posterować należało podejść i zrobić to bezpośrednio w urządzeniu.
Sytuacja diametralnie zmieniła się wraz z erą Internetu. Użytkownik w większości procesów został fizycznie oddzielony od urządzeń. Tak drastycznie, iż może znajdować się na końcu świata i wciąż jest w stanie sterować urządzeniem identycznie jakby stał obok. Ale gdy łączność się urywa nie pozostaje nic innego jak pokornie podreptać do urządzenia by zbadać co dolega pacjentowi. Ten wpis będzie o diagnostyce komunikacji od strony modułów mikroprocesorowych.