Обединението в ДМР

 Наскоро LZ1SEO ме обвини, че съм бил разединил радиолюбителите като съм пускал разни сървъри като ХБлинк и ФриДМР...

 Аз и разединител? ...

 Когато на времето се създаде ИПСЦ2 БГ (аз тогава бях абсолютен новобранец) и дръпна към себе си репитрите в БГ, та по него време де, аз си купих спотче и го настроих на двете мрежи - БрандМастер и ИПСЦ2.

 Така аз обединих разделените репитри на моят спот и публикувах какво съм направил.

 Малииии горещ ветер... Това което последва накрая завърши с бан за мен в ИПСЦ2.

 После ми махнаха бана след маса разправий...

 НО... шило в торба седи ли?

 Щукна ми щурата идея да пусна в ДМР аналогов репитер. И се започна... Търсене на решение. Оказа се, че каквото и да правиш в крайна сметка ти трябва някаква ТГ на някакъв сървър на която да закачиш линка. Добре ама от ИПСЦ2 не искат да чуят, от БрандМастер отговориха ок ама само за тест... после го спираш...

 Добре ама аз искам да ми работи за постоянно... Не можело... И тогава се роди идеята за собствен сървър на който да се експериментира.

 Пуснах ХЛХ700, оказа се неподходящ. 

 Тогава намерихме ХБлинк е... с него вече стана. НО... Винаги има едно НО! Нещата станаха и даже се направихме мрежичка с ХБлинкове където си бъбрехме на технически теми. Позабравихме ИПСЦ2 и БрандМастер. Ако не бяха ни порязали така може би никога нямаше да се пускат други сървъри НО... Станалото станало админите на ИПСЦ2 и БрандМастер мирясаха временно... 

 Както казах винаги има едно НО! Този който пусна ХБлинк спря проекта и го махна от ГитХЪБ. Ами сега? Започна се отново търсене на заместител и тогава намерихме...

 Тогава намерихме ФриДМР. В началото си мислехме, че това е продължението на ХБлинк но сгрешихме, в основата това беше ХБлинк но после така го промениха, че вече не вършеше работата на ХБлинк. За да разбера това ново чудо на технологиите пуснах мой ФриДМР сървър. НО... Те БрандМастер и ФриДМР органически не се понясали. Рекламата за ФриДМР беше, че това била нова, световна, голяма мрежа, с много репитри и сървъри...

 Та започнах аз да я разучавам и се оказа, че не е вярно, имаше сървъри с по два три спота, основно бяха закачени спотове, репитри... тук таме... Казах го на всеослушание и бях обявен за враг номер едно на ФриДМР. Мани другото ами и я хакнаха за което изкараха мен виновен. Дори ме изкараха престъпник, без доказателства... Само на базата на клевети...

 Един радиолюбител, LZ5GY, се сприятели със админа на ИПСЦ2 БГ, LZ1ZAF и започна да лансира идеята за обединение. В крайна сметка успя да се пребори, обединиха ИПСЦ2 БГ ТГ2840 със ФриДМР ТГ284...

 Тези хорца, така и не проумяха как работят комуникационните канали. Основното не е сървъра а основното е точката за достъп, симплексен спот, дуплексен спот, репитер. 

 Тези точки за достъп имат един режим на работа, казва се ДМР Гейтауей. Та в този режим може да зададеш да имаш връзка към няколко типа мрежи, ХЛХ, БрандМастер, ИПСЦ2, ХБлинк, ФриДМР...

 Е те това така и не се проумя. НО... има и друго админите на БрандМастер БГ и ИПСЦ2 са инатливи магарета които са се запънали точно като магаре на мост. Ни напред, ни назад. Ритат, фърлят къчове и категорично отказват да седнат и да се разберат за едно обединение.

 На мен започна да ми писва, та затуй админите на разните там сървъри да седнат да прочетат това:

 

 Като го прочетат да вземат и да се замислят, ама то се мисли ако има с какво!!!

 За сега това е само проект и не е активен, до тогава докато не ми писне, не ви тегля майните на всички админи и не го активирам па ако щете пак ме банвайте!!!

 Сериозно ви казвам взимайте се в ръце!!! Сериозно ви казвам вземете пример от англичаните - https://hubnetwork.uk/

 Тази вечер колегата M0IKO се обади на ХЛХ359 от Англия, през тази мрежа.

 Искате ли още една мрежа в БГ? Не? Ами седнете си на дирниците и се разберете, че то не само на мен а и на една камара друг народ ни е писнало от магарешкият ви инат!!!

 Работата е елементарна, пак вижте примера и се замислете, говорете и се разберете. Стига вече с тая омраза!

 Заради няколко админа, всичко на всичко трима, дето не могат да смелят брашно заедно, останалите радиолюбители трябва да се чудят как да се чуват едни с други. Погледнете примера от скрийншота който съм ви дал, там се изграждат на базата на ТГ пет различни комуникационни канала във всичките пет вида мрежи. От там на нататък, магарета инатливи, проумейте го, всеки админ на точка за достъп да си решава, за себе си или за общността която ползва точката за достъп кои канали ще сложи да се използват!

 Проумяхте ли най-после какво трябва да направите?

 Ще повторя:

 Създайте връзки които да обединяват сървърите по различни комуникационни канали, пък сетне, който иска да ги ползва, който иска да ползва всичките, който иска само някои.

 Те това е! Дано сте го проумели, защото ми писна, вие като не може да се разберете, ние можем да го направим това обединение, но тогава не ми ревете като малки деца... "Ама другарко, той еди кой си направи това което аз не искам да направя!!!" И какво пак ли ще ми дърпате ушите?

Сядайте и се разберете!!!

 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