Modernizacja stacji pogodowej SR8WX

Nasza puławska stacja pogodowa SR8WX doczekała się modernizacji. Prace modernizacyjne wykonał jej autor czyli Łukasz SO8ABC, który przygotował treść niniejszego wpisu aktualizacyjnego.

Uruchomienie stacji było opisywane na naszej stronie internetowej w listopadzie 2024 https://krotkofalowcy.pulawy.pl/sr0wx-py-w-pulawach-realizacja-projektu-lukasz-so8abc/

Zapraszam do zapoznania się z poniższym opisem Łukasza

SR8WX ver. 2.0 na Raspberry Pi 4B

Dokonała się wymiana komputera automatycznej stacji pogodowej.

Terminal HP ThinClient T510 został zastąpiony mikrokomputerem Raspberry Pi 4B z 4GB RAMu .

Dzięki temu możliwe jest korzystanie z nowszej wersji oprogramowania, które przygotował Paweł  SQ2IPS.

Dodane zostały nowe moduły pozwalające na rozszerzenie spektrum komunikatów.

Projekt dostępny na https://github.com/sq2ips/sr0wx .

Instalacja projektu na Raspberry Pi

W pierwszej kolejności należy wykonać aktualizację systemu:

sudo apt update && sudo apt upgrade

Następnie instalacja potrzebnych narzędzi i programów:

sudo apt install git ffmpeg python3 python3-pip python3-virtualenv nano

Pobieranie projektu

Teraz należy przejść do katalogu, w którym ma być zainstalowany projekt.

będą tu dwa katalogi sr0wx/ czyli sam program oraz logs/ czyli logi programu.

Następnie należy sklonować repozytorium:

git clone https://github.com/sq2ips/sr0wx.git

utworzyć katalog logów:

mkdir -p logs/pogoda/

Teraz należy wejść do wcześniej sklonowanego repozytorium:

cd sr0wx

następnie pobrać pod-moduły:

git submodule update –init –recursive

Biblioteki pythona

Program bazuje na wirtualny środowisku pythona, na początku należy je utworzyć:

python3 -m venv wxenv

oraz aktywować:

source wxenv/bin/activate

Przed path’em w konsoli powinno wyświetlać się teraz (wxenv), oznacza to, że program procuje w wirtualnym środowisku.

Teraz trzeba aktualizować pip:

pip install –upgrade pip

następnie trzeba zainstalować zależności:

pip install -r requirements-rpi.txt

Do uruchomienia programu potrzebny jest plik .env, w którym znajduje się część konfiguracji, głównie klucze API, można skopiować przykładowy plik komendą:

cp .env.example .env

Zawartość pliku .env wygląda tak:

AIRLY_KEY= klucz API do modułu airly_sq9atk.py()

OPENWEATHER_KEY= klucz API do modułu openweather_sq9atk.py()

METEOSTATION_IP= lista adresów IP stacji meteo do modułu meteostation_sq2ips.py()

Pierwsze uruchomienie

Teraz program jest gotowy do testowego uruchomienia, można je wykonać komendą:

./sr0wx.py

Wyjście karty dźwiękowej RPi połączone jest z wejściem mikrofonowym radiotelefonu, sterowanie nadawaniem realizowane przez pin 40 GPIO.

Aby załączanie działało poprawnie potrzebny jest tranzystor NPN, np. BC547B.

Do cyklicznego uruchamia wykorzystuje się program o nazwie cron.

Aby „podpiąć” uruchamianie stacji pogodowej pod cron-a wpisujemy w konsoli:

crontab -e

Uruchomi się okno edytora listy czynności crona.

W wolnej linii należy dodać następującą komendę:

*/15 * * * * /<lokalizacja projektu>/wxenv/bin/python3 /<lokalizacja projektu>/sr0wx.py > /<lokalizacja projektu>/mylog.txt 2>&1

Następnie zapisujemy zmiany i restartujemy system.

Stacja będzie się uruchamiać co pełny kwadrans, XX:00; XX:15; XX:30; XX:45.

Poprawność zapisu komendy można sprawdzić wpisując w konsoli:

crontab -l

Jako źródło prądu wykorzystywany jest zasilacz od konsoli Xbox 360.

Nadajnik zasilany jest bezpośrednio, natomiast Raspberry Pi poprzez przetwornicę step-down.

Zapraszam do nasłuchów: 144.950 FM

Leave a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *