pilot BLYNK ?- czyli o prostym sterowaniu z pulpitu telefonu za pomocą HTTP/S API cz. I

By: | Post date: Luty 3, 2018

Jak większość systemów IoT, BLYNK to panel sterowania domem w kieszeni użytkownika. Można wyjść z domu bez portfela, kluczy, teczki a nawet w kapciach. Ale nie bez telefonu komórkowego! Ten prosty fakt skazuje na powodzenie tego typu systemy. Muszą jednak być tak samo przyjazne i łatwe w obsłudze jak nie przymierzając samochodowy pilot. Trzy, cztery gotowe do natychmiastowego użycia przyciski – to wszystko czego potrzeba do szczęścia przeciętnemu Kowalskiemu. Niestety telefoniczne aplikacje IoT są wciąż dalekie od tego ideału. Nie wyłączając BLYNKa. Ale BLYNKa można nagiąć do tego ideału i to bardzo. Tomek poruszył kamyczek pod hasłem HTTP Request Shortcuts. Kamyczek, który ma szansę uruchomić niemałą lawinę nowych możliwości jakie otwiera protokół HTTP/S API w BLYNKu. Ale po kolei..Każdy kto próbował zapalić światło, zasłonić rolety czy otworzyć garaż aplikacją w telefonie wie, że po krótkiej fascynacji IoT zawsze zwycięża klasyczny pilot. Wielość czynności jakie trzeba zrobić by dotrzeć do potrzebnego przycisku na ekranie aplikacji potrafi zniechęcić największych entuzjastów Smart Home. A przecież telefon znakomicie zastępuje np. zegarek. Czemu? Dostęp do niego jest natychmiastowy po przyciśnięciu jednego jedynego klawisza. Nie inaczej musi wyglądać przyjazna obsługa sterowania telefonem.  Na razie o fizycznym przycisku na telefonie można tylko pomarzyć ale o wirtualnym na głównym ekranie telefonu już tak. Dziś więc na tapecie tak zwane SHORTCUTS.

Co to takiego ten  Shortcut. To skrót do funkcji lub programu dobrze znany z Windowsa. W tym przypadku do programu mającego zdolność wysyłania żądań API oraz odbioru i wyświetlania odpowiedzi na te żądania. Czyli to co potrafi zrobić każda przeglądarka internetowa? W zasadzie tak. W czym więc przewaga tej aplikacji nad Operą czy Firefoxem?

No właśnie w tym słowie  Shortcuts. Nie trzeba otwierać przeglądarki i żmudnie wpisywać komendy API by uzyskać odpowiedź co dzieje się wewnątrz odpytywanej aplikacji. Na pulpicie telefonu znajdują się ikony, pod którymi ukryta jest możliwość wysłania i odbioru jakiejś komendy API.  Naciśnięcie ikony …..i po chwili wyskakuje okienko z jakąś wiadomością. No i ?… No właśnie i co z tego wynika ?…..

Jak to było już wielokrotnie opisywane system BLYNK to zasadniczo trzy bloki: serwer, aplikacja/e w telefonie i mikrokontroler/y z bibliotekami BLYNKa. Całość jest połączona Internetem. I działa wymieniając informacje za pomocą tak zwanych pinów czyli zmiennych ładowanych jakimiś to danymi. Protokół HTTP/S API rozbudowuje ten prosty schemat systemu o praktycznie nieograniczoną liczbę urządzeń i systemów pod jednym wszakże warunkiem – one również potrafią wysłać lub odpowiedzieć na żądanie API. Schematycznie można to przedstawić tak

Nie bez kozery wszystkie strzałki łączące BLYNKa z systemami zewnętrznymi kierują się od i do serwera. Bo to właśnie serwer wysyła lub odbiera czyli mówiąc ogólniej – obsługuje – wszystkie żądania API.

Wskazany przez Tomka programu HTTP Request Shortcuts, jest kontenerem zawierającym ikony konkretnych komend API. Naciśnięcie ikony generuje wysłanie na adres serwera BLYNK żądania API  i oczekiwanie na odpowiedź. Nie jest do tego potrzebna ani aplikacja BLYNK w telefonie ani nawet mikrokontroler. Wszystko dzieje się na poziomie serwer BLYNK  < > aplikacja API. O co może pytać zewnętrzny system? O wszystko co jest udostępnione w BLYNKu w ramach obsługi API. Można więc z takiej aplikacji absolutnie nie związanej z BLYNKiem przejąć kierowanie całym domowym system. I to bez konieczności instalacji BLYNKa w telefonie!!! Pod jednym tylko warunkiem – że znany jest kod AUTH danego projektu.

Jak to wygląda w działaniu? Bardzo prosto.

Po zainstalowaniu HTTP Request Shortcuts na głównym ekranie można dodawać kolejne ikony pod którymi ukryte będą żądania API (+ w dolnym rogu). W ustawieniach skrótu wypełnić należy pole nazwy i adresu URL . Tu należy umieścić adres żądania API np.

odczyt pinu wirtualnego V2

http://blynk-cloud.com/65cdd8d970414f8a89744bccb5c83122/get/V2

zapis wartości 111 do pinu V1

http://blynk-cloud.com/65cdd8d970414f8a89744bccb5c83122/update/V1?value=111

I na koniec należy wybrać sposób wyświetlania komunikatów np. Simple Toast

To wszystko. Teraz pozostaje już tylko w ustawieniach przestawić edycję skrótu na wykonanie skrótu i można już odpytywać serwer BLYNK komendami HTTP/S API.

Poniżej przykład wykorzystania aplikacji HTTP Request Shortcuts do odczytania wartości pinu V2 (połączonego z widgetem slider) i wprowadzenia wartości do pinu V1 (połączonego z przyciskiem i z wyświetlaczem).

Wszystko działa bezproblemowo i niemal błyskawicznie. HTTP Request Shortcuts  ma tylko jedną wadę. Dotarcie do ikon skrótów wymaga wcześniejszego otwarcia aplikacji. Gdzie więc zysk w stosunku do BLYNKa?  W czasie. Aplikacja otwiera się błyskawicznie bez całego procesu logowania się do serwera. Można też dodać sterujące skróty do różnych serwerów BLYNKa.  Jest to szczególnie cenne gdy użytkownik korzysta jednocześnie z lokalnego i publicznego serwera BLYNK. Można jednocześnie sterować oboma systemami bez konieczności przeprowadzania całej złożonej procedury przekonfigurowania aplikacji na inny serwer.  A tego już nie potrafi firmowa aplikacja systemu. HTTP Request Shortcuts sprawdzi się w tym przypadku znakomicie.

Ale są inne programy bliższe ideałowi przyjaznego sterowania systemami IoT. Programy te umożliwiają umieszczenie ikony skrótu komend API wprost na ekranie głównym telefonu czy tableta.  WIDGET + SHORTCUT jest właśnie takim rozwiązaniem. Ale rozwiązaniem dostępnym na razie tylko w systemach typu Android. Niestety. Dla IOS (a i pewnie dla WINDOWS 10 na urządzenia mobilne) możemy sterować jedynie programami podobnymi do HTTP Request Shortcuts.

Może w kolejnych wpisach da się opisać i inne tego typu programy.

33

 

4 komentarze

  • Chris1982 napisał(a):

    Jestem użytkownikiem iPhona i szukałem sposobu jak dodać jakiś szybki skrót w telefonie do włączania/wyłączania przekaźnika podłączonego do Blynk`a bez uruchamiania aplikacji. Mój sposób to IFTTT, pozwala on tworzyć skróty dostępne nawet na zablokowanym ekranie. Wystarczy w IFTTT stworzyć aplet
    Webhooks i w niego wpisać np http://adres_ip:8080/xxxxxxtokenxxxxx/pin/V6 metoda PUT, typ application/json a w body [„1”] w celu zmiany statusu na stan wysoki lub [„0”] jeżeli ma być niski. Potem wystarczy zainstalować na iOS IFTTT i dodać sobie skrót. Może komuś się przyda taka wiedza. Dodam, że w podobny sposób w IFTTT możemy dodać obsługę asystenta głosowego Alexa i sterować głosowo stanami pinów w Blynk`u 🙂

  • Tomek napisał(a):

    Dowolny, to zdaje się przesadziłem, LED, button, value, i labeled value….

    • Krzycho napisał(a):

      Trochę wyprzedziłeś następny wpis. I bardzo dobrze, sam widzisz już pewne ograniczenia tego BLYNKowego rozwiązania, że o stówie na dzień dobry nie wspomnę. Ale idea jest właściwa trzeba dobrać tylko trochę inne narzędzia ….

  • Tomek napisał(a):

    Cześć Krzycho, kiedy ostatnio sprawdzałeś funkcję dodawania widgetów na telefonie lub tablecie. Bo ja dzisiaj:-)
    Bez problemu można dodać dowolny widget na ekran główny z tych, które mamy w naszym projekcie Blynka na danym urządzeniu. Po prostu wskazujemy którego widgeta z projektu chcemy mieć na ekranie głównym, a następnie tenże jest jakby skopiowany na głównym. Koszt: 100 punktów, niestety po zmianie zdania, 100 nie odzyskujemy.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Translate »