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

Se pretender criar uma estação de packet e APRS com iGate por RF, agora ou mais tarde, siga estas instruções. Caso contrário, pode passar à parte 3.

Após a instalação do sistema operativo linux, vamos então instalar o "modem" Direwolf e o linBPQ responsável pelas aplicações de BBS, APRS, DX Cluster, Node, Chat entre outras...

Devemos garantir que temos todas as actualizações necessárias:

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo reboot now

Depois de re-iniciar vamos instalar a livraria de som,

$ sudo apt-get install libasound2-dev

Em opção, se quisermos utilizar o Direwolf para controlar o PTT (emissão do rádio), através do GPIO, ou do GPIO da placa de som externa USB, instalamos também a biblioteca,

 $ sudo apt-get install libudev-dev

Instale as ferramentas de compilação

$ sudo apt-get install build-essential cmake

Instale o git, software para controlo de versões para programadores,

$ sudo apt-get install git

Agora vamos compilar e instalar o Direwolf

ll direw$ cd /tmp
$ git clone https://www.github.com/wb2osz/direwolf
$ cd direwolf
$ git tag
$ git checkout 1.6

Em opção pode escolher a última versão de desenvolvimento,
$ git checkout dev

mkdir build && cd build
cmake ..
make -j4
sudo make install
make install-conf

No meu caso ficou instalado em /usr/local/bin/direwolf

Agora fazemos um pequeno truque para ficar tudo arrumadinho,

$ sudo mkdir /usr/local/bin/dw
$ cd /usr/local/bin
$ sudo mv * dw/
$ sudo mv dw/ direwolf/
$ sudo chown -R pi. direwolf/

Pode optar por ter os ficheiros de configuração em /etc ou copia-los para o directório do direwolf - por questões de backup prefiro que fique tudo em direwolf/,

$ cp -n /tmp/direwolf/direwolf.conf /usr/local/bin/direwolf
$ cp -n /tmp/direwolf/sdr.conf /usr/local/bin/direwolf
$ cp -n /tmp/direwolf/telemetry-toolkit/telem-m0xer-3.txt /usr/local/bin/direwolf
$ cp -n /tmp/direwolf/telemetry-toolkit/telem-*.conf /usr/local/bin/direwolf
$ sudo cp -n /tmp/direwolf/dw-start.sh /sbin
$ sudo chmod +x /sbin/dw-start.sh

Como o Raspberry Pi 3 ou 4 não tem nenhuma entrada de som, temos de utilizar uma placa externa. O mais fácil e mais barato são as placas USB.


Pode encontrar facilmente no eBay diversas marcas e modelos... Sugiro que encomende mais do que uma para um dia mais tarde poder ligar vários rádios. É importante que escolha uma com o circuito integrado CM108, à vista, para poder fazer modificações.

Neste projecto utilizamos o GPIO 3 da placa de som para o PTT, com de um simples transistor NPN ligado ao pino 13 do CM108, por ser mais fácil e acessível, através de uma resistência de 10k.


Ligue a sua placa de som USB, abra uma janela terminal e escreva,

$ aplay -l ("L" minúsculo, não o número 1)

Se o Raspberry Pi tiver a saída de som onboard activa, deve de aparecer como Card 0, Device 0.
A nova placa de som USB deve ser reconhecida como Card 1, Device 0, uma segunda por Card 2, Device 0 e por aí fora...

De notar que podemos correr várias instalações de Direwolf no caso de pretendermos estabelecer ligações ao BPQ em diversas velocidades, por exemplo 300 bauds para HF, 1200 para VHF e 9600 para UHF. Sim, o Direwolf faz comunicações a 9600 bauds com um transceptor preparado para tal!

Abra o ficheiro de configuração do Direwolf (pode descarregar o meu exemplo), em /usr/local/bin/direwolf/direwolf.conf com um editor de texto à sua escolha: "nano" ou "vi" e, habilite a placa de som USB correcta removendo o caracter "#" no início da linha apropriada, escrevendo,

ADEVICE  plughw:1,0

desça algumas linhas e altere "NOCALL" para o seu indicativo,

MYCALL NOCALL

Defina a velocidade do modem, por exemplo 1200 bauds,

MODEM 1200

Avance algumas linhas e defina a opção de PTT que pretende utilizar. No meu caso utilizei o GPIO da placa de som para o efeito.

PTT CM108 3 /dev/hidraw3

Mais abaixo active e altere as opções AGWPORT e KISSPORT para as definições que irá utilizar no linBPQ.
Desactive as opções APRS, se pretende utilizá-las através do linBPQ.

Grave as alterações introduzidas e execute o Direwolf através do terminal,

cd /usr/local/bin/direwolf
./direwolf (ou ./direwolf -t 0 -p -c /usr/local/bin/direwolf/direwolf.conf)

Se já tiver os cabos preparados, ligados ao seu transceptor, e na frequência correcta, deverá ver de imediato a actividade de packet ou APRS a surgir no terminal.

Se receber alguma mensagem idêntica,

“audio level = 193(95/67)…
Audio input level is too high. Reduce so most stations are around 50.”

Ajuste a entrada e a saída de som com o programa "alsamixer". Escreva,

$ alsamixer

Prima F6 para seleccionar a placa de som USB e ajuste os cursores de modo a obter o valor aproximado de 50, na recepção do direwolf. Faça ESC para gravar e sair.

Para guardar estas definições após um reboot,

$ sudo alsactl store

O direwolf só por si tem todas as funcionalidades de APRS que precisa. Para complementar esta informação faça o download do manual.

Prima CTRL+C para fechar o Direwolf e, instale o pilinBPQ.

Problemas na configuração da(s) placas de som? Vejam também,
Solução de problemas com a placa de som CM108

Continua na parte 3

Referências:
https://github.com/wb2osz/direwolf/blob/master/doc/Raspberry-Pi-APRS.pdf
https://github.com/wb2osz/direwolf/tree/master/doc
http://www.hardwaresecrets.com/datasheets/CM108.pdf
http://m0nfi.uk/info/cm108-soundcard.html

packet radio – onde estamos?

No final dos anos 80 contruí um TNC 2, para 1200 bauds e outro para 9600. Comprei os PCB a um colega e os componentes no mercado.

Pequenos computadores, equipados com o processador Z80, estes TNC (Terminal Node Controler), ligados a um transceptor de VHF/UHF, possibilitavam a comunicação em packet AX.25, para QSO entre estações, a transmissão de pequenas imagens e ficheiros, e dispunham de uma pBBS (personal BBS) que indicava quando era recebida uma mensagem na mailbox!

Uma década depois o packet foi perdendo adeptos, para a recente Internet que se insurgiu com velocidades cada vez maiores... o princípio era o mesmo mas com o protocolo X.25, onde o cabeçalho dos pacotes em vez do indicativo de amador levava os endereços de ligação ponto a ponto.

No final dos anos 90, surgiram projectos como a FBB e o BPQ32 que podiam funcionar stand alone ou integrados com a própria Internet - apareceram as primeiras comunicações digitais de dados, para os mais familiarizados com o que se faz actualmente com o VoIP (voz sobre IP) nas tecnologias D-Star, DMR e recentemente com a Fusion.

O packet recebeu um novo impulso com o interesse da comunidade de rádio-amadores pelo APRS, um sistema inicialmente utilizado para dar a conhecer a geolocalização, permite hoje o envio de mensagens, informação da frequência de voz, comunicações de emergência, consultas ao QRZ, envio de e-mails e, que equipam já um conjunto de rádios móveis e portáteis pelas diversas marcas onde alguns incluem também GPS.

Continua a ser amplamente utilizado em comunicações de amador via satélite, para receber os dados de telemetria, a retransmissão de pacotes por digipeating ou APRS.

Muitos destes equipamentos oferecem o modo KISS, um terminal de packet simples, que pode ser utilizado por software terminal, são exemplos o linpac para linux, uma estação terminal completa em todo idêntica ao TNC 2 ou, sistemas como os que referi - FBB e BPQ32.

Para facilitar tudo isto, hoje é possível construir uma BBS com FBB ou o BPQ32 por menos de 40€ com recurso ao Raspberry Pi 3 (hardware), ao modem Dire Wolf que emula a placa de som, e ao sistema de packet radio com terminal, BBS, node, APRS, DX cluster, e chat (software) que integram com KISS... tema do próximo artigo.

Mensagens de texto e imagem em D-Star

Questionava-me se seria possível enviar e receber mensagens de texto e por que não imagem em D-Star?

Em texto percebi que sim, pela leitura das instruções do meu HT da Kenwood. Então imagem também faria sentido! Era uma questão da quantidade de bytes a transferir, já que o canal é digital!…

…e existe! Não é da Kenwood, mas da Icom, para transceptores Icom e compatíveis. Possível desde que seja possível ligar o seu dispositivo Android por cabo ou bluetooth, em modo data.

A aplicação chama-se RS-MS1A e está disponível na play store

O RS-MS1A é uma APP que permite que o dispositivo Android use remotamente as funções do modo D-STAR em DV e algumas funções DR em transceptores D-STAR.

Funcionalidades:

  • envio e recepção de mensagens de texto, voz e imagens
  • ver a localização de repetidores ou estações de amador através dos dados de posicionamento
  • listas de repetidores
  • ler e editar as informações de uma estação recebida
  • permite fazer o download de informações adicionais, como qrz.com ou aprs.fi
  • interagir com algumas das configurações to transceptor
  • exportar lista de repetidores, e o histórico de beacons recebidos

Notem que, nem todas estas funcionalidades estão disponíveis em todos os transceptores. No TH-D74 da Kenwood, aquelas que realmente me interessavam - transmissão de mensagens de texto e imagens funciona na perfeição!

Configurar um TNC para fazer de digipeater em APRS

Se ainda tem um TNC, e gostaria de fazer parte da rede APRS como fill-in, retransmitindo os pacotes que escuta, deve configurar o MYALIAS para WIDE1-1, e abandonar o termo RELAY. Defina a variável UNPROTO, por exemplo para,

CQ VIA WIDE1-1,WIDE2-2
e,
DIGIPEAT ON

Se o firmware do TNC estiver preparado para APRS e no pacote recebido o valor de "N" for maior que zero, o TNC decrementa "N" de 1 e retransmite o pacote.
Ver post "Digipeating em APRS com novos padrões".

Não necessita de ter o TNC ligado a um GPS para que este se registe na rede de APRS.
Se estiver ao alcance rádio de uma iGate, ou através de outros digipeaters, altere o beacon do TNC para,

![latitude]/[longitude][tipo] [texto]

Onde,
! - indica o formato de dados a serem interpretados pelo APRS

[latitude] - expressa até ao máximo de 8 caracteres, em graus e minutos com 2 decimais seguido de "N" para Norte ou "S" para Sul

/ - símbolo primário da estação (ver página 102 a 104 do link em referência)

[longitude] - expressa até ao máximo de 9 caracteres, em graus e minutos com 2 decimais seguido de "E" para Este ou "W" para Oeste

[tipo] - segundo símbolo da estação de rádio

[texto] - texto livre

Exemplo do beacon para a minha estação,

!3612.34N/11518.95W- CT1EBQ, digi WIDE1-1, QRA Ricardo, Cascais PT

Neste exemplo, o conjunto /- representa o símbolo "House QTH (VHF)"

Glossário:
fill-in - um digipeater WIDE1-1 de apenas um salto, que possibilita as estações móveis a chegarem a um iGate
Digipeater - uma estação que retransmite pacotes de AX.25 identificada por um indicativo no máximo de 8 digitos
iGate - um digipeater que regista um beacon na rede aprs.fi

Referências:
APRS Protocol Reference

Digipeating de APRS com novos padrões

As convenções de APRS estabelecidas décadas atrás já não servem o número de utilizadores e o tráfego actualmente existente, gerado por digipeaters e equipamentos obsoletos que duplicam os pacotes enviados às iGates ocupando a banda desnecessariamente.

Não esquecer que o principal objectivo do APRS é informar os utilizadores da rede da geolocalização de cada estação de rádio ou dispositivo. É desnecessário por isso utilizar métodos que retransmitam o beacon diversas vezes sobre tudo quando o sinal já foi escutado por uma iGate e disponibilizado à rede.

No entanto, é importante a existência de digipeaters para garantir que os pacotes de dados de APRS cheguem à iGate. Apesar de utilizarem o AX.25, estes pacotes de APRS podem ser comparados a uma transmissão de broadcasting não havendo qualquer protocolo para garantia de uma boa recepção. Se forem escutados e chegarem correctamente são retransmitidos e, eventualmente chegam a uma iGate.

A rede de APRS na Europa funciona nos 144,800MHz a 1200 bauds, FM, em modo simplex e, em satélites adoptou-se os 145,825MHz à semelhança da ISS.

Normalmente a rede de APRS de RF é suportada por clubes de rádio-amadores, ou por equipamentos TNC, raspberry pi ou computadores a correrem FBB ou BPQ32 entre outros, em estações de amadores…

Para resolver este paradigma, de congestionamento da rede, eliminaram-se as nomenclaturas de RELAY e WIDE, alterando-se para caminhos do tipo WIDEn-N, onde o primeiro "n" representa o número de saltos desejados e o segundo "N" o número de saltos restantes, valor decrementado por cada digi que retransmite o pacote. Evita-se assim que o pacote de RF percorra o país gerando tráfego desnecessário!

Glossário:
Digipeater - uma estação que retransmite pacotes de AX.25 identificada por um indicativo no máximo de 8 digitos
iGate - gateway entre a rede de APRS de HF, VHF e UHF e a Internet

Referências:
APRS Protocol Reference

Manual de Packet

Demos mais um impulso na estação de packet instalada na ARLC, algo que mesmo à 20 anos atrás nunca tinha experimentado - o envio de uma mensagem em packet radio para outro país, para outro continente! Está descrito no manual no tópico "5.11.4. Envio de uma mensagem da sua pBBS para outro colega WW"

Entretanto o Renato, pelo seu envolvimento no projecto do novo satélite português, que deve ser colocado em órbita já para o ano que vem, tem vindo a estudar e melhorar as comunicações a 9600 bauds entre a sua estação CS5CEP e a ARLC - CQ0PCV.

Adicionámos, como já disse num post anterior, o registo de estações em APRS na área de cobertura da estação de packet, por agora em 144,900MHz e 432,500MHz, estendido também a Cascais pelo Digi de CT1EBQ, para pedidos WIDE1-1, WIDE2-1.

Está em fase de projecto, a partilhar mais tarde, um modem em AX.25 com Raspeberry Pi totalmente independente e operacional que poderá trabalhar em 300, 1200 e 9600 bauds.
Irei dando notícias…
73, de CT1EBQ