HBlink инсталация
Представям ви много спорният и плют от всички админи на сървъри от големи сървърни мрежи като BrandMeister и IPSC2 малък сървър HBlink който е подходящ за лична употреба.
Предупреждение: Ако се опитате да се свържете с HBlink към BrandMeister или IPSC2 без да сте се разбрали с техни величества админите, рискувате да бъдете подгонени като бесни кучета! Използвайте HBlink на собствен риск!
Описанието на инсталацията е старо и може да не протече съгласно очакванията!
И така преди няколко години бе направен опит този полезен малък ДМР сървър да бъде поставен извън закона, така да се каже, и след масирана атака срещу създателя му той свали проекта от ГитХъб. Тогава няколко човека, в това число и аз, качихме нашите последни работещи версии в ГитХъб, моята е тук.
Не е ъпдейтвана, понеже скоро след това проекта бе възстановен. Къде е новият проект не съм се интересувал. Бакъп на работещият мой HBlink може да се намери тук заедно със едно старо ръководство за инсталация.
Ето и ръководството:
Инсталация на HBLink
Ръководство
HBLink е DMR сървър. Подобно на BrandMeister и IPSC2 осигурява комуникация за DMR спотове или ретранслатори. Работи по подобие на домашните Интернет рутери. Има външни и вътрешни софтуерни интерфейси.
Външните интерфейси позволяват свързване към BrandMeister, IPSC2, XLX и OpenBridge (използва се за комуникация между HBLink сървърите).
Вътрешните интерфейси позволяват свързване на спотове или ретранслатори към HBLink.
HBLink може да бриджва интерфейси, вътрешен с вътрешен, външен с вътрешен и външен с външен (което не препоръчвам да се прави, може да получите бан)
HBLink е много добър за организиране на собствените ви DMR комуникации или изграждане на репитерна мрежа от няколко ретранслатора. За по-големи мрежи препоръчвам да използвате BrandMeister, IPSC2, XLX.
Следват инструкции как да се инсталира.
HBLink работи
на Raspberry Pi 2 или 3. Пробван е на по-старите
версии на Raspberry Pi но не тръгва. Пробван е и на Linux Mint, работи.
Инсталира се на операционна система Raspbian Buster Lite. Сваляте имиджа и го записвате на СД карта.
За Pi-Star трябва да се направят някои предварителни настройки за да може да се разреши достъпа до вашият HBLink.
Примерната инсталация е тази която аз съм тествал. Толк Групите и бриджовете са тези които аз съм ползвал. Специално OpenBridge към LZ1PLC може да не проработи при вас. Препоръчвам да се свържете с LZ1PLC за подробности относно конфигурацията на бриджа.
В примерната конфигурация са изградени следните връзки:
MASTER-LOCAL-1
MASTER-LOCAL-2
BRANDMEISTER-BG
IPSC2-BG-DMO
XLX359B
ECHOTEST
OBP-LZ1PLC
Някои от бриджовете между софтуерните интерфейси са постоянни, други са с таймер. Някои могат да се включват и изключват с кратко обаждане на зададена в конфигурацията на сървъра Толк Група. Други са перманентни.
Как точно ще направите вашата конфигурация зависи от вас.
Внимавайте с бриджовете за да не получите бан!!!
Логваме се в Pi-Star и добавяме още HBlink сървъри.
sudo su
rpi-rw
Добавяме хостове към Pi-Star. Полетата трябва да са отделени с табулатор не с интервали!
nano /root/DMR_Hosts.txt
################################################################################
#BM_Custom_01 1234 1.2.3.4 passw0rd 62031
#DMR+_Custom_01 1234 1.2.3.4 PASSWORD 55555
################################################################################
#HBLINK LZ1PLC
################################################################################
Hblink_LZ1PLC_1 0000 87.252.188.119 passw0rd 54000
################################################################################
#HBLINK M0GYU
################################################################################
Hblink_M0GYU_1 0000 m0gyu.freeddns.com passw0rd 54051
################################################################################
Добавяме правила в firewall.
nano /root/ipv4.fw
------------------------------------------------------------------------------------------------------------------------
#HBLINK LZ1PLC ports
iptables -A OUTPUT -p udp --dport 54000 -j ACCEPT
#HBLINK LZ5PN ports
iptables -A OUTPUT -p udp --dport 54054 -j ACCEPT
------------------------------------------------------------------------------------------------------------------------
exit
exit
Ъпдейтваме Pi-Star през уеб интерфейса за да се приложат правилата:
Configuration --> Update
Вече имате HBlink servers добавени в вашият Pi-Star.
Препоръчвам да ползвате Pi-Star в Gateway mode.
Активирането на HBLink се прави от Configuration => Exper => Full Edit: DMR GW
Скролваме надолу до секцията [DMR Network 3]
Следва моята комфигурация:
------------------------------------------------------------------------------------------------------------------------
[DMR Network 3]
Enabled=1
Name=HBLink
# Your Domain or IP or Local IP
Address=[change to your]
#Port for MASTER-LOCAL-1
Port=54051
TGRewrite=2,11,2,11,1
Password=passw0rd
Location=0
Debug=0
TGRewrite0=2,11,2,11,1
TGRewrite1=1,15800,1,15800,1
TGRewrite2=1,14284,1,14284,1
TGRewrite3=1,142843,1,142843,1
TGRewrite4=1,1428402,1,1428402,1
TGRewrite5=2,149990,2,149990,1
TGRewrite6=1,12284,1,12284,1
TGRewrite7=1,122843,1,122843,1
TGRewrite8=1,1228430,1,1228430,1
TGRewrite9=1,1284359,1,1284359,1
TGRewrite10=2,9999,2,9999,1
TGRewrite11=1,55,1,55,1
TGRewrite12=2,55,2,55,1
TGRewrite13=2,1111,2,1111,1
TGRewrite14=1,15359,1,15359,1
TGRewrite15=1,1128430,1,1128430,1
TGRewrite16=1,1284235,1,1284235,1
TGRewrite17=2,1112,2,1112,1
TGRewrite18=1,111,1,111,1
TGRewrite19=1,153598,1,153598,1
------------------------------------------------------------------------------------------------------------------------
След тази подготовка се логваме в Raspberry Pi и започваме инсталацията на HBlink
sudo su
apt-get update
apt-get upgrade
apt-get install git
apt-get install python3-distutils
cd /opt/
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
apt-get install python3-twisted
apt-get install python3-bitarray
apt-get
install python3-dev
git clone https://github.com/kc1awv/hblink3
git clone https://github.com/jayz28/dmr_utils3
git
clone https://github.com/ea5gvk/dmr_utils3
cd dmr_utils3
chmod +x install.sh
./install.sh
cd /opt/hblink3
cp hblink-SAMPLE.cfg hblink.cfg
nano hblink.cfg
Коригираме или добавяме следните секции:
------------------------------------------------------------------------------------------------------------------------
[LOGGER]
LOG_FILE: /tmp/hblink.log
#LOG_HANDLERS: console-timed
LOG_HANDLERS: console-timed,file-timed
#LOG_LEVEL: DEBUG
LOG_LEVEL: INFO
LOG_NAME: HBlink
Заменяме [OBP-1] с:
[OBP-LZ1PLC]
MODE: OPENBRIDGE
ENABLED: True
#ENABLED: False
IP:
PORT: 62038
NETWORK_ID: 6606466
PASSPHRASE: password
TARGET_IP: xlx800.ddns.net
TARGET_PORT: 62037
USE_ACL: True
SUB_ACL: PERMIT:ALL
TGID_ACL: PERMIT:ALL
Заменяме [MASTER-1] с:
[MASTER-LOCAL-1]
MODE: MASTER
ENABLED: True
#ENABLED: False
REPEAT: True
MAX_PEERS: 10
EXPORT_AMBE: False
IP:
PORT: 54051
PASSPHRASE: passw0rd
GROUP_HANGTIME: 5
USE_ACL: True
REG_ACL: PERMIT:ALL
SUB_ACL: PERMIT:ALL
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
Изтриваме [REPEATER-1] и добавяме:
За IPSC2 BG, за да не бъдете баннати, поискайте разрешение от админастратора!
Макар че настройките представят HBLink като спот и тръгва без проблеми.
За BrandMeister, не всички сървъри приемат HBLink. За сега БГ сървърът го приема.
[LZ1PLC]
MODE: PEER
ENABLED: True
#ENABLED: False
LOOSE: False
EXPORT_AMBE: False
IP:
PORT: 54004
MASTER_IP: xlx800.ddns.net
MASTER_PORT: 54000
PASSPHRASE: passw0rd
CALLSIGN: YourCallSign
RADIO_ID: YourID+ESSID
#Some frequencies it is good idea to be real ;)
RX_FREQ: 449000000
TX_FREQ: 444000000
TX_POWER: 1
COLORCODE: 1
#SLOTS: 1 – slot 1, 2 – slot 2, 3 – slot 1 and 2, 4 – DMO mode.
SLOTS: 3
#Latitude, Longtitude – it is a good idea to be real
LATITUDE: 000.000000
LONGITUDE: 000.000000
HEIGHT: 0
LOCATION: local
DESCRIPTION: hotspot
URL: http://www.qrz.com/db/YourCallSign
SOFTWARE_ID: 20170620
PACKAGE_ID: MMDVM_HBlink
GROUP_HANGTIME: 5
OPTIONS:
USE_ACL: True
SUB_ACL: PERMIT:ALL
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
[BRANDMEISTER-BG]
MODE: PEER
ENABLED: True
#ENABLED: False
LOOSE: False
EXPORT_AMBE: False
IP:
PORT: 54004
#BrandMeister Bulgaria
MASTER_IP: 193.93.24.31
MASTER_PORT: 62031
PASSPHRASE: passw0rd
CALLSIGN: YourCallSign
RADIO_ID: YourID+ESSID
#Some frequencies it is good idea to be real ;)
RX_FREQ: 449000000
TX_FREQ: 444000000
TX_POWER: 1
COLORCODE: 1
#SLOTS: 1 – slot 1, 2 – slot 2, 3 – slot 1 and 2, 4 – DMO mode.
SLOTS: 3
#Latitude, Longtitude – it is a good idea to be real
LATITUDE: 000.000000
LONGITUDE: 000.000000
HEIGHT: 0
LOCATION: local
DESCRIPTION: hotspot
URL: http://www.qrz.com/db/YourCallSign
#To avoid headache with admins, I recommend to present HBlink as hotspot ;)
SOFTWARE_ID: DMRGateway-20200502_Pi-Star_v4
PACKAGE_ID: MMDVM_MMDVM_HS_Hat
GROUP_HANGTIME: 5
OPTIONS:
USE_ACL: True
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
[IPSC2-BG-DMO]
MODE: PEER
ENABLED: True
#ENABLED: False
LOOSE: False
EXPORT_AMBE: False
IP:
PORT: 54003
#IPSC2-BG-DMO
MASTER_IP: 185.80.0.40
MASTER_PORT: 55555
PASSPHRASE: PASSWORD
CALLSIGN: YourCallSign
RADIO_ID: YourID+ESSID
#Some frequencies it is good idea to be real ;)
RX_FREQ: 449000000
TX_FREQ: 444000000
TX_POWER: 1
COLORCODE: 1
#SLOTS: 1 – slot 1, 2 – slot 2, 3 – slot 1 and 2, 4 – DMO mode.
SLOTS: 3
#Latitude, Longtitude - it is a good idea to be real
LATITUDE: 000.000000
LONGITUDE: 000.000000
HEIGHT: 0
LOCATION: local
DESCRIPTION: hotspot
URL: http://www.qrz.com/db/YourCallSign
#To avoid headache with admins I recommend to present HBlink as hotspot ;)
SOFTWARE_ID: DMRGateway-20200502_Pi-Star_v4
PACKAGE_ID: MMDVM_MMDVM_HS_Hat
GROUP_HANGTIME: 5
OPTIONS: TS1_1=284;TS2_1=2843;TS2_2=28402;
USE_ACL: True
SUB_ACL: PERMIT:ALL
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
[XLX359B]
MODE: XLXPEER
ENABLED: True
#ENABLED: False
LOOSE: True
EXPORT_AMBE: False
IP:
PORT: 54002
#XLX359
MASTER_IP: 94.156.172.213
MASTER_PORT: 62030
PASSPHRASE: passw0rd
CALLSIGN: YourCallSign
RADIO_ID: YourID
#Some frequencies it is good idea to be real ;)
RX_FREQ: 449000000
TX_FREQ: 444000000
TX_POWER: 1
COLORCODE: 1
#SLOTS: 1 – slot 1, 2 – slot 2, 3 – slot 1 and 2, 4 – DMO mode.
SLOTS: 2
#Latitude, Longtitude - it is a good idea to be real
LATITUDE: 000.000000
LONGITUDE: 000.000000
HEIGHT: 0
LOCATION: local
DESCRIPTION: hotspot
URL: http://www.qrz.com/db/YourCallSign
#To avoid headache with admins I recommend to present HBlink as hotspot ;)
SOFTWARE_ID: DMRGateway-20200502_Pi-Star_v4
PACKAGE_ID: MMDVM_MMDVM_HS_Hat
GROUP_HANGTIME: 5
#4001 – mean Room A, 4002 – mean Room B, 4003 – mean Room C ...
XLXMODULE: 4002
USE_ACL: True
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
------------------------------------------------------------------------------------------------------------------------
Редактираме бриджовете:
cp rules_SAMPLE.py rules.py
nano rules.py
------------------------------------------------------------------------------------------------------------------------
BRIDGES = {
'OBP-LZ1PLC-11': [
{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 2, 'TGID': 11, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},
{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 2, 'TGID': 11, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},
{'SYSTEM': 'OBP-LZ1PLC', 'TS': 1, 'TGID': 2, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},
],
'BRANDMEISTER-284': [
{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},
{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},
{'SYSTEM': 'BRANDMEISTER-BG', 'TS': 1, 'TGID': 284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},
],
'BRANDMEISTER-2843': [
{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 2843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},
{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 2843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},
{'SYSTEM': 'BRANDMEISTER-BG', 'TS': 1, 'TGID': 2843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},
],
'BRANDMEISTER-2840': [
{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 2840, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},
{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 2840, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},
{'SYSTEM': 'BRANDMEISTER-BG', 'TS': 1, 'TGID': 2840, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},
],
'SVXLINK-28430': [
{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 28430, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [30], 'OFF': [60], 'RESET': []},
{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 28430, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [30], 'OFF': [60], 'RESET': []},
],
'XLX359-B': [
{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 284359, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [44], 'OFF': [99], 'RESET': []},
{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 284359, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [44], 'OFF': [99], 'RESET': []},
{'SYSTEM': 'XLX359B', 'TS': 2, 'TGID': 9, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},
],
'IPSC2-BG-DMO-284': [
{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 1284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [31], 'OFF': [61], 'RESET': []},
{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 1284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [31], 'OFF': [61], 'RESET': []},
{'SYSTEM': 'IPSC2-BG-DMO', 'TS': 1, 'TGID': 284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},
],
'IPSC2-BG-DMO-2843': [
{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 12843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [32], 'OFF': [62], 'RESET': []},
{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 12843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [32], 'OFF': [62], 'RESET': []},
{'SYSTEM': 'IPSC2-BG-DMO', 'TS': 2, 'TGID': 2843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},
],
'IPSC2-BG-DMO-28402': [
{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 128402, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [33], 'OFF': [63], 'RESET': []},
{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 128402, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [33], 'OFF': [63], 'RESET': []},
{'SYSTEM': 'IPSC2-BG-DMO', 'TS': 2, 'TGID': 28402, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},
]
}
------------------------------------------------------------------------------------------------------------------------
Тестваме конфигурацията:
python3 /opt/HBlink3/bridge.py
Инсталираме уеб базиран монитор за HBLink.
cd /opt/
git clone https://github.com/sp2ong/HBmonitor.git
cd HBmonitor
chmod +x install.sh
./install.sh
cp config_SAMPLE.py config.py
nano /opt/HBmonitor/config.py
и променяме например:
------------------------------------------------------------------------------------------------------------------------
REPORT_NAME = 'Dashboard of LZ5PN/M0GYU local DMR network' # Name of the monitored HBlink system
------------------------------------------------------------------------------------------------------------------------
Стартираме монитора като сървис на системата:
cp utils/hbmon.service /lib/systemd/system/
systemctl enable hbmon
systemctl start hbmon
systemctl status hbmon
forward TCP ports 8080 and 9000 in router firewall
Отбележете, че таблицата lastherad показва само станцийте предавали повече от 2 секунди.!
Автоматичен старт на HBLink:
nano /lib/systemd/system/hblink.service
------------------------------------------------------------------------------------------------------------------------
[Unit]
Description=Start HBlink
After=multi-user.target
[Service]
ExecStart=/usr/bin/python3 /opt/HBlink3/bridge.py
[Install]
WantedBy=multi-user.target
------------------------------------------------------------------------------------------------------------------------
systemctl daemon-reload
systemctl enable hblink
systemctl start hblink
systemctl status hblink
Инсталиране на Parrot за Echotest група:
cd /opt/HBlink3
wget https://github.com/kc1awv/hblink3/master/playback.py
chmod +x playback.py
Трябва да създадем конфигурационен файл за ехо сървъра въз основа например hblink.cfg или да въведете следната версия във файла /opt/HBlink3/playback.cfg
nano /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
PEER_URL: https://database.radioid.net/static/rptrs.json
SUBSCRIBER_URL: https://database.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
------------------------------------------------------------------------------------------------------------------------
Създайте директория за регистрационни файлове, ако / var / log / hblink не e създадена.
mkdir /var/log/hblink
За да стартираме сървъра, трябва да използваме файла /lib/systemd/system/parrot.service
nano /lib/systemd/system/parrot.service
със съдържанието:
------------------------------------------------------------------------------------------------------------------------
[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
------------------------------------------------------------------------------------------------------------------------
Стартираме сървъра, както следва:
systemctl enable parrot.service
systemctl start parrot.service
systemctl status parrot.service
Ако всичко е правилно, ще имаме подобен резултат от проверката на състоянието:
------------------------------------------------------------------------------------------------------------------------
● 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
------------------------------------------------------------------------------------------------------------------------
Ако не, проверяваме съдържанието на /var/log/hblink/parrot.log.
Ако състоянието на услугата parrtot е ОК ( активно (работи) ), можем да добавим Ecotest към /opt/HBlink3/hblink.cfg към конфигурацията на ECHO сървъра:
nano /opt/HBlink3/hblink.cfg
------------------------------------------------------------------------------------------------------------------------
[ECHOTEST]
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: Server 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
------------------------------------------------------------------------------------------------------------------------
и в правилата /opt/HBlink3/rules.py
nano /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':[]},
],
------------------------------------------------------------------------------------------------------------------------
рестартираме сървъра на hblink:
systemctl restart hbmon
systemctl restart hblink
Горепосочените инсталация и настройки са направени с любезното съдействие на LZ1PLC и LZ1GSP.
73 de LZ5PN/M0GYU