BLYNK za free – odcinek III

By: | Post date: Listopad 11, 2017

Mamy już działający własny serwer BLYNK. Teraz trzeba zmienić trasę przebiegu rzeczywistych i wirtualnych pinów z aplikacji i mikrokontrolera tak by docierały do nowego węzła komunikacyjnego. I tu uwaga. Albo rybka albo pipka – albo nasz system korzysta z publicznego serwera albo z naszego lokalnego. To spore ograniczenie ale zrozumiałe uwzględniając komercyjny charakter publicznego serwera BLYNK. Sami musimy zdecydować jakie rozwiązanie jest korzystniejsze dla naszego projektu i dla naszych pieniędzy. A wcześniej kolejna porcja informacji o własnym (darmowym) systemie BLYNK.

Serce systemu BLYNK znajduje się już w innym miejscu trzeba ten fakt uwzględnić w konfiguracji aplikacji i w programie mikrokontrolera.

Aplikacja

Przełączanie na inny serwer w aplikacji dokonuje się przed jej uruchomieniem. Oznacza to całkowitą zmianę zawartości aplikacji i obsługiwanych projektów. Przy uruchomieniu (zalogowaniu) aplikacja każdorazowo pobiera komplet naszych projektów przechowywanych się na serwerze przypisanych do  konta użytkownika.

Zmiana serwera wymaga wpisania jego adresu do poniższych ustawień

Podobny obraz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

To wszystko. Od tego momentu aplikacja komunikuje się jedynie z naszym serwerem. Jeśli chcemy widzieć konta i projekty jakie mieliśmy na serwerze publicznym musimy je od nowa stworzyć. Dla niewielkich projektów całą konfigurację możemy przenieść poprzez funkcję  CLONE szyfrującą konfigurację w kodzie QR. Generujemy kod QR zalogowani do serwera publicznego a odczytujemy go tworząc nowy projekt na serwerze lokalnym (rys nr 3).

 

 

 

 

 

 

 

 

 

 

 

Duże projekty nie mieszczą się jednak w pojemności kodu QR i nie mogą być kopiowane tą metodą. Niestety. Pozostaje mozolne ręczne wklepywanie konfiguracji w telefonie

Mikrokontroler

Dużo łatwiejsze jest przekierowanie naszego programu w mikrokontrolerze na nowy serwer. W zasadzie wymaga to zmiany tylko w jednej linii kodu

Polecenie

Blynk.begin(auth); //dla Eternet
Blynk.begin(auth, SSID, pass)); // dla WiFi

musimy zastąpić

Blynk.begin(auth, IPAddress(xxx,xxx,xxx,xxx));
Blynk.begin(auth, SSID, pass, IPAddress(XXX,XXX,XXX,XXX));

Zamiast IPAddress(XXX,XXX,XXX,XXX)  możemy wstawić nazwę komputera

Blynk.begin(auth, SSID, pass, "nazwa_komp");

 

Tak skonfigurowany system może działać po wsze czasy niezależnie od ewentualnych zmian „polityki” open source twórców BLYNKa. Jakakolwiek próba komercjalizacji dostępnej obecnie za darmo wersji serwera będzie bez znaczenia jeśli korzystamy z lokalnego serwera BLYNK. Pod jednym wszakże warunkiem – mamy gdzieś zapamiętany plik APP z odpowiednią do posiadanego serwera wersją aplikacji, by w razie wycofania jej z rynku freeware móc bez przeszkód korzystać z tego fajnego systemu IoT. I oczywiście nie należy zapomnieć o WYŁĄCZENIU automatycznej aktualizacji aplikacji.

UWAGA – Ważne

O tym by na bieżąco aktualizować aplikacje i biblioteki wciąż przypominają autorzy BLYNKa. Ale nie zawsze jest to możliwe a nawet konieczne. Zmiany w projekcie dokonują tak szybko, że nadążanie za kolejnymi wersjami jest mocno uciążliwe. Szczególnie gdy projekt trafił w obce ręce i nie mamy już kontroli nad nim.

Serwer publiczny jest aktualizowany na bieżąco praktycznie bez naszej wiedzy. Dla tego serwera w teorii zagwarantowana jest kompatybilność w dół bibliotek BLYNKa. Gorzej z aplikacją w telefonie – ta powinna mieć włączoną opcję aktualizacji online by system działał prawidłowo.

Dla serwera prywatnego sytuacja jest odmienna. To my decydujemy kiedy chcemy aktualizować wersję używanego serwera. Ja nie robię tego zbyt często. Tylko istotne modernizacje skłaniają mnie do wgrania nowej wersji systemu. Ale w takim przypadku konieczne jest wyłączenia automatycznej aktualizacji aplikacji w telefonie. W przeciwnym razie nowa wersja aplikacji może źle współpracować z naszą starszą wersją serwera. Jeśli instalujemy nowy serwer warto zaktualizować aplikację. Jeśli aktualizujemy aplikację  musimy zaktualizować wersję serwera. Jak wspominałem biblioteki BLYNKa są bardziej tolerancyjne ale dla własnego bezpieczeństwa wgranie nowych bibliotek do mikrokontrolera winno być poprzedzone aktualizacją i serwera i aplikacji.

 

21

Dodaj komentarz

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