Moduł eCHO z serwera HBLink2, przepisany na HBlink3. Udostępniona wersja jest w fazie BETA – działa – można ją zainstalować i używać.
Poco nam ta usługa? Usługa dla lokalnych użytkowników, którzy chcą sprawdzić jak (czy) ich słychać na lokalnym serwerze HBlink.
Instalacja!
Pobieramy moduł playback.py z github’a:
cd /opt/HBlink3
wget https://raw.githubusercontent.com/n0mjs710/hblink3/master/playback.py
chmod +x palyback.py
Tworzymy plik konfiguracyjny dla serwera echa na bazie np.: hblink.cfg lub wkleić poniższą wersje w plik nowy plik /opt/HBlink3/playback.cfg
[GLOBAL]
PATH: ./
PING_TIME: 10
MAX_MISSED: 5
USE_ACL: True
REG_ACL: PERMIT:ALL
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:9999
[REPORTS]
REPORT: False
REPORT_INTERVAL: 60
REPORT_PORT: 4322
REPORT_CLIENTS: 127.0.0.1
[LOGGER]
LOG_FILE: /var/log/hblink/parrot.log
LOG_HANDLERS: file-timed
LOG_LEVEL: INFO
LOG_NAME: Parrot
[ALIASES]
TRY_DOWNLOAD: False
PATH: ./
PEER_FILE: peer_ids.json
SUBSCRIBER_FILE: subscriber_ids.json
TGID_FILE: talkgroup_ids.json
PEER_URL: https://www.radioid.net/static/rptrs.json
SUBSCRIBER_URL: https://www.radioid.net/api/dmr/user/?country=Poland
STALE_DAYS: 7
[ECHO]
MODE: MASTER
ENABLED: True
REPEAT: True
MAX_PEERS: 10
EXPORT_AMBE: False
IP:
PORT: 54100 #jeśli jest wolny
PASSPHRASE: password
GROUP_HANGTIME: 5
USE_ACL: True
REG_ACL: PERMIT:9999
SUB_ACL: DENY:1
TGID_TS1_ACL: DENY:ALL
TGID_TS2_ACL: PERMIT:9999
aby uruchomić serwer w autostarcie należy
użyć pliku /lib/systemd/system/parrot.service z zawartością:
[Unit]
Description=HB bridge all Service
After=network-online.target syslog.target
Wants=network-online.target
[Service]
StandardOutput=null
WorkingDirectory=/opt/HBlink3
RestartSec=3
ExecStart=/usr/bin/python3 /opt/HBlink3/playback.py -c /opt/HBlink3/playback.cfg
Restart=on-abort
[Install]
WantedBy=multi-user.target
Utworzyć katalog dla logów jeśli nie ma /var/log/hblink
mkdir /var/log/hblink
Serwer uruchamiamy komendą:
systemctl enable parrot.service %% systemctl start parrot.service
aby sprawdzić status usługi
systemctl status parrot.service
Jeśli status usługi 'parrtot’ jest OK możemy dodać do konfiguracji /opt/HBlink3/hblink.cfg połączenie do serwera ECHO:
[ECHO]
MODE: PEER
ENABLED: True
LOOSE: False
EXPORT_AMBE: False
IP:
PORT: 54098
MASTER_IP: 127.0.0.1
MASTER_PORT: 54100 #jeśli jest wolny
PASSPHRASE: password
CALLSIGN: ECHO
RADIO_ID: 9999
RX_FREQ: 000
TX_FREQ: 000
TX_POWER: 5
COLORCODE: 1
SLOTS: 2
LATITUDE: 53.00000
LONGITUDE: -8.00000
HEIGHT: 0
LOCATION: Serwer Echo: TG 9999
DESCRIPTION: Papuga
URL:
SOFTWARE_ID: DMRGateway-20190620
PACKAGE_ID: MMDVM_HBlink
GROUP_HANGTIME: 5
OPTIONS:
USE_ACL: False
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
oraz w regułach /opt/HBlink3/rules.py musimy ustawić odpowiednie wpisy do wszystkich naszych MASTERów
'ECHO': [
{'SYSTEM': 'MASTER-H','TS':2,'TGID':9999,'ACTIVE':True,'TIMEOUT':1,'TO_TYPE': 'NONE','ON':[],'OFF':[],'RESET':[]},
{'SYSTEM': 'MASTER-RPT','TS':2,'TGID':9999,'ACTIVE':True,'TIMEOUT':1,'TO_TYPE':'NONE','ON':[],'OFF':[],'RESET':[]},
{'SYSTEM': 'PARROT','TS':2,'TGID':9999,'ACTIVE':True,'TIMEOUT':1,'TO_TYPE':'NONE','ON':[],'OFF':[] 'RESET':[]},
],
Powyższe reguły są regułami domyślnymi jeżeli masz inne, musisz je ustawić zgodnie ze swoim wzorem.
teraz musimy zrestartować server hblink:
systemctl restart hblink
Używając TG 9999 na TS2 sprawdzić działanie echo serwera.
Warto zaglądać na git hub autora: https://github.com/n0mjs710/hblink3
oraz monitorować grupę dyskusyjną DVSwitch
Text po części zapożyczony ze strony sq2ong