Autor HBlink3 przepisał moduł echo serwera z HBLink2. Można teraz na HBlink3 uruchomić lokalną usługę ECHO. Udostępnioną wersja jest w fazie BETA ale można ją zainstalować i używać i jest cenna usługą dla lokalnych użytkowników którzy chcą sprawdzić jak ich słychać na lokalnym serwerze HBlink.

Musimy pobrać moduł "playback.py" z githuba:

cd /opt/HBlink3
wget https://raw.githubusercontent.com/n0mjs710/hblink3/master/playback.py
chmod +x palyback.py

Musimy stworzyć plik konfiguracyjny dla serwera echa na bazie np hblink.cfg lub wpisać poniższa wersje w 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:ALL

[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

[PARROT]
MODE: MASTER
ENABLED: True
REPEAT: True
MAX_PEERS: 10
EXPORT_AMBE: False
IP: 
PORT: 54100
PASSPHRASE:password
GROUP_HANGTIME: 5
USE_ACL: True
REG_ACL: DENY:1
SUB_ACL: DENY:1
TGID_TS1_ACL: DENY:ALL
TGID_TS2_ACL: PERMIT:9999

Utworzyć katalog dla logów jeśli nie ma /var/log/hblink

mkdir /var/log/hblink

Aby uruchomić serwer musimy użyć pliku /lib/systemd/system/parrot.service o 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

Serwer uruchamiamy w następujący sposób:

systemctl enable parrot.service
systemctl start parrot.service
systemctrl status parrot.service

Jeśli wszytsko jest poprawnie mamy wynik sprawdzenia statusu:

● parrot.service - HB bridge all Service
   Loaded: loaded (/lib/systemd/system/parrot.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-01 13:29:08 CEST; 6 days ago
 Main PID: 29533 (python3)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/parrot.service
           └─29533 /usr/bin/python3 /opt/HBlink3/playback.py -c /opt/HBlink3/playback.cfg

Jeśli nie, sprawdzamy zawartośc logu /var/log/hblink/parrot.log.

Jeśli status usługi parrtot jest OK ( active (running)) możemy dodać do konfiguracji /opt/HBlink3/hblink.cfg połączenie do serwera ECHO:

[PARROT]
MODE: PEER
ENABLED: True
LOOSE: False
EXPORT_AMBE: False
IP: 
PORT: 54098
MASTER_IP: 127.0.0.1
MASTER_PORT: 54100
PASSPHRASE: password
CALLSIGN: ECHO
RADIO_ID: 9999
RX_FREQ: 000000000
TX_FREQ: 000000000
TX_POWER: 1
COLORCODE: 1
SLOTS: 2
LATITUDE: 53.00000
LONGITUDE: -8.00000
HEIGHT: 0
LOCATION: Serwer Echo: TG 9999
DESCRIPTION: Echo server
URL: 
SOFTWARE_ID: DMRGateway-20190702
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

'ECHOTEST': [
 {'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':[]},
        ],

Możemy zrestartować server hblink:

systemctl restart hblink

i używając TG9999 na TS2 sprawdzić działanie echo serwera.

Warto sprawdzać aktualizacje HBlink3 na git hub: https://github.com/n0mjs710/hblink3 oraz monitorować grupę dyskusyjną DVSwitch

Poprzedni Post Następny Post