LAKI PINGVINI
Blynk Local Server
Ledeni breg na vidiku
D. PETROVIĆ
1. septembar 2021.

Ako ste pročitali tekst „Internet stvari naš nasušni” u prošlom broju, mogli ste da primetite par nelogičnosti u vezi sa tekstom o Blynk 2.0 i trenutnim stanjem stvari. Razlog tome je što se Blynkov „zemljotres” poklopio sa vakuumom između nastanka našeg teksta i njegovog objavljivanja. Šta se, zapravo, sve izdešavalo?

Problem

Pavel, osnivač Blynka, polovinom jula je na Blynk Help Center javno dopunio post u kome se navode linkovi ka fajlovima i instrukcijama za instalaciju lokalnog Blynk servera. On je i ostavio pomenute linkove. Samo pet dana kasnije, na stranicama kuda ti isti linkovi vode, sačekao nas je „Error 404”. Na direktna pitanja na forumu su se nevešto branili kako ne planiraju da i dalje podržavaju lokalni server, pored Blynk Legacy-ja. Sve deluje kao da je odluka doneta na prečac, ma koliko bila opravdana sa njihove strane, a, takođe, da nije bila planirana. Verovatno im je određeni pokazatelj bio i broj instalacija lokalnog servera nakon pokretanja Blynk 2.0. Jedan od odgovora čelnih ljudi jeste da se fajlovi lokalnog servera mogu pronaći na mreži, ukoliko se potrudimo. Ovo je vrlo cinična izjava nekog kome su mnogi do sada ostavili određenu svotu novca (i autor ovih redova). Naravno da se mogu pronaći i naravno da ćemo se potruditi. Tim pre, ne vidimo smisao brisanja servera sa GitHuba, sem osećaj nemoći da se spreči da se server i dalje koristi.

Ako ste već imali nalog na Blynku, verovatno ste dobili mejl od izvesne osobe (Mariia, sa dva i) u kom nas obaveštava o platnim planovima, idealnim mogućnostima za biznis, industriju, ali nigde ni reči o mejkerima. Da li zaista treba da plaćamo 60 dolara godišnje za svoja četiri pametna prekidača i jednu meteo-stanicu? Jeste, jedan uređaj je besplatan i dalje, plus pet dolara za svaki sledeći jednokratno. Ali, dobijamo samo Basic vidžet. Činjenica je da je Blynk okrenuo svoj fokus sa mejkera ka biznis planovima i industriji. Zato su ukinuti dosadašnji načini plaćanja, u potpunosti raskinut model biblioteka, dodato prepoznavanje i detekcija Blynk uređaja i na kraju je obrisan i lokalni server sa GitHuba.

Rešenje

Ipak, mnogi od nas su ove događaje predosetili. Neki su „forkovali” repozitorijum. Ostalo je tu dosta polomljenih linkova, poput Jave. U međuvremenu su se stvari stišale. Kada se razišao dim, ostala je aplikacija Blynk Legacy u prodavnici, a APK fajl može da se preuzme i sa apkpure.com. Korisnik Peter Knight prilično je doterao svoj repozitorijum (github.com/Peterkn2001/blynk-server) u formu upotrebljivog, a mi smo išli linijom manjeg otpora i, ipak, instalirali lokalni Blynk server. Za one koji ne znaju, Peter stoji iza Optiboot bootloadera, što je posebna priča.

Mi smo lokalni server podigli na Raspberry Pi 3 i Zero, i proći ćemo kompletne korake. U oba slučaja server radi bez problema. Nakon instalacije svežeg Raspberry OS na karticu, nadograđujemo sistem:

sudo apt-get update

Red je proveriti Javu i po potrebi instalirati Java 8 komandom:

sudo apt install openjdk-8-jdk openjdk-8-jre

Možemo proveriti koju verziju imamo sa:

java -version

Na redu je da instaliramo Blynk lokalni server linijom:

wget „https://github.com/Peterkn2001/blynk-server/releases/download/v0.41.16/server-0.41.16-java8.jar”

Ovim preuzimamo lokalni server. Nakon instalacije, prvo probamo da li će on raditi i da li je sve u redu komandom:

java -jar server-0.41.16-java8.jar -dataFolder /home/pi/Blynk

Treba da dobijemo poruku da je server uspešno startovao, a između ostalog, i IP adresu, korisničko ime u formi mejl adrese i, najbitnije, random lozinku. U browseru kucamo https://127.0.0.1:9443/admin, gde je 9443 broj hardverskog porta. Browser će verovatno kukati kako stranica nije bezbedna, ali je ipak otvaramo. Tu za korisničko ime kucamo „admin@blynk.cc”, dok u polje za lozinku ide ona koju smo dobili u terminalu prilikom pokretanja servera. Dolazimo do korisničkog interfejsa, koji je nalik na svaki drugi, međutim, tu se ne zadržavamo, već pod Users otvaramo našeg korisnika i menjamo ovu random lozinku sa nekom smislenom.

Da ne bismo morali ručno da pokrećemo server svaki put kad nestane struja, taj posao ćemo dodeliti Kronu. Postoji više načina, a mi u terminal kucamo:

crontab -e

Na dnu dodajemo sledeću liniju:

@reboot java -jar /home/pi/server-0.41.16-java8.jar -dataFolder /home/pi/Blynk &

Nakon svakog sledećeg restarta naše Maline, Blynk lokalni server će se sam pokrenuti. Da prođemo malo kroz grafički interfejs servera. Sa leve strane je meni sa opcijama Users, Stats, Hardware Info i Config. Pod Users, pored toga što možemo da promenimo lozinku, možemo i da dodamo Energije koliko god hoćemo, dakle, neograničeno. Ovde su nam podaci o povezanim uređajima, broju vidžeta i razna druga statistika.

Znamo da nam aplikacija Blynk šalje token na mejl. Da bismo to postigli u okviru lokalnog servera, moramo da u rootu RPi-ja, gde nam je i Blynk folder, kreiramo fajl mail.properties. U njega unosimo sledeće linije:

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

Prethodno je potrebno napraviti novu Gmail adresu (server radi samo sa Gmailom). Takođe, treba čekirati Allow less secure apps na tom novom Gmail nalogu. Sa svakim novim vidžetom, naš lokalni server će nam, koristeći ovu adresu, na adresu koju ćemo kasnije uneti u aplikaciju poslati token.

Ostaje još da preko našeg rutera Malini dodelimo statičnu IP adresu u okviru lokalne mreže. Ovaj proces zavisi od rutera do rutera.

Blynk Legacy aplikaciju još uvek možemo da preuzmemo iz prodavnice ili barem sam APK fajl. Nakon instalacije, a pre logovanja u nju, bez obzira da li već imamo nalog na Blynku, treba ići na Create new account. Pri dnu je ikonica koja podseća na semafor. Klikom na nju biramo Custom server, a u polja ispod unosimo IP adresu Maline u okviru naše lokalne mreže i port 9443. U polje mejl unosimo adresu na koju želimo da nam stižu tokeni i lozinku koju ćemo koristiti za aplikaciju. Nakon toga, pravimo naš vidžet, isto kao i do sada. Koristićemo onaj o kome smo pisali u prošlom broju kada smo uključivali ugrađenu LED na Wemosu. Primetićete da sada imamo 100 hiljada jedinica Energije, a koju uvek možemo dodatno da povećamo preko GUI servera. Kada pristupimo serveru, videćemo da se pojavio novi korisnik, sa podacima o broju povezanih uređaja, količini Energije i još dosta toga. Korisnika možemo i da blokiramo na serveru.

Ostaje još mala prepravka skeča koji ide na Wemos. U njemu možete da vidite da funkcija Blynk.begin() ima dodatni parametar sa IP adresom. Ova adresa je ista ona na kojoj je naša Malina, uz port 8080. Sve ostalo je isto.

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

char auth[] = „token”;

char ssid[] = „ssid”;

char pass[] = „password”;

int ledPin = 2; //pin sa kojim je povezana LED na ESP12 modulu

BLYNK_WRITE(V0){

int pinValue = param.asInt(); // dodeljivanje dolazne vrednosti V0 pina promenljivoj

digitalWrite(ledPin, pinValue); // ispisivanje dobijene vrednosti

Serial.println(pinValue);

}

void setup(){

Serial.begin(9600);

Blynk.begin(auth, ssid, pass, IPAddress(192,168,0,100),8080);

pinMode(ledPin, OUTPUT);

digitalWrite(ledPin, HIGH);

}

void loop(){

Blynk.run();

}

Nakon toga, možemo da koristimo projekat kao i kada smo za to koristili Blynk server u oblacima. Međutim, dokle možemo da ga koristimo i gde možemo da ga koristimo?

Budućnost

Blynk lokalni server u ovakvom formatu možemo koristiti za svoje potrebe, uz potencijalni ledeni breg na vidiku. Blynk je prestao sa podrškom za Blynk Legacy i Blynk Local Server. To znači da će neka naredna verzija operativnog sistema na našem mobilnom uređaju možda dovesti do neupotrebljivosti trenutne aplikacije. Fajlove sa GitHuba će u međuvremenu mnogi forkovati - trenutna cifra je veoma blizu hiljadarke. Taj deo će moći da se koristi, mada i on sa zadrškom. APK nosi malo veći znak pitanja iznad sebe što se tiče upotrebe u budućnosti. Ostaje poslednje ograničenje, to jest, lokalna upotreba. Da bismo našim uređajima pristupili mimo lokalne mreže, moramo van lokalne mreže pristupiti Malini, to jest, IP adresi naše lokalne mreže. Postoje razni načini koje ovoga puta nećemo objašnjavati. Peter Knight predlaže ZeroTier ili neki od DDNS servisa, kao što su NoIP ili DuckDNS. Mi bismo dodali i treći, a to je statična IP adresa kod provajdera. Mada, avaj, i to se dodatno plaća...


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
DECEMBAR 2023
Microsoft Windows 11 23H2
Sveže oprani Prozori
Windows Copilot, ugrađeni AI pomoćnik, već sada je daleko više od toga što je Cortana ikad bila i mogla da bude...
Asus ROG Maximus Z790 Formula
Hladna zimi, hladna leti
Uz Raptor Lake Refresh generaciju Intelovih Core procesora paralelno je „osvežena” i ponuda modela matičnih ploča...
Apple Watch Ultra 2 i Apple Watch Series 9
Ovogodišnji „ vršioci dužnosti”
Oba sata dolaze sa preinstaliranim WatchOS-om 10.x i to je jedna od značajnih novina...
Asus ROG Ally Z1 Extreme
Saveznik je stigao!
Ovo je Windows PC, oličen u formi ručne igračke konzole, što ga već na prvu loptu razlikuje od najvećeg konkurenta, Valveovog Steam Decka...
Estetska vizija Pavela Surovog
Arhetipsko kulturno nasleđe i AI
Kako to izgleda kad AI u svoje ruke uzme neko ko i te kako ume da ga iskoristi kao alatku?
Razvoj traktorskog snopa
Svemirski čistač
Naučnici su na korak od stvaranja tehnologije koja je donedavno bila sastavni deo naučne fantastike...
Samsung Galaxy Tab S9 FE+
Povoljan kvalitet
Uređaj laserski fokusiran na zonu gde se preklapaju vrh srednjeg dela tržišta i početak onog najvišeg...
Borba YouTubea protiv adblockera
Reklamokalipsa YouTubea
Alphabet očekuje da mu se vrati uloženo, što je sasvim normalno, ali sam kvalitet usluge na svim nivoima opada u svim Googleovim proizvodima...
Regulacija kripto-trgovanja
Kripto-tržište u paklenoj kuhinji
Tržište kripto-valuta i srodnih finansijskih instrumenata pretrpelo je još jedan veliki i razočaravajući potres...
Alan Wake II
Ovo je hrabar, na momente lud i superpretenci-ozan, ali nikada dosadan eksperiment kombinovanja naracije i gejmpleja...
The Talos Principle 2
Bolju, impresivniju, zarazniju i produkcijski napucaniju glavolomku u ovome trenutku nećete naći...
Call of Duty: Modern Warfare III
Kampanja je kratka, multiplayer recikliran, a glavna novost je zombi režim DMZ, posuđen iz Warzonea...
© 2023 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama