Jak uruchomić stację pogodową SR0WX
Aby uruchomić stację pogodową systemu sr0wx.py należy w pierwszej kolejności zaopatrzyć się w sprzęt, na którym to oprogramowanie uruchomimy. Nadaje się do tego w zasadzie każdy w miarę współczesny komputer PC. Należy wziąć pod uwagę fakt, iż taki komputer będzie pracował 24 godziny na dobę i istotne jest aby charakteryzował się małym poborem energii. To w zasadzie zawęża zakres poszukiwań sprzętu tylko do urządzeń terminalowych. Na szczęście na rynku jest szeroki wybór tego typu urządzeń i dość łatwo wejść w posiadanie takiego sprzętu.
Drugą istotną sprawą jest moc obliczeniowa. Pomimo na prawdę niewielkich wymagań stawianych sprzętowi w kontekście samego oprogramowania sr0wx.py, należy wziąć pod uwagę wymagania stawiane przez system operacyjny. Ponieważ systemy operacyjne i oprogramowanie puchną i wymagają coraz większej mocy obliczeniowej, w obecnym czasie niestety nie uruchomimy stacji pogodowej na komputerze sprzed 20 lat. W początkowym okresie uruchamiania stacji pogodowych nadawał się do tego komputer, dla którego standardem było 256MB pamięci RAM (np bardzo popularny terminal HP T5720). Umożliwiał on komfortową pracę z systemem Ubuntu 10.04, a po zwiększeniu ilości pamięci RAM - Ubuntu 12.04. Na dzień dzisiejszy (marzec 2021) te systemy już dawno temu utraciły wsparcie. Aktualnie wyborem nr 1 jest Ubuntu 16.04 Mate i386. Ja ten system uruchomiłem wykorzystując terminal HP ThinClient T510 z 2GB RAM DDR3 i pamięcią masową 16GB SSD. Terminal taki jest do nabycia za kwotę około 70zł (2021 r.).
Uwaga! Poniższy opis dotyczy instalacji Ubuntu 16.04 Mate i386 na terminalu ThinClient T510 z 2GB RAM DDR3 z 16GB SSD.
Pierwszym krokiem rozpoczynającym przygotowanie terminala pod budowę stacji pogodowej sr0wx.py jest oczywiście zainstalowanie systemu operacyjnego. Obrazy ISO można pobrać z poniższych stron:
Następnie za pomocą odpowiedniego programu, z pobranego obrazu przygotowujemy bootowalny pendrive USB, uruchamiamy za jego pomocą nasz terminal i przechodzimy cały proces instalacji. Dobrze w tym momencie podłączyć terminal do internetu za pomocą karty sieciowej przewodowej lub WiFi. Większość popularnych kart WiFi zadziała od razu po podłączeniu (polecam TP-Link TL-WN722n). Po zainstalowaniu systemu i połączeniu z internetem należy odświeżyć źródła oprogramowania:
sudo apt-get update (bardzo ważne!!!)
i zainstalować program Git (będzie potrzeby do pobrania oprogramowania sr0wx.py z Githuba)
sudo apt-get install git
Można jeszcze (ale nie jest to niezbędne) dokonać kompleksowej aktualizacji całego systemu operacyjnego zaciągając najnowsze paczki oprogramowania, które nie wchodziły w skład instalatora:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Po dokonaniu tych czynności mamy terminal ze świeżym systemem operacyjnym gotowym do zainstalowania oprogramowania stacji pogodowej.
Najnowszą wersję oprogramowania sr0wx.py można pobrać z adresów:
Paczka ZIP z Githuba: POBIERZ
Cały projekt na Githubie: https://github.com/sq9atk/sr0wx
Rozpakowany katalog z oprogramowaniem sr0wx.py najlepiej umieścić w głównym folderze użytkownika. Następnie należy doinstalować paczki niezbędne do działania oprogramowania oraz przyznać użytkownikowi prawa do korzystania z portu szeregowego COM, za pomocą którego będzie się odbywać sterowanie PTT nadajnika stacji pogodowej. Należy w tym celu uruchomić dwie komendy:
sudo apt-get install git python-pygame python-tz python-imaging python-serial curl php7.0 php7.0-curl ffmpeg
sudo gpasswd --add ${USER} dialout
W tym momencie nasz system jest w pełni przygotowanydo pierwszego uruchomienia oprogramowania sr0wx. Używając terminala należy wejść do folderu sr0wx i wydać komendę:
python sr0wx.py
Jeśli wszystkie poprzednie czynności wykonaliśmy poprawnie, uruchomi się oprogramowanie. Po kolei zostaną uruchomione wszystkie moduły, wykonując czynności służące zdobyciu danych pogodowych, niezbędnych do przygotowaniu głosowego komunikatu pogodowego. Na końcu usłyszymy z wbudowanego głośnka gotowy komunikat.
Pozostaje sprawić aby oprogramowanie uruchamiało się cykliczne, włączało nasz nadajnik i przekazywało do niego dźwięk z karty dźwiękowej.
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ę:
0,15,30,45 * * * * cd /home/[twoja_nazwa_usera]/[katalog_sr0wx] && python sr0wx.py
Następnie zapisujemy zmiany i restartujemy system. Stacja będzie się uruchamiać co pełny kwadrans. Poprawność zapisu komendy można sprawdzić wpisując w konsoli:
crontab -l
Kolejną ważną rzeczą jest konieczność przypisania uprawnień użytkownikowi do portu COM, który będzie sterować PTT.
W tym celu należy:
Po tych zmianach podczas uruchamiania stacji pogodowej na porcie COM pin DRT/RTS (w zależności od ustawienia w pliku config.py) pojawiać się będzie napięcie dodanie. Przy pomocy tranzystora lub mikroprzekaźnika na 5V sterujemy PTT w naszym nadajniku. Jednocześnie głos prognozy pogody z wyjścia słuchawkowego komputera skierowany na wejście mikrofonowe nadajnika zmoduluje transmitowany sygnał i prognoza zostanie wyemitowana w eter.
Dyskusja:
Artur sp3vss 2022-01-13 00:07:12
klucz mam OK. gdzie ja mam wpisać teksty które chce generować ? w pliku slownik.php ?
Artur sp3vss 2022-01-13 00:06:26
ale gdzie ja mam wpisać teksty które chce generować ? w pliku slownik.php ?
Robert 2022-01-12 23:52:46
Artur sp3vss Niżej masz instrukcję SQ9ATK, mi zadziałało. Więcej info masz w komentarzach pod tym linkiem https://vhf.com.pl/stacja-pogodowa-sr0wx-py A tu instrukcja: Najpierw musisz wygenerować sample audio ze swoim znakiem wywoławczym, miastem itp. Na początku otwórz plik index.php z katalogu audio_generator i zobacz jaki masz klucz wpisany w linii nr 38.
Musisz miec taki: ufdknZDi
Gdy zaktualizujesz klucz, to będąc w konsoli w katalogu audio_generator uruchom komendę:
php index.php
O ile wszystko zadziała, to w katalogu ogg powinieneś otrzymać plik audio. Za zawartość tego pliku odpowiada to, co masz wpisane w pliku slownik.php. Zapoznaj się z jego zawartością, myślę że zaskoczysz o co w nim chodzi... Jakby coś było nie jasne to pisz.
Jeśli już wygenerujesz sobie brakujące sample to przerzucasz je do katalogu pl_google. Od tego momentu możesz tych sampli użyć w konfiguracji, w linijkach:
hello_msg = ['_','tu_eksperymentalna_automatyczna_stacja_pogodowa','sr0wx']
goodbye_msg = ['_','tu_sr0wx']
Podajesz tam nazwy plików audio, bez rozszerzenia, w apostrofach, rozdzielone przecinkami. Plik o nazwie _ to cisza. Przydaje się. Jeśli w trakcie odtwarzania komunikatu słyszysz pisk, to znak że nie znaleziono jakiegoś pliku.Na ekranie zawsze wyskakuje komunikat z nazwą brakującego pliku.
Artur sp3vss 2022-01-12 23:47:18
uruchomiłem stacje i działa wyśmienicie :D brakuje mi tylko kilku sampli, jak je wygenerować ?
SQ9WIS 2021-12-28 14:52:26
SQ9ATK Dzięki wielkie, próbowałem wcześniej pobrać ale nie działało.Wszystko działa
SQ9ATK 2021-12-27 20:38:25
$ sudo pip install pytz
Generalnie to nie masz zainstalowanego modułu pytz
SQ9WIS 2021-12-27 13:48:23
Mam problem z uruchomieniem sr0wx. Po wpisaniu python sr0wx.py wyskakuje bład:
pygame 1.9.4.post1
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "sr0wx.py", line 146, in <module>
import config
File "/home/pi/SR0WX-Raspberry-Pi/config.py", line 110, in <module>
from calendar_sq9atk import CalendarSq9atk
File "/home/pi/SR0WX-Raspberry-Pi/calendar_sq9atk.py", line 4, in <module>
import pytz
ImportError: No module named pytz
Co robię źle? Instaluję go na raspberyypi 4B
Robert 2021-08-16 16:58:40
SQ9ATK Stacja już działa z ustawieniami domyślnymi - w ostatnim poleceniu "pyhton sr0wx.py" jest literówka w słowie "python" - jakby komuś nie działało - jak to dalej skonfigurować lokalnie i podłączyć pod radio?
Robert 2021-08-15 13:42:22
SQ9ATK Dzisiaj postaram się uruchomić całość na terminalu i dam znać ?
SQ9ATK 2021-08-15 09:06:25
Zanim podepniesz radio musisz skonfigurować oprogramowanie. Masz już działające oprogramowanie z domyślnymi ustawieniami?