Poniżej opis jak zbudować hotspot FM na bazie małego komputera typu Terminal HP (T5730, T5735, T5745 itp).
W ramach takiego hotspota oprócz HP Terminala musimy użyć taniego radia BaoFeng UV-3R
i wykorzystać go jako radio do naszego hotspota. Zdjęcie jak pobrać sygnał SQL dla UV-3R znajdziecie
na stronie: https://f5nlg.wordpress.com/2018/01/01/modification-des-tx-ctcss-et-det-squelch/
Innym ciekawym tanim radiem jest BaoFeng BF-T1 (ok 80 zl) opis modyfikacji i jak pobrać
linie COS/SQL znajdziecie na tych stronach:
https://f5nlg.wordpress.com/2018/01/01/modification-des-tx-ctcss-et-det-squelch/
http://ddfrnrep.ddnss.de/baofeng_bf-t1___bf-9100_modifi.HTM
Inne radio w cenie 50 zł za sztukę można użyć BF-888s a opis modyfikacji jak wyprowadzić sygnały
audio i COS znajdziecie tu: https://hamvoip.org/hamradio/baofeng888/
Można wykorzystać dowolne radio jakie macie np do budowy hotspota "publicznego" w swoim miescie
dla innych krótkofalowców np Motorola GM350 itp.
Hotspot w odróżnieniu od "SVXLink klient" który składa się tylko z komputera, karty dźwiękowej oraz głośnika i mikrofonu)
posiada TRX tzn urządzenie nadawczo-odbiorcze (np SA818 itp). Jakie są zalety hotspota w stosunku do prostego "SVXLink klienta:
- może pracować poprzez hotspot używając swojego radia przenośnego a więc możesz swobodnie
przemieszczać po obszarze zasięgu swojego hotspota (do 5 km w zależności od anteny)
- używając radia w samochodzie będąc w zasięgu swojego hotspota możesz prowadzić łączności
- możesz ze swojego radia przełączać grupy za pomocą DTMF lub CTCSS.
- możesz przy pomocy radia kodem DTMF odsłuchać raport pogody METAR
- możesz przy pomocy radia kodem DTMF połączyć się z dowolnym nodem EchoLink
Używając SVXLink klienta musisz korzystać z podłączonego mikrofonu i głośnika do komputera a zmiany grup
czy inne kody DTMF możesz wprowadzać poprzez dashboard svxlink'a na komputerze w przeglądarce internetowej.
Instalacja systemu Debian OS
Zainstaluj na komputerze system operacyjny Debian BUSTER v10.
System Debian można pobrać: https://www.debian.org/CD/http-ftp/
Może się przydać:
https://grylewicz.pl/montaz-dysku-twardego-cienkim-kliencie-hp-t5720/
Po zasintalowaniu systemu zrób aktualizacje systemu:
sudo apt update
sudo apt upgrade
Instalacja pakietów do kompilacji SVXLink:
--------------------------------------------
sudo apt install -y build-essential git
sudo apt install -y libasound2-dev g++ gcc make cmake groff gzip doxygen tar
sudo apt install -y libspeex-dev libspeexdsp-dev libopus-dev
sudo apt install -y libpopt-dev libsigc++-2.0-dev
sudo apt install -y libasound2-dev libgcrypt20-dev libgsm1-dev
sudo apt install -y librtlsdr-dev libjsoncpp-dev
sudo apt install -y bc tcl-dev lm-sensors
sudo apt install -y libcurl4-openssl-dev
sudo apt install -y apache2 php libapache2-mod-php php-mbstring php-cgi php-common php-curl node-ws nodejs
sudo apt install -y lynx gawk curl sudo
Utworzenie konta użytkownika svxlink i dodanie group
sudo useradd -c "svxlink user" -G audio,dialout -d /home/svxlink -m -s /sbin/nologin svxlink
Jeśli komenda useradd nie działa musisz użyć następującej komendy aby dodać użytkownika do systemu
sudo adduser svxlink
oraz sprawdzić czy użytkownik svxlink jest dopisany do grup: dialout i audio w pliku /etc/groups.
audio:x:29:svxlink
dialout:x:20:svxlink
jeśli jest grupa gpio to svxlink też powinien być dopisany w podobny sposób jak powyżej w aduio i dialout grupach
Uruchom program który pozwoli pobierać temperature CPU:
sensors-detect
i odpowiadaj na pytania YES
Po zakończeniu konfiguracji sprawdź czy możesz odczytać temperature CPU poleceniem
sensors
jeśli jest dostępa informacja dostaniesz wynik podobny do tego:
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +26.0°C (crit = +90.0°C)
Kompilacja i instalacja SVXLINK:
cd /opt
mkdir src
cd src
git clone http://github.com/sm0svx/svxlink.git
mkdir svxlink/src/build
cd svxlink/src/build
cmake -DUSE_QT=NO -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var ..
make
make install
ldconfig
Pobierz przykładową konfigurację, dasboard oraz pliki dźwiękowe polskie
Paczka zawiera pliki systemowe z ustawieniami niezbednymi dla działania dashboard
między innymi dla serwera apache2
Najnowsza wersja jest z dnia 2022-02-01
Uruchom nastepującą komendę aby pobrać cały pakiet:
bash <(curl -s http://kurpie.hblink.network/svxrdb/install-pc.sh)
Konfiguracja RX i TX jest przygotowana dla schematu hotspota:
http://kurpie.hblink.network/svxrdb/hotspot-pc.pdf
Interfejs do połączenia HP Terminal z radiem można użyć układ opisany przez SQ9MDD
http://hamspirit.pl/SQ9MDD/?p=664. Jeśli
chcesz używać detekcji otwarcia blokady SQL z radia należy uzupełnić połączenie przy pomocy
konwertera TTL USB RS232 CP2102 i podłączyć przez tansoptor sygnał COS/SQL do CP2102. Jeśli będziesz
używał otwarcia odbiornika na bazie tonu CTCSS układ ten nie jest wymagany i w częsci [Rx1] w svxlink.conf
musisz użyć definicji CTCSS
SQL_COMBINE=Rx1:SERIAL|Rx1:PTY
użyć
SQL_COMBINE=Rx1:CTCSS|Rx1:PTY
Deficja tonu otwarcia odbiornika jest w [Rx1:CTCSS]
CTCSS_FQ=
Zrób edycje pliku svxlink.conf i wprowadź zmiany w [ReflectorLogic] oraz w [SimplexLogic]
nano /etc/svxlink/svxlink.conf
W części [SimplexLogic] musisz wpisać swój znak w CALLSIGN= zamiast N0CALL
[SimplexLogic]
TYPE=Simplex
RX=Rx1
TX=Tx1
# Twoj znak
CALLSIGN=N0CALL
oraz jeśli chcesz mieć aktywny EchoLink na swoim hotspot (wymaga rejestracji na echolink.org dla znaku z -L)
i dopisz ModuleEchoLink do wykazu aktywnych modułów w cześci [SimplexLogic]
MODULES=ModuleParrot,ModuleMetarInfo,ModuleEchoLink
oraz wpisz swoje dane w /etc/svxlink/svxlink.d/ModuleEchoLink
CALLSIGN=MYCALL-L
PASSWORD=MyPass
SYSOPNAME=MyName
LOCATION=[Svx] MyTown
gdzie w CALLSIGN= zamiast MYCALL-L wpisz swój znak z końcówka w nazwie -L oraz w PASSWORD zamiast MyPass musisz
wpisać swoje hasło po zarejetrowaniu sie na EchoLink
Pamietaj aby ustawić w pliku /etc/svxlink/svxlink.d/ModuleEchoLink.conf
MUTE_LOGIC_LINKING=1
Musisz się skontaktować z administratorem SVXReflectora aby otrzymać IP adres / port oraz dane dla Twojego konta
Bez tych danych nie podłączysz się do SVXReflectora swoim Hotspotem FM. Otrzymane dane wpisuje się w części
[ReflectorLogic] w pliku konfiguracyjnym svxlink.conf.
[ReflectorLogic]
TYPE=Reflector
# Dane do logowania do SVXReflectora
# otrzymasz je od admina SVXReflectora
# IP adres, port, haslo dla Twojego znau
HOST=127.0.0.1
PORT=5300
CALLSIGN="N0CALL"
AUTH_KEY="My_PASSWORD"
W części [ReflectorLogic] wpisz w DEFAULT_TG numer domyślnej TalkGroup jak będzie na Twoim radio oraz jakie inne dostępne
TalkGroup, które hotspot będzie monitorował, wpisz w MONITOR_TGS
# Domyslna Talk Grupa na której nadajesz lub ustaw 0 brak domyslnej TG
DEFAULT_TG=9
# jakie Talk Group monitorujesz
MONITOR_TGS=260,2600
Po zapisaniu ustawień w svxlink.cof musimy aktywować pliki aby svxlink startował po uruchomienu systemu:
sudo -s
systemctl enable svxlink_gpio_setup.service
systemctl enable svxlink.service
systemctl restart svxlink_gpio_setup
systemctl restart svxlink
systemctl enable apache2.service
systemctl restart apache2.service
Możesz sprawdzić plik /var/log/svxlink gdzie zobaczysz log z uruchomienia svxlink
Ustawienia wstępne karty dźwiękowej. Uruchom program alsamixer:
alsamixer
Naciśnij klawisz F5 , aby wyświetlić wszystkie wejścia i wyjścia .
Używając TAB , strzałka w górę , w dół , w prawo , w lewo do nawigacji oraz
klawisz M lub spacja do włączania / wyłączania.
Zapisz ustawienia poleceniem:
alsactl store
W pliku /etc/rc.local z pobranej wcześniej paczki podczas uruchamiania systemu są odczytywane
ustawienia dla karty dźwiękowej dlatego jeśli wprowadzisz jakieś zmiany w ustawieniach
zawsze je zapisz komendą:
alsactl store
Zalecane jest ustawienie audio przy pomocy narzedzia dostępnego z poziomu dashboard:
http://ip_adres_hotspota/audio/
Opis jak skonfigurować narzędzie znajdziesz w /opt/audiotest/opis.txt
Zalecane QRG dla hotspota w MHz:
430.025
430.050
432.800
432.825
432.850
432.875
145.2125
145.225
145.2375
145.250
145.275
145.2875
SVXLink Dashboard
-----------------------
Paczka, którą pobrałeś z przykładową konfiguracją dla Raspberry PI hotspot-fm-rpi.tgz zawiera pierwszą edycje Dashboard dla SVXLink.
Dashboard został napisany w ciągu jednego "weekendu" i może być niedoskonały.
Co zrobić, jeśli znajdziesz usterkę, problemy lub chcesz zmodyfikować dashboard:
- Podjąć samemu analizę problemu i naprawić / zmodyfikować kod dashboard
- Pogodzić się z niedogodnością i zaakceptować ten fakt
- Użyć innych dostępnych dashboardów dla svxlink: https://github.com/kc1awv/SvxLink-Dashboard
Usuń plik index.html który został zainstalowany systemowa z apache serwerem WWW
rm /var/www/html/index.html
Dostęp do dashboard jest pod adresem IP Twojego Raspberry PI http://ip_adres
Musisz zrobić wstępną konfigurację dashboard. Zrób edycje pliku /var/www/html/include/config.php
Zamiast N0CALL wpisz swój znak oraz wybierz dostęp do SVXReflectora API, do którego jesteś podłączony
aby mieć na dashboard wykaz podłączonych nodów. Wykaz dostępnych adresów API znajdziesz w pliku
/var/www/html/include/config.php
Musisz wpisać znak komentarza // na początku lini
define("URLSVXRAPI", "");
oraz usunąć // przed linią gdzie jest definicja dostępu do Twojego SVXReflectora API
W pliku /var/www/html/include/tgdb.php wpisz numery TalkGroup oraz ich nazwy, jakie będą wyświetlane na
dashboard.
Dashboard pozwala wysłać komendy DTMF do svxlink poprzez podanie pełnego kodu np przełączanie
Talk Group na SVXReflector ma składnie
91xxx# gdzie zamiast xxx należy podać numer TG np 912603# powoduje że nasz svxlink przechodzi
na TG 2603, po 30 sekundach braku aktywność na wybranej TG wraca na domyślna TG (DEFAULT_TG)
Mamy też dostępne zdefiniowane klawisze (patrz plik /var/www/html/inclde/config.php):
TG 260 - przejście na FM Talk Group 260 Ogólnopolska
TG 2602 - możesz zdefinowć swoją loklaną TG w config.php
METAR - aktywowanie raportu pogodowego z lotniska którego kod jest zdefiniowany w pliku
/etc/svxlink/svxlink.d/ModuleMetar.conf w STARTDEFAULT i zamiast EPBY należy wpisać kod
innego lotniska. Nazwy kodów znajdziecie w tym pliku.
PARROT ON - włączenie tzw papugi
PARROT OFF - wyłącznie papugi
POWER OFF - wyłącznie komputera w bezpieczny sposób pozwala uniknąć uszkodzenia systemu.
W celach testowych możesz użyć podłączonego mikrofonu do karty dźwiękowej aby nadawać.
W config.php jest dostępna opcja SHOWPTT i jeśli ustawisz na wartość TRUE (ważne duże litery) na dashboard
będą dostępne dwa klawisze PTT ON i PTT OFF. Jeśli podłączysz mikrofon do karty dzwiękowej będziesz mógł
tymi klawiszami włączyć odbiór Twojego audio z mikrofonu PTT ON lub wyłączyć PTT OFF. Jeśli nie będziesz
używał już mikrofonu podłączoneg do karty dźwiękowej ustaw w config.php SHOWPTT na FALSE.
UWAGA:
Jeśli przestały działać dostępne klawisze w dashboard do przełaczania TG / PTT ON OFF itp
należy zrobić:
sudo cp /lib/systemd/system/apache2.service /etc/systemd/system/
sudo nano /etc/systemd/system/apache2.service
zmien: PrivateTmp=true
na
PrivateTmp=false
i zrób reboot komputera
----------------------------------------
Autoamtyczne wyłączanie svxlink miedzy 23:30 a 6:00
W pliku /etc/cron.d/svxlink jest ustawione że program svxlink jest zatrzymywany o 23:30
i następnie o 6:00 ponownie uruchamiany