BLYNK zdechł :(

By: | Post date: Listopad 26, 2021

Po trzech latach nieprzerwanej pracy serwer BLYNKa na Raspberry Pi odmówił współpracy. Wróć – nie BLYNK. Po sprawdzeniu, winowajcą całego zamieszania okazała się karta SD. Rozsypała się totalnie nie dając się odczytać czy powtórnie sformatować. A więc dziś jak przywrócić do działania system z BLYNK 1.0 Anno Domini 2021.

Ten wpis nie jest (niestety) powtórzeniem poprzedniego
Padł serwer BLYNK – co robić?.

Przez trzy lata sporo się zmieniło i poległem przy próbie odtworzenia systemu z własnej ściągi. Trzeba było napisać nową. Kroki do sukcesu pozostają mniej więcej te same ale treść już nie bardzo

  1. wyłączyć raspberry
  2. wyjąć kartę SD z uszkodzonym system – karta padła – wyrzucić
  3. poszukać zapasowej karty SD z „czystym” systemem – o ile przezornie została zrobiona – była zrobiona ale po trzech latach została zniknęta
  4. jeśli nie ma zapasowej kopii – na nowym SD postawić nowy system dla RPi
  5. ustawić stały adres IP serwera. Musi być identyczny do poprzedniego I oczywiście wpisać dane logowania do swojej sieci wifi.
  6. zainstalować potrzebne programy
  7. zainstalować BLYNKa tymczasowo z linii komend 
  8. Sprawdzić czy działa.
  9. wyłączyć BLYNKa (zamknąć okno terminala w którym uruchamiany był BLYNK)
  10. przekopiować pliki konfiguracyjne użytkowników z kopii zapasowej
  11. zainstalować BLYNKa „na stałe”
  12. Sprawdzić czy działa z poprzednimi konfiguracjami

Powinien!!

Przejdę bez zbędnej zwłoki do punktu 4

Ad.4 Instalacja systemu na karcie SD

Od ostatniego wpisu o instalacji systemu ( Serwer lokalny na Raspberry Pi ) sporo się zmieniło na korzyść. Nie mamy już Raspbiana a Raspberry Pi Os a cała operacja tworzenia karty SD z systemem dla maliny stała się dziecinnie prosta dzięki Raspberry Pi Imager. Nie potrzeba żadnego opisu bo jego obsługa jest banalna. Po uruchomieniu maliny ukazał się całkiem nowy ekran Raspberry Pi OS Bullseye


Raspberry Pi Os

Dla fanów linuksa ma zapewne znaczenie iż jest to Debian 11.

Uwaga: Dla RPi 3 i wyżej teoretycznie można wgrać OS 64bitowy. System śmiga ale nie da się uruchomić BLYNKa bo ten wymaga JAVA 8. A dla systemu 64 dostępna jest jedynie JAVA 11.

Ad 5 Ustawić adres IP i dostęp do sieci WiFi

Tu procedura analogiczna do poprzednio opisanej – prawy klawisz myszy na ikonie sieci, wybieramy naszą kartę bezprzewodową i ustawiamy parametry IP i dostępu do sieci WiFi. Dla tej operacji (i następnych) niezbędne będzie dołączenie jakiejś klawiatury do naszego RPi. Pod ręką miałem mini klawiaturę od Androida I8 – sprawdziła się znakomicie choć wymaga nieco palcowej ekwilibrystyki

Ad. 6 Instalacja programów

Poprzednio dalszą konfigurację maliny robiłem zdalnym dostępem z komputera co wymagało otwarcia portu SSH. Teraz poćwiczę to samo z terminala w PRi. Terminal uruchamia się z poziomu użytkownika pi. Przechodzimy na poziom administratora

sudo su

Uaktualniamy zainstalowane pakiety naszego PRi (nie pytać bo nie wiem nie wiem co dokładnie się uaktualnia 🙂 )

apt-get update
apt-get upgrade

Wygrywamy program mc – odpowiednik dosowskiego Norton Commandera

apt-get install mc

dalej pakiet gpm pozwalający na stosowanie operacji kopiuj / wklej w oknie terminala za pomocą myszy

apt-get install gpm

W tym miejscu zainstalowałem nowy pakiet gufw– graficzny firewall. Doczytałem gdzieś że cwaniaki potrafią dobrać się do naszego RPi .i zrobić z niego kopalnię bitcoina. Więc na wszelki wypadek zostawię otwarte jedynie dwa pory wejściowe do RPi – 8080 i 9443 potrzebne dla BLYNKa

Teraz najważniejszy – pakiet JAVA. Można to zrobić z poziomu administratora ale ściąga BLYNKa – https://github.com/blynkkk/blynk-server – robi to z poziomu użytkownika pi. Logujemy się więc jako pi

su – pi

z hasłem raspberry

lub z własnym jeśli je zmieniliśmy przy instalacji

i instalujemy JAVA. Najlepiej przekopiować całość ze ściągi BLYNKa którą otwieramy w przeglądarce RPi. Kopiujemy standardowo ctrl+C ale wpisujemy do linii komend terminala za pomocą cdtr+shift+V

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

Jak widać zmieniła nam się JAVA. Zamiast Oracle mamy ogólnie dostępną implementację Sun Microsystems. Sprawdzamy czy działa

java -version

Zakładamy katalog /BLYNK w katalogu /pi. Najłatwiej zrobić to w programie mc.

i na koniec instalujemy najnowszą wersję BLYNKa

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

Teraz pozostaje nam już tylko odpalić nasz serwer domowej automatyki

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

i…… dalej nic nie działa. To oczywiste bo mamy „czystego” BLYNKa którego dopiero trzeba nakarmić naszymi projektami. A co zrobić gdy karta SD padła i nie daje się się skopiować naszych projektów? Popełnić seppuku. Trzeba od nowa stworzyć projekty w telefonie/ tablecie a nowymi AUTH zaprogramować wszystkie mikroprocesory naszych projektów. Masakra !!!

No chyba że ktoś przezornie (jak ja) zrobił kopię projektów na zewnętrznym nośniku USB. W takim przypadku pliki z projektami (nazwa pliku to adres email użytkownika profilu BLYNK) kopiujemy do katalogu /home/pi/Blynk i ponownie uruchamiamy serwer BLYNKa.

I ……. wszystko działa. No prawie. W projektach zapisanych na dysku USB nie ma niektórych poprawek wprowadzonych w projektach od czasu ostatniej ich archiwizacji. Ale to pikuś w porównaniu z koniecznością tworzenia wszystkiego od początku.

Pozostaje do wykonania jeszcze ostatnia rzecz – zmuszenie BLYNKa do automatycznego uruchamiania się po restarcie systemu. Tu znowu pomocna jest ściąga z BLYNKa. Dwa polecenia w terminalu

crontab -e

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

zapisać konfigurację i wyjść z programu.

Uwaga crontab -e może nie zadziałać i wyskoczy nam podpowiedź uruchomienia edycji w inny edytorze. Ja wybieram nano

A teraz ponowne uruchomienie maliny

sudo reboot

i test działania BLYNKa

ps -aux | grep java

W odpowiedzi powinniśmy dostać coś co zawiera nazwę pliku naszego serwera BLYNK. Jeśli tak to możemy zapomnieć o malinie na kolejne trzy lata. Aaaa jeszcze tylko warto zrobić kopię zapasową plików z danymi projektów na dysku USB.

I jeszcze kilka pomocnych rzeczy….

Mając już raspberry w domowej sieci żal tego nie wykorzystać. Umieściłem więc RPi za telewizorem łącząc go na stałe HDMI. I tak w gratisie dostałem całkiem sprawny moduł kina domowego z filmami z NASa. Raspbian OS ma domyślenie zainstalowany pakiet VLC który nieźle sobie radzi z większością kodeków i polskimi napisami. Nie ma też problemów z odnajdywaniem zasobów sieciowych przez File Managera. Upierdliwa jest jedynie konieczność każdorazowego wpisywania haseł dostępu do serwera – domyślna opcja zapamiętania haseł na stałe – nie działa. Prostym rozwiązaniem jest doinstalowanie pakietu seahorse spełniającego rolę magazynu linuksowych haseł. Jak to wszystko uruchomić opisano tutaj

Szkoda tylko, że maliny nie da się zasilić z telewizornego gniazda USB. Potrzebny prąd to około 1A ale nawet zasilacz USB o nominalnym prądzie wyjściowym 3A potrafi wygenerować ostrzeżenie o zbyt niskim napięciu zasilania. Trzeba będzie chwilę popracować na tym problemem. (problem rozwiązany – dałem zasilacz 5A który wielkością dorównuje malinie).

I to już naprawdę koniec……

4 komentarze

  • romario pisze:

    Serwer lokalny w wersji server-0.41.16-java8.jar.
    Aplikację Blynk (legacy) na telefonie mam w wersji 2.27.32 i niestety brak opcji „Create New Account”. Pozostało tylko „Log In”, czyli mogę się zalogować tylko na konto admina (admin@blynk.cc) i tam tworzyć swoje projekty.

  • romario pisze:

    Cześć. O ile się nie mylę, to nowa aplikacja nie wspiera lokalnych serwerów. A w starej, którą mam jeszcze zainstalowaną nie można utworzyć nowego konta, nawet gdy korzystam z lokalnego serwera zainstalowanego na malince. Czy można utworzyć / dodać nowego użytkownika od strony serwera, jak u Ciebie zainstalowanego na malince, np. poprzez wklejenie do katalogu Blynka z preparowanego pliku z danymi użytkownika?

    • Krzycho pisze:

      Dla BLYNK 2.0 nie ma serwera lokalnego
      A stary działa bez problemu. Zainstalowałem wszystko od początku (i RPi i BLYNKa) jak we wpisie i bez problemu założyłem i nowe konto i nowe projekty w tym koncie i najważniejsze że i stary użytkownik z projektami działa też
      Nie nie można założyć użytkownika od strony serwera – tylko z aplikacji. Może jest problem wersji serwera i wersji aplikacji? Na githubie opisana jest procedura aktualizacji by oba te elementy działały bez problemu.

Pozostaw odpowiedź Krzycho Anuluj pisanie odpowiedzi

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

Translate »