wtorek, 25 października 2022

Jak wskrzesić BLYNKa

 

Jeszcze przez chwilę ten krótki przewodnik może być przydatny dla tych co już mają BLYNKa ale wziął i im padł jak również dla odważnych próbujących zaznajomić się z tym znakomitym acz odchodzącym w niebyt, systemem IoT. 

Tekst jest z przed roku ale mam nadzieje, że jest wciąż aktualny. 

Rzecz dotyczy instalacji serwera lokalnego BLYNK 1.0 na standardowym RaspberryPi ( u mnie 3 b+). A dokładniej reinstalacji - to znaczy instalacji nowego oprogramowania RPi i serwera BLYNK oraz odtworzenia danych do wcześniej działających projektów domowej automatyki

No to zaczynamy


Na początek krótki przewodnik działania

  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 – u mnie 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 (przed reinstalacją) konfiguracjami

Powinien!!

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

Ad.4 Instalacja systemu na karcie SD

Od mojej ostatniej instalacji systemu przed czteroma laty  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
Uwaga: obecnie nie można już logować się na standardowy login pi z hasłem raspberry - przy instalacji należy nadać swój login i hasło.



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. Odpalamy więc wersję 32 bitową.

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

Naciskamy prawy klawisz myszy (mysz mam na USB) 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 zrobiłem to samo z terminala w PRi. Terminal uruchamia się z poziomu użytkownika pi (teraz z użytkownika ustawionego przy instalacji systemu). 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 (teraz waszego własnego). Logujemy się więc jako pi /własny

su – pi

z hasłem raspberry / własnym

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ą ctrl+shift+V

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

W porównaniu z wersją sprzed 4 lat 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(własnym). Najłatwiej zrobić to w programie mc.

i na koniec instalujemy najnowszą czyli ostatnią wersję BLYNKa 1.0

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 „czysty”  serwer 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(własny)/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 domowego 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…… więc czekamy na nasz ulubiony ciąg dalszy


Brak komentarzy:

Prześlij komentarz