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ę:
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.
Aby zakończyć pracę serwera po prostu zamykamy okno Terminala (Terminal spyta czy zakończyć procesy), albo wpisujemy komendę
pkill java
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
Przechodzimy do katalogu: /Users/yarogniew/Documents/logs i podglądamy plik: blynk.log (wystarczy wybrać i nacisnąć pauzę). Szukamy ostatniego z wpisów, które wygląda mniej więcej tak:
INFO – Region : local. Host : 192.168.0.4.
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!
}