Entre os softwares de rádio amador, existem muitos programas de mensagens, os mais populares dos quais são FT8 e WSPR. No entanto, estão mais focados na comunicação radioamadora clássica - reconhecimento da recepção e / ou troca de um relatório sobre a qualidade da comunicação, e é aí que acaba tudo. Nesse sentido, o novo tipo de comunicação digital JS8Call me pareceu muito interessante, cujas possibilidades são muito mais amplas.
Vamos ver como isso funciona.
Recepção e transmissão
O próprio protocolo JS8 funciona com o mesmo princípio do FT8, que é popular entre os rádios amadores. Já analisei no Habré, quem quiser pode se familiarizar com mais detalhes. Em suma, as mensagens são transmitidas em ondas médias, longas ou curtas na forma de "pacotes" fixos com uma duração de 15 s, o comprimento de cada mensagem é de 77 bits, que por um lado é um pouco, por outro, permite transmitir mensagens curtas em forma de indicativo, local de transmissão, etc. ...
O próprio protocolo FT8 teve muito sucesso, porque permite enviar e receber mensagens em longas distâncias - com 5 W de potência de saída, é perfeitamente possível entrar em contato com um correspondente a uma distância de 1000 km. Mas o esquema de codificação de texto no FT8 é muito limitado, tk. está focado apenas em indicativos de rádio amador, praticamente nada mais pode ser transmitido dentro da mensagem (a princípio é possível, mas será muito lento e inconveniente). Mas usando o próprio princípio de codificação, outro radioamador Jordan Sherer criou seu programa JS8Call baseado em FT8 (como você pode imaginar, JS são as iniciais do autor), que tem uma funcionalidade muito mais flexível:
- : Turbo (6 , 160 ), Normal (15 , 50 , Slow (30c , 25 ). , , . , , , , .
- : , , . , .
- O programa pode funcionar em quase qualquer frequência, de 1,8 MHz a 144 MHz VHF.
- Existe uma API para integração com software externo via UDP ou TCP.
- O programa funciona em qualquer hardware, incluindo Windows, OSX e Raspberry Pi, enquanto o software é distribuído gratuitamente e está disponível no código-fonte .
É importante observar que JS8Call é voltado para rádio amadoraplicação e experiências no campo da comunicação, você não deve considerá-lo simplesmente como um substituto gratuito para um telefone via satélite na taiga. Não há criptografia ou canais fechados no programa - todas as mensagens são visíveis para todos, por isso dificilmente é adequado para prof. comunicação sem "modificação de arquivo" e licenciamento de frequências alocadas. Por outro lado, para experimentos de rádio amador, tal software pode ser não apenas interessante, mas também útil, por exemplo, você pode organizar sua própria porta SMS para transferir mensagens de locais onde não há cobertura de celular para poder fazer comunicação de emergência, ou organizar a troca de mensagens entre dois grupos rádios amadores em caminhada - o suporte para o Raspberry Pi torna possível fazer um dispositivo compacto e independente para receber e transmitir mensagens. Tudo isso é possível, vai além da comunicação radioamadora "ortodoxa",mas isso o torna tão interessante que você pode tentar algo novo.
Fisicamente, a conexão do programa ao transceptor ou receptor é realizada da mesma forma que para outros modos digitais, basta conectar a saída de áudio do transceptor ao PC e selecionar o dispositivo de áudio correspondente no software.
O princípio geral é claro, vamos prosseguir para os testes.
Testando
Meu indicativo de radioamador expirou há 5 anos, e sem uma licença válida é oficialmente impossível trabalhar na transmissão, então usarei o programa apenas para recepção e testarei a "transmissão" localmente dentro da sala usando uma placa de som de PC - obviamente, o programa "não importa ”De onde vem o sinal e de onde.
Recepção
Instalei o programa no Raspberry Pi e usei-o no modo de recepção: o programa GQRX conectado ao receptor SDRPlay e o JS8Call trocaram dados por meio de um cabo de áudio virtual.
Você pode prestar atenção ao campo Distância no canto direito da imagem. Como você pode ver, você pode até receber uma mensagem de outro continente. Em geral, na recepção, tudo é muito bom. Quase todos os países europeus e várias estações da América e Canadá foram recebidos na minha modesta antena AOR SA7000 (esta é uma haste de 2 metros de comprimento) na varanda. Cada marca no mapa é uma estação recebida: A
distância máxima de recepção foi de 7.831 km a 14 MHz. Infelizmente, nenhum sinal da Rússia foi recebido.
Broadcast
Vou testar a "transferência" apenas localmente, para a qual 4 cópias do programa com diferentes indicativos "virtuais" USER1..USER4 foram lançadas usando a linha de comando js8call.exe -r test1 … js8call.exe -r test4. Nas configurações, o envio de dados para pskreporter também foi desativado para não interferir com outros rádios amadores com mensagens de teste. As janelas de recepção e transmissão de 4 programas são mais ou menos assim: Lembro
que a frequência na tela é "virtual", nenhum sinal foi transmitido. Como se viu, nem mesmo uma placa de som virtual é necessária, um microfone comum e um alto-falante de computador são suficientes.
JS8Call fornece os seguintes recursos:
- Enviar mensagens para todos os assinantes ou para um usuário específico
- A capacidade de enviar uma resposta indicando a qualidade do sinal
- Capacidade de encaminhar uma mensagem a um assinante por meio de outro assinante
- A capacidade de perguntar ao assinante se há mensagens recebidas para ele
- A capacidade de ver qual assinante "ouve" quem, a fim de saber por quem uma mensagem pode ser enviada.
Esta é apenas uma parte das funções disponíveis, quem quiser pode familiarizar-se com a documentação do programa. Tudo isso pode ser testado localmente usando um alto-falante e microfone, mesmo sem ir ao ar. É bastante curioso observar como o segundo programa, em resposta a um pedido de intensidade do sinal ou informação da estação, transmite automaticamente uma resposta que aparece na "janela de chat" no primeiro programa. Em geral, as possibilidades de experimentos de rádio amador são bastante grandes.
API
O último ponto interessante que veremos é a API. Primeiro, você precisa habilitar o suporte à API no programa nas configurações, eu escolhi TCP:
Nós escrevemos o programa mais simples para receber mensagens via socket:
import socket
HOST = '127.0.0.1' # The server's hostname or IP address
PORT = 2442 # The port used by the server
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
while True:
data = s.recv(1024)
print('Received', repr(data))
Nós lançamos. O resultado na captura de tela:
Como você pode ver, temos acesso total às mensagens recebidas na forma de JSON, o que nos permite usá-las como quisermos, por exemplo, para uma porta em Telegram, SMS, envio para outros serviços, etc. Parece que a API também pode ser usada para transmissão, mas isso não é preciso, o autor ainda não postou uma descrição completa.
Conclusão
Como você pode ver, o programa JS8Call é definitivamente um experimento bastante interessante e um tanto novo no campo da comunicação de radioamadorismo. JS8Call está focado não só na troca “tradicional” de relatórios de recepção, mas também apóia a participação mais ou menos ativa de rádios amadores em viagens de campo, comunicação em campanha, trabalho com mensagens e grupos. Agora, há um certo aumento no interesse em comunicações QRP (comunicações de baixa potência com equipamento portátil) e comunicações de rádio na natureza, em parte porque há cada vez mais interferência nas cidades e antenas sérias muitas vezes não são oficialmente instaladas. Portanto, o programa JS8Call está bastante "no assunto" e certamente irá interessar a rádios amadores que gostam de viajar e viajar. Em geral, tudo isso é bastante interessante, e pode-se esperar que, com o advento desse software, o interesse pelo rádio amador só vá aumentar.
Bem, todos, como de costume, experiências felizes.