packet/APRS iGate, BBS, node e DX cluster com Raspberry Pi (parte 4)

O DX Cluster é uma rede de computadores dedicada que partilha informação dos seus utilizadores sobre a actividade de DX. Estes computadores na rede têm o nome de “nós” ou nodes em inglês.
Os nodes interligam-se por rádio ou sobre a Internet, por AX.25 ou telnet, formando um cluster.

Este serviço, suportado por rádio amadores ou clubes, mantêm a rede funcional, difundindo as estações de amador a fazerem DX em tempo real.

Nesta rede a informação é chamada de spot, uma linha com o indicativo de quem chama, ou coloca o spot na rede, a frequência de DX, a estação de amador com quem estabelece contacto, uma mensagem curta de 30 caracteres e a hora de envio do spot.

Tem inúmeros filtros que permitem a quem se liga a um node do cluster receber por exemplo spots de uma ou várias bandas, de indicativos “CT”, por modos digitais como o RTTY ou CW, entre outros…

Permite-nos ainda fazer simulações de DX entre 2 pontos, obter dados sobre a MUF e propagação, a distância entre pontos do globo, os azimutes e elevação do Sol e da Lua no horizonte, enviar e receber mensagens com outros amadores ou o posicionamento de satélites.

Satellites available/Age of Keps (days):-
               AO-07: 5125                 AO-10: 5126
               AO-16: 5125                 AO-27: 5125
               AO-40: 5124                 AO-51: 5124
            FENGYUN1: 5124                 FO-29: 5125
               GO-32: 5124                HUBBLE: 5124
               IO-26: 5125                   ISS: 5124
               KO-23: 5124                 LO-19: 5125
               MO-46: 5124                NCUBE2: 5124
               NO-44: 5125                 NO-45: 5124
             NOAA-10: 5124               NOAA-11: 5124
             NOAA-12: 5124               NOAA-14: 5124
             NOAA-15: 5124               NOAA-16: 5124
             NOAA-17: 5124               NOAA-18: 5124
             OKEAN-0: 5125               OKEAN-4: 5124
               OO-38: 5125                 PO-28: 5124
               PO-34: 5125                RESURS: 5124
               RS-15: 5125                SICH-1: 5125
               SO-33: 5124                 SO-50: 5125
               TO-31: 5124                  UARS: 5124
               UO-11: 5125                 UO-22: 5125
               UO-36: 5124                 UWE-1: 5124
               VO-52: 5125                 WO-18: 5125
                XI-V: 5124                 XO-53: 5124

A lista completa de comandos pode ser consultada em http://www.dxcluster.org/main/usermanual_en-12.html

Veja a rede de DX Cluster em http://www.hamcluster.net/

No contexto deste projecto o DX Cluster é uma opção, e talvez a mais difícil de configurar.
Para fazer parte de um cluster é necessário solicitar a outro provedor autorização para fazer parte da rede, já que, haverá tráfego constante a difundir entre os membros do cluster.

Em Portugal podem-no solicitar a CS5SEL.

Mãos à obra!

Comecemos por instalar algumas ferramentas essenciais para a instalação do DX Cluster também conhecido por Spider.

Instale o wget, para download de ficheiros na linha de comandos ou modo terminal,

Git é a ferramenta que lhe permite descarregar o DX Spider e futuras actualizações,

Criemos um link para a directoria de instalação. Por coerência com o software anteriormente instalado, optei por o fazer em /usr/local/bin/

Procede-se à instalação de algumas livrarias de perl,

Cria-se a directoria de instalação e descarrega-se o spider,

Atribuíem-se permissões a directorias e ficheiros. Neste projecto o utilizador é "pi-star", mude-o de acordo com a sua instalação

Configuração,

Edite o ficheiro DXVars.pm e siga as instruções que se encontram nos comentários das linhas.

Edite o ficheiro Listeners.pm e remova o caracter # na linha onde é configurada a porta de ligação.

Configure o cluster com o seu indicativo,

Vamos criar a base de dados,

...este comando pode demorar alguns minutos.

Compilamos o software para o nosso sistema operativo,

E, vamos agora iniciar o nosso programa,

ou, daqui para a frente,

"&" no fim da linha abre o programa em background. Se não o utilizar abra outra janela terminal e faça login no sistema como sysop, o seu indicativo,

Agora, na consola execute os comandos,

> load/usbd
> set/node [indicativo do node]
> connect [ficheiro de ligação com o mesmo nome]

Estes comandos são memorizados pelo sistema, não sendo necessário escrever-los cada vez que se liga ou inicia o programa. Proteja a sua conta escrevendo na consola,

set/password [your callsign] [your password]

Para sair da consola e fechar o spider, faça "B", "quit" ou "shutdown".

Para entrar como sysop na consola, escreva "sysop". Supondo que a sua password era "abcdef", o sistema pergunta-lhe "05223" que corresponde às letras da sua password "afccd".

Para interligar o DX Cluster com o linbpq, identifique as linhas seguintes no ficheiro de configuração bpq32.cfg e descomente-as ou escreva,

CMDPORT 7300;

no port de telnet, no meu caso nas configurações do portnum=2,
e, a linha seguinte geralmente no final do ficheiro de configuração

APPLICATION 1,DX,C 2 HOST 0

assumindo que a porta de ligação telnet é a porta 2.

Iniciar o DX Cluster no arranque do sistema

Crie o ficheiro de arranque,

Copie e cole o seguinte conteúdo corrigindo o utilizador e caminhos,

[Unit]
Description=Dxspider DXCluster service
After=network.target
[Service]
Type=simple
User=pi-star
Group=pi-star
WorkingDirectory=/usr/local/bin/spider
ExecStart=/bin/bash -c "/usr/bin/perl -w /spider/perl/cluster.pl" pi-star > /dev/tty3
Comment out line below for logging everything to /var/log/messages
StandardOutput=null
Restart=always
[Install]
WantedBy=multi-user.target

Atribua permissões de execução ao ficheiro,

e, active o serviço

Agora inicie o serviço escrevendo,

Para verificar se o serviço se encontra a correr faça,

ao qual o sistema deverá responder,

 spider.service - Dxspider DXCluster service
   Loaded: loaded (/etc/systemd/system/spider.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-09-08 22:00:46 WEST; 8min ago
 Main PID: 2215 (perl)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/spider.service
           └─2215 /usr/bin/perl -w /spider/perl/cluster.pl


Sep 08 22:00:46 pi-star systemd[1]: Started Dxspider DXCluster service.

Ligue-se a outros nodes de DX
ou, estableça um cluster com outros nodes de DX.

Ligar-se a outros…

Contacte uma estação de amador que faça parte do DX Cluster e peça-lhe se se pode ligar a ele para fazer crescer o cluster na sua área.

Crie um script para cada nova estação que venha a fazer parte do seu cluster em ./connect/[callsign]
Supondo que se pretende ligar a CT1EBQ-9. Crie o ficheiro /spider/connect/ct1ebq-9

Com o seguinte conteúdo,

timeout 60
connect telnet node.ct1ebq.com 7300
'login' 'yourcallsign+SSID'
'password' 'passthatIgiveyou'
client ct1ebq-9 telnet

…grave e feche o ficheiro.

O próximo passo é criar um ficheiro para o arranque destas contas…
Eis o meu exemplo,

e, copie e cole este modelo alterando o indicativo das estações que vai adicionando ao cluster,

# Startup Script
set/var $Spot::maxspots = 100
set/var $DXMsg::email_server = 'localhost'
set/var $main::reqreg = 0
set/spider pe1rrr-9
set/spider k3chb-2
set/spider cs5sel-5

Ao criar um cluster com CT1EBQ-9 teria de acrescentar a linha, "set/spider ct1ebq-9" e apagar as restantes com indicativos que não fazem parte da sua rede. Recorde que, é apenas um exemplo.

Depois devemos adicionar também cada indicativo ao crontab do DX Cluster, em /spider/local_cmd/crontab
Um vez mais deixo-lhe o meu exemplo para que tudo faça sentido,

# check every 10 minutes to see if ct1ebq-9 is connected and if not
# start a connect job going

0,10,20,30,40,50 * * * * start_connect('cs5sel-5') unless connected('cs5sel-5')
0,10,20,30,40,50 * * * * start_connect('pe1rrr-9') unless connected('pe1rrr-9')
0,10,20,30,40,50 * * * * start_connect('k3chb-2') unless connected('k3chb-2')

USDB Update
31 5 * * 6 spawn('cd /tmp; wget -q ftp://ftp.w1nr.net/usdbraw.gz; /usr/local/bin/spider/perl/create_usdb.pl /tmp/usdbraw.gz; rm -f /tmp/usdbraw.gz')
45 5 * * 6 run_cmd('load/usdb')

No seu caso apagava as linhas com os indicativos que não fazem parte da sua rede e acrescentaria,
0,10,20,30,40,50 * * * * start_connect('ct1ebq-9') unless connected('ct1ebq-9')

Ligue outros...

Agora vamos permitir a ligação de outros nodes ao nosso DX Cluster.

É muito simples, apenas tem de abrir a consola, no terminal ou por telnet ligando-se com o seu indicativo. Faça,

...e, agora crie o novo utilizador, por exemplo, de modo a que ct1ebq-9 se ligue também à sua estação,

set/password ct1ebq-9 [password]

[password] é uma string com letras, números ou outros caracteres aceites pelo sistema.

Ainda na consola, utilize o comando "spoof" para atribuir o nome e locator ao novo node,

spoof CT1EBQ-9 set/name Ricardo
spoof CT1EBQ-9 set/qra IM58GR

Para instruções do comando spoof faça "help spoof" na consola do DX Cluster. Para sair escreva B e Enter.
Por favor informe-me que pretende ligar-se ao cluster através de mim e envie-me,

o seu URL e o port do DX Cluster, habitualmente o 7300
o seu indicativo para o cluster, callsign e SSID
e a password que atribuiu a ct1ebq-9
o seu nome
o seu QRA locator

Muito grato ao Red, PE1RRR pela sua ajuda na compilação destes dados em como criar um cluster de DX.

Esta foi a explicação que lhe permite saber como configurar tudo desde o princípio...
Mas se quiser fazer a instalação sem se preocupar com estas configurações pode utilizar o script descrito nesta página ou, para fazer a actualização de uma instalação existente siga este link...

Continua na parte 5

Referências:
https://dxheat.com/dxc/
http://www.dxcluster.org/main/usermanual_en.html
http://www.hamcluster.net/
http://www.cantab.net/users/john.wiseman/Documents/LinBPQtoSpider.html
https://packet-radio.net/install-dxspider-on-a-debian-system/
https://gitlab.com/glaukos/dxspider_installation_script/blob/master/install_dxspider.sh
https://do7psl.de/installation-of-dxspider-on-a-raspberry-pi/
http://www.cantab.net/users/john.wiseman/Documents/BPQCFGFile.html
https://www.hamradiodeluxe.com/blog/Ham-Radio-Deluxe-Newsletter-April-19-2018--Understanding-DX-Clusters.html