Blynk, własny serwer na maku

Udało mi się dziś w miarę bezboleśnie ustawić lokalny serwer Blynk-a. Głównie kierowałem się opisem na Git Hub oraz filmem z YouTube:

INSTALACJA JAVY

Pierwsze co należy zrobić to sprawdzić czy Java jest już zainstalowana na naszym komputerze

W Terminalu (Terminal.app) trzeba wpisać polecenie:

$ java -version

Ja otrzymałem komunikat o braku Javy i konieczności instalacji. Wszedłem w downloads firmy ORACLE.
Pobrałem plik jdk-12.0.2_osx-x64_bin.dmg kliknąłem i zainstalowałem Javę na komputerze.
Uwaga! Na filmie zostaje pobrany update Javy. Zrobiłem to samo, teoretycznie się instalowało, ale obecności Javy terminal nie potwierdzał, dopiero po ściągnięciu w/w pliku, instalacji i po wpisaniu komendy:

$ java -version

otrzymałem zapis:

java version "12.0.2" 2019-07-16
Java(TM) SE Runtime Environment (build 12.0.2+10)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing)
INSTALACJA SERWERA BLYNK

Serwer pobrałem stąd. Najnowsza wersja miała nazwę:

server-0.41.11-java8.jar

Pobrany plik wrzuciłem do katalogu Documents. Następnie w oknie Terminala zmieniłem katalog:

cd /Users/yarogniew/Documents

… następnie wpisałem następującą komendę:

java -jar server-0.41.10-java8.jar -dataFolder server_blynk

W folderze Documents utworzony został nowy folder server_blynk w którym zainstalował się nasz lokalny serwer Blynk. Jeśli chcemy żeby serwer działał w tle dopisujemy na końcu znak „&” i uruchamiamy, jak zawsze, klawiszem ENTER

java -jar server-0.41.10-java8.jar -dataFolder server_blynk &

Otrzymujemy informacje o rozpoczęciu pracy serwera Blynk na naszym komputerze wraz z informacjami o adresie, sposobie logowania do kokpitu

Blynk Server 0.41.12-SNAPSHOT successfully started.
All server output is stored in folder '/Users/yarogniew/Documents/logs' file.
Your Admin url is https://192.168.0.4:9443/admin
Your Admin login email is admin@blynk.cc
Your Admin password is admin

Przy następnych uruchomieniach zawsze zmieniamy katalog i potem wpisujemy komendę uruchamiającą serwer javy

cd /Users/yarogniew/Documents
java -jar server-0.41.11-java8.jar -dataFolder server_blynk &

I otrzymujemy informację:

Blynk Server 0.41.12-SNAPSHOT successfully started.
All server output is stored in folder '/Users/yarogniew/Documents/logs' file.

Żeby zakończyć pracę serwera wpisujemy ctrl+C. Poniżej pokazuję jak zamknąć proces na kanale 8080. Ale nie bardzo wiem jak to wszystko działa, więc trochę poruszam się we mgle.

Mac-mini-Jarogniew-2:~ yarogniew$ sudo lsof -i :8080
Password:
COMMAND  PID      USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    6325 yarogniew  113u  IPv6 0x2ac12ffc65a15485      0t0  TCP *:http-alt (LISTEN)
java    6325 yarogniew  118u  IPv6 0x2ac12ffc65a17705      0t0  TCP 192.168.0.4:http-alt->192.168.0.2:49153 (ESTABLISHED)
Mac-mini-Jarogniew-2:~ yarogniew$ kill 6325

W tym miejscu serwer przestaje działać bo zabiliśmy proces 6325 ;)
Wznawiamy działanie serwera

Mac-mini-Jarogniew-2:~ yarogniew$ cd /Users/yarogniew/Documents
Mac-mini-Jarogniew-2:Documents yarogniew$ java -jar server-0.41.11-java8.jar -dataFolder server_blynk

Blynk Server 0.41.12-SNAPSHOT successfully started.
All server output is stored in folder '/Users/yarogniew/Documents/logs' file.

I wciskamy ctrl+C

^CCatch shutdown hook.
Stopping servers...
Shutting down HTTP API and WebSockets server...
Shutting down HTTPS API, WebSockets and Admin server...
Shutting down Mqtt hardware server...
Stopping scheduler...
Closing all sockets...
Stopping Transport Holder...
Stopping aggregator...
Stopping BlockingIOProcessor...
Stopping DBManager...
Saving user profiles...
Done.
Mac-mini-Jarogniew-2:Documents yarogniew$ 

Serwer znów stopuje

Uwaga! Można postawić dowolną liczbę serwerów lokalnych zmieniając nazwę foldera (po -dataFolder). Oczywiście uruchomić możemy tylko jeden serwer.
ADMIN URL

W okno przeglądarki wpisujemy adres: https://192.168.0.4:9443/admin. Ignorujemy zagrożenia. Logujemy się admin@blynk.cc/admin i wchodzimy do panelu sterowania. Tam mamy możliwość podglądu wszystkiego co dzieje się na naszym nowym serwerze.

APLIKACJA

Wchodzimy do aplikacji Blynk na telefonie czy tablecie. Ja korzystam z wersji Android. Klikamy Log in. (Jeśli wcześniej byliśmy zalogowani do serwera Blynk.cloud to się wylogowujemy.)
Wp

Klikamy w ikonkę z trzema kropkami i strzałką na dole ekranu.

Przełącznik wyboru serwera ustawiamy w pozycji CUSTOM i poniżej wpisujemy adres serwera i numer portu, które otrzymaliśmy przy instalacji. W moim przypadku jest: 192.168.0.4 : 9443 (na rysunku jest adres starszego serwera)
Jako login wpisujemy admin@blynk.cc, hasło to admin albo kreujemy nowego użytkownika.
Dalej wszystko przebiega tak jak w Blynk.cloud. Tworzymy nowy projekt (New Project), wprowadzamy widgety, jedyną przyjemną różnicą jest Energy Pack, który wynosi 99.900!

SKECZ NA URZĄDZENIU, KTÓRYM STERUJEMY
  //Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
  Blynk.begin(auth, ssid, pass, IPAddress(192,168,0,2), 8080);

To jedyna różnica w kodzie przy pracy z własnym serwerem. Trzeba uaktywnić dolny wiersz kodu i wpisać swój adres serwera. Pamiętajmy przy tym że numery oddzielamy przecinkami zamiast kropek. Na filmie sugerowano żeby nie wpisywać numeru portu. U mnie nie chciał się łączyć bez portu. Dopiero 8080 zadziałał tak jak sugerują w instrukcji.
Poniżej najprostszy kod, który wrzuciłem do Wemos D1 mini. W aplikacji utworzyłem widżet Button ustawiłem OUTPUT na D4. I przyciskiem zapalam led systemowy. Jest świetnie!

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "";
char pass[] = "";

void setup()
{
  // Debug console
  Serial.begin(9600);

  //Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
  Blynk.begin(auth, ssid, pass, IPAddress(192,168,0,2), 8080);
}

void loop()
{
  Blynk.run();
  // You can inject your own code or combine it with other sketches.
  // Check other examples on how to communicate with Blynk. Remember
  // to avoid delay() function!
}

LINKI

Jeden komentarz

  1. Pingback: Blynk, własny serwer na maku – BLYNK.pl – fanklub

Dodaj komentarz