piątek, 14 lipca 2017

BLYNK - Własny serwer na komputerze z Windowsem

 .... czyli cuda na kiju


Chłopaki z BLYNKa robią co mogą by ułatwić sobie, a przy okazji i nam, życie w wirtualnym świecie. W każdym razie tak to wygląda patrząc na ten projekt. Wszystko ma być prosto, szybko i tanio.
Jak w Biedronce.
5 minut na stworzenie zdalnej aplikacji IoT przez kompletnego laika w elektronice i programowaniu to dla mnie rekord świata. Świata do niedawna zazdrośnie strzeżonego przez Panuf Elektronicuf i Programistuf. Teraz każdy na telefonie może wyczarować swój własny prywatny matrix zwany Inteligentnym Domem. A nawet stworzyć i odpalić mózg systemu - także w 5 minut.

Dziś - jak postawić lokalny serwer BLYNK na dowolnym komputerze z Windowsem.

Nie tak dawno gimnastykowałem się z uruchomieniem lokalnego serwera BLYNK na serwerze plików (NAS) firmy QNAP. Zmuszenie go do pracy jako domowego serwera IoT to kolejna ciekawa funkcja tego wszechstronnego urządzenia. Naprawdę warto go mieć. Ale co zrobić jeśli cała nasza sieć to ruter z dostępem do internetu i jeden lub kilka komputerów i żadnego NASa w pobliżu?
Jak się nie ma ,,, to się lubi komputer z Oknami i na nim stawia bez żadnych problemów lokalny serwer BLYNKa. Trochę to sztuczne bo nikt nie lubi gdy jego ulubiony komputer świeci się na okrągło bez sensu. Więc serwer Blynk na Windowsie potraktujmy jak kolejną wprawkę a po części jako darmowy (oj jak ja to lubię) sposób na udostępnienie sobie wszystkich możliwych funkcji BLYNKA dla eksperymentów i testów.

Ale po kolei.
Jak większość elementów systemu - serwer BLYNK jest publicznie dostępny i w zakresie jawności kodu i jego darmowej instalacji i użytkowania.

Do instalacji serwera przyda się

  1. komputer z dowolnym Windowsem, na którym można zainstalować JAVA w wersji 8
  2. środowisko JAVA wersja => 8 dostępne tu  >>>
  3. skrypt serwera - pobieramy tu  >>>
  4. 10 minut czasu na uruchomienie serwera

Ad. 2 Pobieramy i instalujemy środowisko Java. Najczęściej jakąś JAVĘ na komputerze już mamy - ważne by miała numer co najmniej 8. Jeśli nie ma - ściągami pasującą do naszego systemu wersję (32/64 bit) i uruchamiamy. Dla ułatwienia sobie poszukiwań programy narzędziowe instaluję w osobnym folderze. Dostęp do programu konfiguracji JAVy wygląda u mnie tak


Sprawdzimy jaki numer wersji JAVA widzi system Windows


Trochę trzeba się napracować by dotrzeć do katalogu JAVA - niezapomniane komendy DOSa wciąż są aktualne. Wywołanie java -version pokazuje nam szczegóły zainstalowanego środowiska.
Aby się tak nie męczyć warto wskazać systemowi Windows ścieżkę poszukiwań PATH gdzie znajdzie sobie nasz plik programu JAVA czyli

set PATH=c:\Dane\Aplikacje\java\bin;%PATH%

Po tym zabiegu zmienna środowiskowa PATH powiększyła się o katalog z JAVA i możliwe jest uruchomienie programów w tym katalogu z dowolnego miejsca w komputerze



Ad. 3
JAVE już mamy opanowaną czas na program serwera.  Ściągamy najnowszą wersję serwera w postaci .jar. To takie niby archiwum niby program wykonywalny przez JAVA. Co jest w środku możemy zobaczyć zaglądając do wersji .zip. Zobaczyłem i zamknąłem. Ta porcja wiedzy tajemnej jeszcze nie dla mnie.



Ad.4

Piąta minuta już minęła - czas na odpalenie rakiety. Uruchamiamy serwer BLYNK.

Ściągnięty plik server-0.25.3.jar ulokowałem w katalogu C:\Dane\Aplikacje\blynk_server
Dodałem do niego katalog /moje (WAŻNE!!!!) w którym znajdą się w przyszłości dane projektów BLYNK.

I najważniejsza operacja - uruchomienie BLYNKa

java -jar server-0.25.3.jar -dataFolder /moje
a efekt ....


I TO KONIEC!!!!

10 min ? Nawet nie tyle. Duży szacun dla Dmitrego za takie przygotowanie projektu serwera.

Mamy już swój własny serwer BLYNK, z którym możemy robić wszystko co nam się żywnie podoba - o ile wiemy co robimy. A jak zrobimy coś nie tak? To w minutę zainstalujemy sobie nowy serwer.
Ale najpierw zabijemy proces JAVA w Task Managerze. I ponownie uruchamiamy serwer BLYNK wcześniej chroniąc pliki z katalogu /moje. Tam są nasze bezcenne projekty.  Analogicznie przy upgrade nowej wersji serwera - zabijamy uruchomiony proces JAVY i kasujemy wszystko oprócz folderu /moje.
UWAGA: zamknięcie okna Wiersz Poleceń to zamknięcie sesji JAVA (wyłączamy serwer Blynk) choć prawidłowo powinniśmy to okno zamykać przez CTRL+C.

By zalogować się do swojego serwera BLYNK wpisujemy w przeglądarce https://127.0.0.1:9443/admin   jeśli jest to ten sam komputer lub https://IPblynk:9443/admin gdzie IPblynk to adres lub nazwa komputera z zainstalowanym BLYNKiem  - do odczytania np. poleceniem  ipconfig /all .

UWAGA: przy uruchamianiu serwera pojawi się komunikat o nieważnym certyfikacie - należy go zignorować

Wpisujemy dane logowania (login: admin@blynk.cc pass:admin) i już jesteśmy w głównym centrum sterowania naszym domem.    

Rozmaitości


  • Każdorazowe otwieranie wiersza poleceń i mozolne wklepywanie komend uruchamiających serwer szybko wkurzy. Warto zautomatyzować ten proces tworząc sobie plik typu .bat w katalogu zawierającym program serwera o treści: 
set PATH=C:\Dane\Aplikacje\java\bin;%PATH%
java -jar server-0.25.3.jar -dataFolder /moje

- tworzymy plikt tekstowy .txt
- wpisujemy komendy j/w
- zamykamy i zmieniamy rozszerzenie na .bat

Można też plik .bat umieścić w AutoStarcie - wtedy serwer BLYNK będzie uruchamiany przy każdym starcie komputera


  • Pewnikiem ze względu na ustawienia programu JAVA najlepiej otwierać panel administratora serwera BLYNK przeglądarką Firefox.
  • Jeśli zamierzamy otworzyć naszego BLYNKa na świat bezwzględnie należy zmienić login i hasło administratora

Uzupełnienie

Serwer daje się mocno konfigurować jeszcze przed uruchomieniem pliku .jar. W tym celu należy w katalogu z plikiem serwera umieścić pliki konfiguracyjne. Mamy możliwość konfiguracji parametrów ogólnych serwera BLYNK - plik server.properties, konfiguracji serwera pocztowego

A oto jak stworzyć poszczególne pliki konfiguracyjne

server.properties


  • Zawartość pliku server.properties znajdziemy na githubie w katalogu resources.
  • Otwieramy nowy plik w notatniku i kopiujemy całą zawartość server.properties (aktualnie to 136 linii choć może się to zmieniać)
  • Zapisujemy z dowolną nazwą i zamykamy.
  • Zmieniamy całą nazwę (łącznie z rozszerzeniem txt) na server.properties 
  • Kopiujemy plik do katalogu serwera z BLYNKiem

Parę ciekawych ustawień można znaleźć w tym pliku np. wielkość energii (punktów) niezbędnej do dodawania kolejnych widgetów do naszego projektu - no oczywiście jeśli komuś 100 tys. punktów jest jeszcze zbyt mało ! :)
Najważniejszym dla mnie ustawieniem jest możliwość nadania własnego certyfikatu SSL naszemu serwerowi BLYNK. Dzięki temu znika uporczywy komunikat o nieważnym certyfikacie podczas otwierania strony administratora serwera.

mail.properties

Możemy umożliwić wysyłanie emali naszemu lokalnemu serwerowi. Jest to niezbędne by otrzymywać emaile z AUTH podczas zakładania nowego projektu jak również by serwer mógł wysyłać emaile zaprogramowane w naszym urządzeniu. Na dziś możemy wysyłać pocztę jedynie z konta na gmailu.
Ale wcześniej musimy zezwolić na logowanie się BLYNKa do serwera GMAIL poprzez przełączenie opcji w pozycje WŁĄCZONY na stronie konfiguracyjnej gmaila wcześniej logując się w przeglądarce do swojego konta google.
Procedura zakładania pliku jest identyczna jak przy server.properties tylko nazwa i zawartość pliku ulega zmianie. Do pliku wpisujemy to co poniżej odpowiednio zmieniając adres i hasło dostępu do naszego konta na gmailu (aktualna zawartość pliku mail.properties znajduje się tu>>>>)

    mail.smtp.auth=true
    mail.smtp.starttls.enable=true
    mail.smtp.host=smtp.gmail.com
    mail.smtp.port=587
    mail.smtp.username=YOUR_EMAIL_HERE
    mail.smtp.password=YOUR_EMAIL_PASS_HERE
sms.properties

Teoretycznie można otworzyć również możliwość wysłania SMSów (notyfikacji) przez nasz mikroprocesor via BLYNK. Teoretycznie - gdyż BLYNK wspiera tylko jednego i to płatnego providera takiej usługi - NEXMO. To sobie więc odpuścimy. Na razie





Tu możemy zakończyć opowieść ale cdn...
90

Brak komentarzy:

Prześlij komentarz