Translate:
Informacje
WWW
PLIKI
-
Najnowsze wpisy
Najnowsze komentarze
- Andrzej o Czarne chmury nad BLYNK 1.0
- Marek Marczuk o Czarne chmury nad BLYNK 1.0
- Krzycho o Czarne chmury nad BLYNK 1.0
- Marek Marczuk o Czarne chmury nad BLYNK 1.0
- Marek Marczuk o Czarne chmury nad BLYNK 1.0
Archiwa
- Grudzień 2021 (1)
- Listopad 2021 (1)
- Październik 2019 (1)
- Czerwiec 2019 (1)
- Marzec 2019 (1)
- Styczeń 2019 (1)
- Listopad 2018 (2)
- Październik 2018 (1)
- Sierpień 2018 (1)
- Czerwiec 2018 (1)
- Maj 2018 (2)
- Kwiecień 2018 (4)
- Luty 2018 (4)
- Styczeń 2018 (5)
- Grudzień 2017 (2)
- Listopad 2017 (8)
- Październik 2017 (4)
- Wrzesień 2017 (7)
- Sierpień 2017 (4)
- Lipiec 2017 (1)
Kategorie
- Serwer Lokalny BLYNK (8)
- Zaczynamy (1)
- Ciekawostki (1)
- Aplikacja tel/tablet (15)
- Sterowanie z pulpitu (2)
- 5. Widgety (13)
- EVENTOR (2)
- Znalezione w sieci (1)
- Układy wieloprocesorowe (2)
- Na warsztacie u innych (2)
- komunikaty (2)
- Problemy (1)
- Uncategorized (5)
- 1. Ogólne (5)
- 2. Piny (3)
- 3. Komunikacja (11)
- API WEBHOOK (4)
- kontrola komunikacji (3)
- Nie blokujący BLYNK (3)
- 4. Biblioteki (3)
Widget EVENTOR – programowanie w telefonie – cz III – przykład
Programowanie mikrokontrolerów jest łatwe. A za sprawą genialnego projektu Arduino jest bardzo łatwe. Tworzenie aplikacji sterujących mikrokontrolerem na telefon. tablet lub komputer jest łatwe. A za sprawą genialnego projektu BLYNK jest bardzo łatwe. Czy można ułatwić coś co już jest bardzo łatwe? Oczywiście! Widget EVENTOR jest tego najlepszym przykładem. Kolejny odcinek o połączeniu aplikacji sterującej z programowaniem i co z tego wynika
Świat automatyki składa się z dwu rzeczywistości:
- bliskiej gdzie czujniki i elementy sterujące bezpośrednio ingerują w sterowane urządzenie czy proces
- odległej skąd nadzoruje się i wpływa na działanie urządzenia czy przebieg procesu
Początkowo (w czasach mechaniki)wszelkie elementy sterujące były blisko miejsca akcji a elementy zdalne były rzadko stosowane bo były drogie (np. zwrotnice kolejowe). Elektryczność zmieniła ten stan diametralnie. Kable były tanie a elektronika droga więc ciągnięto kilometry przewodów by połączyć je w jednym dyspozytorskim centrum nafaszerowanym lampami a potem tranzystorami. Mikroprocesory znowu zmieniły układ sił. Bardziej opłacalne stały się lokalne systemy sterowania a do i od centrali szły już tylko sygnały informacyjne ale wciąż kilometrami kabli. Internet i powszechna łączność bezprzewodowa całkowicie zrewolucjonizowała tradycyjną automatykę. Nie ma dziś większego znaczenia gdzie zostanie umieszczony serce urządzenia zawierające program jego działania. Można go umieścić przy obiekcie, może być tysiące km dalej. Wszystko zależy od sprawności łącza i wymaganego poziomu bezpieczeństwa.
Na dziś najbardziej efektywną jest struktura mocno mieszana. Cześć systemu sterowania znajduje się bezpośrednio przy obiekcie, część w oddalonym centrum. Bliskość zapewnia niezawodność i bezpieczeństwo procesu odległość wygodę i łatwość zmian parametrów czy programów sterowania.
Nie inaczej jest z BLYNKiem – domowym systemem automatyki. Duża część procesu sterowania znajduje się bezpośrednio w pamięci mikrokontrolera w sterowanym obiekcie (regulatorze temperatury, świateł czy rolet) część w oddalonym centrum – serwerze BLYNK. Granice obu systemów co do realizowanych funkcji są płynne. I choć odczyt czujników i sterowanie elementami wykonawczymi zawsze będzie realizowane lokalnie to już inne funkcje (np. zapis danych do pamięci) mogą być realizowane i w pamięci mikrokontrolera i w pamięci serwera BLYNK.
Od czasu pojawienia się widgeta EVENTOR również programowanie procesu sterowania może być w miarę swobodnie przenoszone pomiędzy procesor a serwer. Jest to co prawda dość ograniczona zamienność ale dająca w praktyce spore możliwości optymalizacji tworzenia a przede wszystkim szybkiej zmiany sposobu działania domowego urządzenia.
Jak to działa? Najlepiej na wyobraźnie działa przykład – a więc przykład
Prosty moduł mikroprocesorowy dla trzech sygnałów wejściowych (przyciski na portach 4,5 13) i trzech wyjściowych (LEDy: jeden na module ESP i dwa dodatkowe na portach 12, 14). W module ESP zainstalowana jest biblioteka BLYNK.
Poniżej opis przykładowego działania urządzenia:
- przycisk 1 załącza odbiornik 1 (LED1)
- przycisk 2 załącza odbiornik 2 (LED2) i odbiornik 3 (LED 3). Odbiornik 3 jest załączony przez odcinek czasu nastawiany z aplikacji w telefonie
- przycisk 3 wyłącza odbiornik 1, 2 i 3 jeśli jest załączony
- przyciski 1,2,3 mają mieć swoje odpowiedniki w aplikacji BLYNK w telefonie (zdalne sterowanie)
- stan odbiorników ma być widoczny w aplikacji BLYNK (zdalna kontrola)
- wszystkie (i te w realu i te wirtualne) przyciski są mono-stabilne. Przyciski na płytce podwieszone są rezystorami do +3V a więc sterują opadającym zboczem z 1/0 co jasno wynika ze schematu. LEDy też mają odwróconą logikę – świecą gdy na wyjściu portu jest 0.
- w aplikacji w telefonie jest wskaźnik czy jest połączenie z modułem (M)
Na schemacie blokowym przepływ sygnałów pomiędzy elementami wej/wyj, mikroprocesorem i aplikacją BLYNK wyglądał będzie następująco:
Blok funkcji programu odpowiedzialny jest za wykonywanie opisanego wyżej schematu działania systemu. Licznik czasu służy do wyłączenia odbiornika 3 po czasie zadanym suwakiem w telefonie. M to sterowanie kontrolnego vLEDa sygnalizującego poprawną pracę urządzenia. Rola serwera BLYNK ogranicza się jedynie do przekazywania informacji pomiędzy mikroprocesorem a aplikacją w telefonie.
Kompletny program dla mikroprocesora ESP8266 realizujący zadane funkcje jest tutaj>>>>>>. ). Blok funkcji programu to linie 31-51 i 95-120. To tam zapisane są wszystkie relacje między wyjściami i wejściami, które ma wykonać mikroprocesor. W liniach 31-51 funkcje sterowane są przyciskami z aplikacji w telefonie a 95-120 to sterowanie przyciskami na płytce modułu.
Filmik z działania urządzenia.
Te same funkcje są wywoływane równolegle wirtualnymi przyciskami w telefonie.
I pokaz działania urządzenia sterowanego aplikacją w telefonie
Widget EVENTOR w działaniu
Celem zadania jest przeniesienie bloku funkcji programu z pamięci mikroprocesora do serwera BLYNK. Jak? – to właśnie zadanie widgetu EVENTOR. Nowy schemat blokowy obrazujący przepływ sygnałów pomiędzy elementami wej/wyj, mikroprocesorem serwerem BLYNK i aplikacją w telefonie wyglądał będzie teraz następująco:
Kwadrat po prawej stronie to mikroprocesor. Funkcje programu przeniesione zostały mikroprocesora do serwera BLYNK
Porty mikrokontrolera będą bezpośrednio sterowane z telefonicznej aplikacji. W mikroprocesorze pozostał jedynie timer/licznik bo takiej funkcji nie ma jeszcze dostępnej w EVENTORze. By móc nim sterować z zewnątrz dodamy sygnał START/STOP na dodatkowym pinie wirtualnym.
Po tych zabiegach program niesłychanie się uprościł (tu >>>>) – tak naprawdę to już nic w nim nie ma poza bibliotekami BLYNKa, deklaracjami portów i licznikiem czasu.
Mikroprocesor mimo degradacji ma wciąż do odegrania sporą rolę – jest nośnikiem biblioteki BLYNKa i dopasowuje sygnały, wyjścia i zmienne do standardów tej aplikacji. A przy okazji może jeszcze w wolnej chwili coś wykonać – ot choćby taki licznik czasu.
Trzeba nieco zmodyfikować ekran aplikacji w telefonie – mimo podobieństwa do poprzedniej wersji funkcje poszczególnych widgetów są już inne.
Czas teraz na wprowadzenie do serwera BLYNK zaplanowanych funkcji urządzenia. Na filmie pokazana jest procedura tworzenia funkcji powiązania przycisku 1 i przycisku 3 z odbiornikami.
Sygnałem aktywnym przycisków i odbiorników jest zero jak wynika ze schematu układu.
A tu 7 zaprogramowanych w EVENTORze funkcji dających razem identyczną funkcjonalność do tej zawartej wcześniej w mikroprocesorze.
I wynik programowania z pomocą EVENTORa
Można więc przenieść zasadniczą (funkcjonalną) część oprogramowania z mikrokontrolera do telefonu (a w zasadzie do serwera BLYNK). Jakie praktyczne korzyści wynikają z takiej operacji?
To już temat na kolejne wpisy o widgecie EVENTOR.
41
Dodaj komentarz