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

...ou, como montar uma estação de rádio packet/APRS com Raspberry Pi 3/4 e algum software.

Esta documentação é a síntese de diversos sites sobre o tema, referidos mais abaixo nas diversas Referências para este projecto.

Faça o download do zip e instale o Raspian Buster Lite no seu Raspberry Pi 3 ou superior.

Estas instruções podem ser utilizadas a partir de uma janela terminal SSH em linux ou Mac OS X. Para Microsoft utilize o Putty.

Abra então uma janela terminal local (apenas para linux e Mac OS X) e insira o cartão micro SD (2Gb é suficiente), no computador. Faça,

$ diskutil list

...para identificar o disco (cartão SD) a formatar.

Em resposta, o sistema irá devolver disk2 ou disk3. No meu caso foi o disk3. Por favor substitua este número conforme o seu caso quando necessário. Não se engane ou corre o risco de destruir a informação existente noutro disco!

Nota: não utilize "sudo" ou o operador "root" a não ser quando for absolutamente necessário. Eu indicarei.
Nestes comandos que refiro, o símbolo "$" indica que o seu utilizador não é "root". Se lhe aparecer "#" na linha de comandos, saia e volte a entrar com um utilizador com menos privilégios...
Pode copiar e colar os comandos que aqui escrevo, excluindo o "$" ou "#" no início da linha.

Identificado o disco, SD card, vamos formata-lo,

$ sudo diskutil eraseDisk FAT32 PACKET-PI MBRFormat /dev/disk3

Desmonte o disco,

$ diskutil unmount /dev/disk3s1

E vamos instalar a imagem do Raspbian Buster a partir do nosso disco. Descomprima o download, caso a imagem do sistema operativo venha comprimida em ZIP ou TAR.
Esta operação é natural que tarde uns minutos, dependendo da velocidade de escrita do cartão SD,

$ sudo dd bs=1m if=Downloads/2020-02-13-raspbian-buster-lite.img of=/dev/rdisk3

Até finalizar a instalação da imagem o computador não lhe mostra nada. Pode demorar entre 2 a 10 minutos...
Faça CTRL+T ou CTRL+SHIFT+T para ver o progresso e aguarde.

Finalizado... desmonte o disco,

$ diskutil unmount /dev/disk3s1

Aguarde a mensagem do sistema, indicando que pode retirar o disco e coloque no raspberry pi...

Na primeira instalação deve ligar o raspberry a um monitor e teclado USB.
Faça login com o utilizador: pi
Password: raspberry
Corra o "raspi-config", configure uma rede, por exemplo a rede wireless e habilite o SSH para ligação remota.

$ sudo raspi-config

…e siga os seguintes menus,

2 Network Options
N1 Hostname: (o nome do raspberry na rede)
N2 Wi-fi: SSID e passkey
4 Localisation Options
I1 Change Locale -> Local: pt_PT.UTF-8 UTF-8 (default: en_GB.UTF-8 UTF-8) e, Default locale for the system environment: pt_PT.UTF-8 (default: none)
I2 Change Timezone -> Geographic area: Europe -> Time zone: Lisboa
I3 Change Keyboard Layout: Generic 105-key PC (intl.)
I4 Change Wi-fi Country: PT Portugal
5 Interfacing Options
P2 SSH: enable
8 Update

No final seleccione "<Finish>", com o tabulador e saia do configurador.

Continua na parte 2

Referências:
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
...e, siga os links.

Mapas de APRS em BPQ32

Finalmente, depois de alguma persistência e diversos e-mails trocados com o colega Gerhard - F5VAG e, John Wiseman - G8BPQ, a página de APRS já tem os mapas de localização!

O APRS é cada vez uma ferramenta mais interessante, com muitas aplicações que vão além do geo-posicionamento… Estes mapas estão agora disponíveis a partir do link http://node.arlc.pt:9123/aprs/all.html, depois de seleccionada a estação a seguir…

Foram actualizadas algumas das funcionalidades desta estação de packet, com o upgrade do BPQ32, sendo agora possível enviar mensagens por packet e APRS com difusão imediata!

Recordo que o manual se encontra aqui - https://www.arlc.pt/…/…/2019/08/Manual-Packet-Radio-ARLC.pdf, embora ainda não referindo estas novas funcionalidades. A página web de entrada em packet é http://node.arlc.pt:9123

Quem não tem credenciais, utilize o seu indicativo com a password: arlcham
Uma pequena nota, o node de UHF encontra-se desligado, a partilhar a antena com o D-Star em fase de testes…

Quem disponha dos velhinhos TNC pode ligá-los e difundir um beacon, com algumas regras, assim como fazer digipeating de APRS. Se houver interesse deixem comentários!

Envio de localização GPS com o TH-D74 através de hotspot

Esta versão, desenvolvida pelo G4KLX, possibilita entre muitas outras funcionalidades a partilha de geolocalização, utilizando o módulo mais recente do ircddbgateway no pi-star.

Se tem um TH-D74E e gostava que os seus dados de GPS fossem enviados para aprs.fi, apenas precisa de instalar e executar a versão mais recente do ircDDB Gateway disponível em https://github.com/g4klx/ircDDBGateway e configurar o rádio, menu 630 (GPS Info in Frame) para "On". As opções "Sentence" (menu 631) devem ser as de origem - $GPGGA e $GPRMC. O menu 632 (Auto TX) deve ficar desligado, em "Off".

Esta versão do gateway ircDDB, permite que o D-Star Repeater faça interface com o roteamento do indicativo através do ircDDB e de todos os diferentes tipos de refletores. Inclui muitas funcionalidades, tais como:

  • suporta Icom stacks
  • suporta repetidores de construção caseira
  • Icom DD mode em Linux através da internet
  • roteamento de indicativo de chamada via ircDDB
  • refletores D-Plus REF
  • refletores DExtra XRF
  • refletores DCS
  • refletores XLX
  • roteamento CCS7
  • transferências de dados D-RATS
  • gateway DPRS dados para APRS-IS
  • anúncios multi-idiomas de texto e voz
  • controle de chamada DTMF ou UR
  • interface de controle remoto
  • servidor StarNet

E a capacidade de definir políticas para o uso de refletores.

Faça o download em ZIP, descomprima por exemplo em /tmp, habilite o modo de leitura e escrita com "rpi-rw" e compile de acordo com as instruções na própria página. Se não necessitar de interface gráfico ignore as linhas referidas nestas instruções. Seja paciente, pois a compilação pode tardar entre 20 minutos a 3 horas no caso do raspberry pi zero.

Outras referências:
Facebook Kenwood TH-D74 group
https://www.f4fxl.org/compile-and-install-the-latest-ircddbgateway-in-pi-star/
https://www.f4fxl.org/compile-and-install-the-latest-dstarrepeater-in-pi-star/

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