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
