O XLX267 nasceu como um reflector relativamente simples, com alguns módulos destinados a conversação internacional, regional e nacional e uma interligação a outros sistemas. Com o passar do tempo, porém, o D-STAR deixou de ser apenas uma rede de repetidores e reflectores. Hoje temos hotspots, Terminal Mode, Access Point Mode, interligações entre redes, gateways e cada vez mais possibilidades de experimentação.
Foi por isso que decidi actualizar o XLX267 e abrir todos os 26 módulos possíveis, de A a Z.
A alteração foi relativamente pequena no código do XLXD, mas muda bastante aquilo que podemos fazer com o reflector. O servidor passou a trabalhar com:
#define NB_OF_MODULES 26
Depois da recompilação e instalação do XLXD 2.5.3, fiz o teste mais simples e também o mais conclusivo: liguei o meu Icom IC-705 em Terminal Mode directamente ao XLX267, módulo Z.
O servidor respondeu:
Config request ... for XLX267 Z
Opening stream on module Z for client CT1EBQ H
Ou seja: não era apenas uma alteração teórica na configuração. O módulo Z estava efectivamente operacional e a transportar tráfego D-STAR.
Mas para que queremos 26 módulos?
A resposta curta é: não queremos necessariamente usar os 26.
Criar vinte e seis salas vazias só porque estão disponíveis não teria grande interesse. A ideia é antes atribuir aos módulos uma lógica que torne o XLX267 fácil de compreender e, sobretudo, útil para experimentação.
Não há vantagem em decidir hoje o que fazer com K, L, M ou Y. Se surgir uma necessidade interessante amanhã, haverá espaço para ela.
Alguns módulos com personalidade própria
Há quatro que me parecem particularmente interessantes.
D — Digital Lab
Um espaço para experiências com D-STAR, hotspots, gateways, bridges e novos equipamentos sem perturbar os módulos destinados a conversação normal.
T — Terminal / AP
Este nasceu quase naturalmente das experiências que tenho feito com os rádios Icom.
O Terminal Mode permite que equipamentos como o IC-705 ou outros Icom compatíveis comuniquem com a rede D-STAR através da Internet sem ser necessário chegar por RF a um repetidor. O Access Point Mode permite ainda utilizar o rádio como ponto de acesso para outro equipamento D-STAR.
Ter um módulo explicitamente dedicado a este tipo de experiências pareceu-me bastante lógico.
X — Experimental
O verdadeiro laboratório.
Interligações temporárias, testes de protocolos, gateways, software novo ou qualquer experiência que ainda não saibamos muito bem onde encaixar.
Z — Test
Uma espécie de carga fictícia virtual.
Queremos verificar se um hotspot está correctamente configurado? Se o Terminal Mode chega ao reflector? Se um gateway consegue estabelecer ligação?
Liga-se ao Z e experimenta-se.
Curiosamente, foi também o primeiro módulo novo que utilizei depois da alteração para A–Z.
Os módulos que já existiam
Algumas funções anteriores permanecem.
O módulo A continua vocacionado para contactos internacionais, B para utilização regional e C para Portugal.
O módulo E mantém uma interligação com o XLX268, através da qual existe acesso ao REF095C.
Uma das vantagens da arquitectura XLX é precisamente esta possibilidade de fazer de determinado módulo uma porta para outro reflector ou rede sem transformar todo o sistema numa única sala gigantesca.
E o dashboard?
Outra curiosidade surgiu durante a alteração.
O dashboard não tem uma lista fixa A–Z. Ele pergunta ao reflector quais os módulos onde existem nós ligados:
$Modules = $Reflector->GetModules();
Por isso um módulo vazio nem sequer aparece necessariamente na página.
Quando liguei o IC-705 ao módulo Z, o dashboard passou imediatamente a mostrar Z.
É uma solução simples e elegante: os módulos existem no reflector, mas a interface só mostra aquilo que nesse momento está a ser utilizado.
Uma pequena infraestrutura para experimentar
É talvez esta a parte que mais me interessa no projecto.
Não pretendo transformar o XLX267 num enorme reflector mundial cheio de utilizadores. Existem outros muito maiores para isso.
Interessa-me mais que seja um pequeno espaço técnico onde possamos experimentar.
D-STAR por RF.
D-STAR por Internet.
Terminal Mode.
Access Point Mode.
Hotspots.
Gateways.
Interlinks.
E aquilo que ainda aparecer nos próximos anos.
Tal como acontece tantas vezes no radioamadorismo, o interesse não está apenas em conseguir estabelecer a comunicação.
Este bem poderia ser o primeiro post do site já que, daqui fui construindo todos os outros projectos...
Há uns meses atrás comecei este projecto. Sempre fui adepto de "all in one", nas impressoras, nos rádios, nos gadgets, até nos canivetes suíços! Compreendo quem prefira um rádio para HF, outro para VHF e UHF, mas eu gosto deles com tudo! Este projecto é para os que gostam de "tudo na mesma caixa"!
Há uns meses, nem sabia o que era um Raspberry Pi até que me rendi... comprei um zero com wireless, experimentei o 3B + e depois comprei um 4. Foi com o mesmo entusiasmo com que recebi o meu ZX81 ou o Spectrum em 1982, mas com tecnologia mais recente e capaz de um projecto deste tipo! - Era o computador que faltava na minha estação de rádio! Sem ventoinhas, logo sem barulho, a 5V ou facilmente alimentado a partir de 12V e, o Raspberry 4 com uma capacidade de processamento suficiente para correr um sem número de aplicações em simultâneo! Estas características maravilharam-me...
Tudo começou quando adquiri o meu rádio D-Star, instalei num Pi zero W o software pi-star, num computador antigo a correr linux, apenas linha de comandos, o linbpq para packet e APRS e depois precisava de outro brincar com modos digitais... Eram muitos computadores, todos ligados, a consumir energia 24 horas por dia! Não, tinha de haver outra solução. A solução passava por um computador, todos os sistemas e software a correr ali... Pretendia ainda uma solução alimentada a 12V, de modo a poder alimenta-lo a baterias e criar sistemas de alimentação redundante.
A solução era mesmo um Raspberry Pi!
Fiz teste num 3B + de um amigo. Percebi que tinha de instalar primeiro o pi-star, a última versão "buster" do debian, disponível para download no site deste excelente projeto. O pi-star tem uma excelente característica, depois do arranque o sistema entra em modo read-only, e apesar de o podermos pôr em read-write, tudo está feito para que volte a read-only no instante seguinte! Era um quebra cabeças e o primeiro problema a resolver! Todos os posts anteriores foram o caminho a percorrer para chegar até aqui e resumem a minha experiência em Pi.
Se quiser ter os modos digitais, o propósito de ter instalado o core do pi-star, terá de adquirir uma pequena placa de RF, chamada MMDVM hotspot. Encontra-se facilmente no eBay e a minha custou cerca de 15€ mais despesas de envio.
As instruções seguintes mostra como o fazer.
No final deste projecto, com algumas horas e muita paciência, fica com um Raspberry Pi (recomendo o 4, com 2 ou mais Gb de RAM) com,
pi-star, para modos digitais (D-Star, DMR, YSF...)
packet e APRS no linbpq + (Hamlib, Direwolf, Xastir, Linpac)
recepção de WSPR com uma simples RTL-SDR v3
FLRig e FLDigi
WSJT-X
JTDX
GridTracker (Display connections on a map)
JS8CALL
CQRLOG + TQSL (Advanced Ham Radio Logbook)
GPredict (Sat-Tracking)
QSSTV (Slow Scan Televison)
GQRX (SDR)
FreeDV (Digital Voice)
VOACAP (Propagation Prediction)
Chirp (Programming transceivers)
Qtel (Echolink Client)
WSPR with RTL-SDR v3
VNC server para acesso externo (tablet, telefone ou computador)
Que tal? 🙂
Instruções
Não há fórmulas mágicas, os bons projecto levam tempo! Precisa tempo e paciência, sobre tudo se não tem muita experiência com sistemas operativos linux em linha de comandos. No entanto tentei tanto neste como nos posts anteriores criar instruções para que fosse apenas copiar e colar... Neste projecto, e porque não sou o autor de tudo, deixo links para outros sites, para os siga e instale tudo pela ordem que sugiro.
Comecemos por instalar o pi-star
Faça o download e siga as instruções para o seu sistema operativo. A instalação do pi-star não é opcional já que este projecto se baseia nele, que inclui o último sistema operativo "buster" à data em que escrevo este artigo.
Depois vamos instalar o interface gráfico GUI. Sim, vai ter uma consola gráfica, mas toda a instalação corre praticamente em linha de comandos.
Depois de instalado o pi-star, identifique a sua versão. Terá de habilitar o SSH, configurar o acesso à network ou, ligar um monitor, teclado e rato. Abra uma janela terminal, ou aceda por SSH e faça,
...dá-lhe algumas informações sobre a versão, processador e hardware Para conhecer qual o sistema operativo, pelo nome que conhecemos digite,
ou, digite o comando "lsb_release -a". Actualize agora o seu sistema já instalado,
O pi-star, foi desenhado com propósito único, e será necessário instalar diversos componentes: software, plugins de terceiros e livrarias de código; de modo a dotá-lo de todo o software para o nosso projecto.
Instale a componente de configuração do Raspberry Pi, que facilitará muito qualquer configuração de rede, hardware, serviços, etc...
Ambiente gráfico de janelas
Agora vamos instalar o X ou interface gráfico GUI. Passo simples. Depois já terá acesso ao sistema pelo interface gráfico de janelas que lhe será mais familiar...
A partir deste momento, pode aceder já por teclado e rato, ligando um monitor à porta HDMI do Pi. Habilite o VNC, para lhe permitir aceder remotamente, se não pretender como eu, ligar o monitor. Na linha de comandos ainda, faça,
7 Advanced Options A5 Resolution …seleccione o modo à sua escolha, no meu caso escolhi uma das configurações 16:9 Faça "Ok", "Ok" de novo, "Finish", "Yes" vamos fazer um reboot…
Agora já se pode ligar por VNC. Antes de fazer reboot, pode também habilitar o "auto-login" no sistema de janelas. Volte ao "raspi-config" e siga os menus "Boot option"->"Desktop / CLI"->"Desktop autologin". Algumas instruções que li sugeriram também instalar o xinit. Considere-o para já como opção,
Para conhecer o endereço IP do seu Pi, faça
Identifique a sua ligação de rede, instale o VNC Desktop no seu computador e já pode aceder confortavelmente ao seu Pi, pelo sistema gráfico de janelas. Note que, a partir do momento que tem acesso ao interface gráfico pode abrir ali uma janela terminal e executar todos os comandos que se seguem... Eu continuo ligado por SSH.
Porque o pi-star é muito robusto, quase à prova de desligar a alimentação quando e sempre que quiser sem qualquer cuidado em particular, tem também um firewall onde é preciso permitir o acesso externo. Nada complicado. Crie o ficheiro ipv4.fw que será lido pelo sistema e adicione estas regras ao iptables, firewall linux,
Grave, CTRL + x, "yes" e volte à linha de comandos.
Nota: esta lista de regras tem sido actualizada ao longo do projecto embora nem sempre seja referido nos diversos posts. Sempre que uma aplicação ou serviço necessita de comunicar para fora, ou receber dados, temos de abrir a porta respectiva!
Configurei já as portas 5900 e 5901 para acesso por VNC, a 8010 para acesso por telnet ao linbpq, a 9123 o acesso web à consola do linbpq e a 10093 para transferência de mensagens entre nodes, também para o linbpq. Para aplicar estas regras,
Configurar o pi-star em mode read-write permanente
Descobrir onde o pi-star re-escrevia as instruções de read-write para read-only deu algum trabalho, muitos ficheiros abertos e re-escritos, novas instalações, pesquisas na web, frustração e umas boas horas. Vamos começar.
Temos de substituir todas as instruções que montam o sistema como leitura apenas, para leitura e escrita, isto é de "ro /" por "rw /". Comecemos pelas regras na montagem das partições,
Igualmente importante, edite o ficheiro /etc/rc.local e comente com "#" a última linha onde aparece a expressão,
ou melhor, não a comente e altere-a para,
na directoria /var/www, fazemos o login como root,
Verificamos quantas entradas existem, com o user root,
Trocamos todos os "ro /" por "rw /". Para evitar erros copie a seguinte expressão como root,
E, verificamos que já não existe nenhum "ro /" por substituir. O output deve ser vazio!
"exit" sai do user root. Em cada actualização do pi-star bem sucedida devemos correr estes 3 últimos comandos "find..."! É natural que, durante o update surjam mensagens como: "os seguintes ficheiros foram modificados..." Ignore e, volte a fazer os procedimentos descritos anteriormente.
Vamos editar ainda os seguintes ficheiros e substituir todas as entradas de "ro /" por "rw /"
Renomear os seguintes ficheiros, por exemplo para _[ficheiro]
Existem mais alguns ficheiros encontrados em /usr/local/sbin, /usr/sbin e /usr/bin mas não detectei nada que provocasse o sistema a voltar a read-only.
Notas: 1. Ao tentar actualizar agora o pi-star deve aparecer-lhe uma mensagem com esta,
Starting Services… Done Updates complete, sleeping for a few seconds before making the disk Read-Only mount: /: mount point is busy. Finished
O que é normal visto que o sistema é read-write. Não há problema.
2. Recentemente dei que o meu raspberry entrava em modo "halt" todas as noites à hora que executava o cron.daily O problema manifestava-se quando corria no script "powersave" a instrução "tvservice -o" que desliga o port HDMI. Desabilite esta linha, editando o ficheiro /etc/cron.daily/powersave e comentando a instrução com "#", #/opt/vc/bin/tvservice -o
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.