15
mai
2020
Gérer un émetteur-récepteur sous Linux
14:44

Gérer un émetteur-récepteur sous Linux

Utiliser une station de radio amateur sans ordinateur est presque impensable - même les contacts SSB et CW nécessitent un enregistrement dans un journal radio. Linux développe activement le contrôle radio à l'aide d'un ordinateur. Cet article de synthèse concerne les interfaces et les programmes permettant de travailler comme émetteur-récepteur (émetteur-récepteur) sous Linux.

Presque tous les programmes radioamateurs modernes pour ordinateur nécessitent une interface permettant de contrôler un émetteur-récepteur (dans le jargon radioamateur, une installation radio combinant un récepteur et un émetteur est appelée « émetteur-récepteur ») via un port COM, physique ou virtuel. Tous les émetteurs-récepteurs modernes disposent d'un port série pour les contrôler à l'aide de commandes CAT (et pas seulement de commutation pour l'émission/réception (ON/OFF) en utilisant +5 Volts). À l'aide des commandes et des requêtes de l'ordinateur dans l'émetteur-récepteur, vous pouvez lire ou écrire des paramètres, passer à la transmission ou à la réception :
*Fréquence VFO*(Oscillateur à fréquence variable) - fréquence d'un générateur de fréquence variable lors du réglage manuel d'une station de radio
mode de transmission(AM/FM/USB/LSB/PKT/DIGI)
commande de transmission— en appuyant sur le bouton PTT à l'aide d'une commande via l'interface CAT.
activation ATT (atténuateur)- pour réduire un niveau de signal trop élevé provenant de l'antenne avant de l'envoyer à l'entrée du récepteur.
configuration des filtres- améliorer l'intelligibilité de la réception dans des conditions difficiles.
sélectionnez VFO A ou VFO B**- choix du récepteur, qui peut être utile en cas de fonctionnement « split », c'est à dire lorsque les fréquences de réception et d'émission ne correspondent pas. Utile pour travailler avec des correspondants longue distance (DX) qui appellent sur une fréquence et reçoivent une réponse de nombreuses stations dans la plage 0...+5 kHz en CW.

Бибbibliothèque, ou plutôt une plate-forme ou un framework logiciel complet,HamLib peut contrôler non seulement un, mais plusieurs émetteurs-récepteurs (si le radioamateur en possède) - par exemple, dans certains programmes, vous avez le choix entre Radio1 et Radio2. Par exemple, Radio1 est pour les ondes courtes 1,9/3,5/7/10/14/18/21/24,9/28 MHz, et Radio2 est pour 144/433/1296 MHz. À son tour, chaque radio dispose de deux générateurs de bande lisse VFO1 et VFO2, lorsqu'elle fonctionne en mode split ou via satellites (A/B). Tout cela est géré par HamLib.

Grig l'image ci-dessus montre l'interface du programme grig pour contrôler la station de radio. Utilise hamlib. Vous pouvez modifier la fréquence par saisie directe à l'aide du bouton ENT ou à l'aide des boutons gauche et droit de la souris.

Grig de course pour Yaesu FT-857 :

grig -r /dev/ttyUSB0 -m 122 -s 4800

clés :

  • -r du mot rig indique le port série auquel l'émetteur-récepteur est connecté,
  • -m du mot modèle - le numéro de modèle de la station de radio dans la liste des HamLib pris en charge,
  • -s du mot speed - la vitesse du port série auquel l'émetteur-récepteur est connecté.

En plus des émetteurs-récepteurs, HamLib peut « communiquer » avec des contrôleurs de dispositifs rotatifs pour antennes VHF directionnelles (rotateurs ou « rotors »). La liste des contrôleurs supportés par la bibliothèque HamLib est sur la page https://github.com/Hamlib/Hamlib/wiki/Supported-Rotators

Pourquoi RIGCTLD est-il nécessaire ? Lors de l'exécution simultanée de plusieurs programmes (soundmodem, gpredict, wsjtx, xlog, fldigi) qui utilisent CAT (transmission assistée par ordinateur), un conflit survient : l'un des programmes prend le contrôle, occupant complètement le port COM, les autres cessent de fonctionner - soit ne démarrent pas, soit se bloquent.

КонBien sûr, vous pouvez utiliser les programmes un par un : par exemple, en mode exclusif, exécutez wsjtx pour FT8, puis téléchargez le journal de celui-ci dans un fichier ADIF, fermez wsjtx et exécutez un autre programme - le journal de connexion CQRLOG, chargez-y ADIF. puis fermez tout, ouvrez FLDIGI pour PSK31. :-)

L'option avec VOX numérique (activation de la transmission lorsqu'un signal apparaît) n'est pas pratique car il faut régler le niveau de sensibilité de la transmission, qui dépend du niveau du signal d'entrée. Le deuxième inconvénient de VOX est que dans le programme de transmission, l'indication de la fréquence, du type de modulation et même de la portée est perdue, ce qui peut être incorrectement enregistré dans le journal de contact.

Ainsi, HamLib et RIGCTLD sont nécessaires et devraient travailler ensemble.

  • HamLib - bibliothèque avec liste complète de modèles stations de radio prises en charge - 214 modèles en version 4.2, 264 modèles en versions 4.3 et 4.4 et 283 modèles en version 4.5, prend en compte le système de commande de chaque station de radio et les convertit sous la forme standard adoptée pour hamlib. Site Web : https://hamlib.github.io/
  • Service RigCtlD, qui peut répondre aux requêtes de plusieurs programmes vers HamLib. RIGCTLD est service réseau(offre la possibilité de contrôler à distance l'émetteur-récepteur via TCP-IP à la fois sur un ordinateur via localhost et sur différents PC).

En plus de ces deux programmes, il existe une interface graphique de contrôle de l'émetteur-récepteur, appelée FLRIG (de l'ensemble de programmes fldigi). Vous pouvez configurer FLRIG pour contrôler l'émetteur-récepteur via les commandes HamLib et fldigi pour appeler flrig pour le contrôle.

flrig

Chaîne :radioamateur →PC→ fldigi → flriger → hamlib → Interface TAO → émetteur-récepteur →antenne.
FLDIGI fonctionne très bien via FLRIG, mais WSJTX (lors de la sélection de l'émetteur-récepteur « Flrig Flrig ») pas tellement.

Vous pouvez vérifier que votre émetteur-récepteur prend en charge HamLib sur la page https://github.com/Hamlib/Hamlib/wiki/Supported-Radios

Comme le serveur web Apache et l'éditeur graphique GIMP, la bibliothèque HamLib existe non seulement pour Linux, mais aussi pour Windows.

Liste des programmes pouvant accéder aux stations de radio via HamLib :

  1. FLDIGI (см. http://www.w1hkj.com/FldigiHelp/rig_config_page.html)
  2. Page d'accueil du WSJTX https://physics.princeton.edu/pulsar/K1JT/wsjtx.html
    1. Gpredict (avec menu paramètres Interfaces - Radios)
    2. RotCTL (à partir du package gpredict dans le menu Interfaces - Rotateurs)
    3. rotctld (service réseau TCP basé sur RotCTL)
    4. rigctl (un utilitaire pour contrôler les émetteurs-récepteurs depuis la ligne de commande)
    5. rigctld (service réseau pour gérer les émetteurs-récepteurs via TCP-IP avec la syntaxe de commande rigctl)
    6. rigmem (sauvegarde et restauration de la mémoire de l'émetteur-récepteur)
  3. CQRLOG (тема https://forum.qrz.ru/33-apparatnye-zhurnaly/45242-cqrlog-dlya-linux.html)
    1. grig (interface graphique pour contrôler l'émetteur-récepteur à l'aide de hamlib)
      11.QSSTV
      12.DV gratuit

Le service RIGCTLD est conçu pour répondre aux requêtes de plusieurs programmes vers HamLib, afin d'éviter les conflits dus à l'utilisation exclusive du port COM. Nous pouvons dire que RIGCTLD sous Linux est un analogue d'OmniRIG sous Windows, mais avec une différence : ce n'est pas un programme, mais un service (démon). RIGCTLD est un service réseau qui fonctionne sur le protocole TCP (sockets).

Source :https://www.mankier.com/1/rigctld#Descriptif

Liste des programmes pouvant fonctionner avec rigctld via le protocole TCP-IP

  1. rigctl (утилита командной строки для управления трансивером, http://manpages.org/rigctl)

    1. gpredict (analogue à Orbitron, peut se connecter au port rigctld 4532 de n'importe quel PC)
  2. rigctl-wsjtx (специальная версия rigctld сервера для WSJTX) https://www.mankier.com/1/rigctld-wsjtx

    1. WSJTX (lors de la sélection de la radio « réseau » « Hamlib Net rigctl », voir le point ci-dessus.
  3. rigctlcom (эмуляция трансивера TS-2000 для вашего радио) https://www.mankier.com/1/rigctlcom

  4. PAT (программа для электронной почты на коротких волнах см. http://www.winlink.org/)

  5. CubicSDR (кросс-платформенное Software Defined Radio) - https://cubicsdr.com/

Liste des programmes pouvant communiquer avec Flrig

  1. Fldigi (полная поддержка) http://www.w1hkj.com/
    1. WSJTX (prise en charge partielle lors du choix d'un émetteur-récepteur "Flrig Flrig" - PTT ne fonctionne pas)

Installation de la bibliothèque HamLib

НомLa dernière version de Hamlib est la version 3.1. La sortie de la version 4 de Hamlib est prévue, mais elle n'est pas (encore) publiée et il n'y a rien à discuter.

Depuis les dépôts Linux Mint/Debian/Ubuntu, vous pouvez installer
libhamlib2 et libhamlib-utils dernière version 3.1-7build1,
il n'est donc pas nécessaire d'utiliser des référentiels externes ou git,
tout est installé comme d'habitude :

sudo apt-get install libhamlib2 libhamlib-utils

ou simplement :

sudo apt-get install libhamlib-utils

(installera libhamlib2 via les dépendances).


Commande pour vérifier la connexion à l'émetteur-récepteur à l'aide de HamLib

rigctl -r /dev/ttyUSB0 -m 122

où :

Source :https://github.com/Hamlib/Hamlib/wiki

Installation de rigctld

su -
apt install libhamlib-utils

Répertoriez tous les fichiers d'un package :

dpkg -L libhamlib-utils

/usr
/usr/bin
/usr/bin/rigctl
/usr/bin/rigctld
/usr/bin/rigmem
/usr/bin/rigsmtr
/usr/bin/rigswr
/usr/bin/rotctl
/usr/bin/rotctld
/usr/share
/usr/share/doc
/usr/share/doc/libhamlib-utils
/usr/share/doc/libhamlib-utils/copyright
/usr/share/man
...

Le programme est installé dans le répertoire /usr/bin/rigctld

Le service rigctld est démarré depuis la ligne de commande avec des paramètres.

rigctld [-hlLouV] [-m id] [-r device] [-p device] [-d device] [-P type] [-D type] [-s baud] [-c id] [-T IPADDR] [-t number] [-C parm=val] [-v[-Z]]

(voir ci-dessous pour un exemple d'utilisation)


Documents :
https://manpages.debian.org/stretch/libhamlib-utils/rigctld.8.en.html

Commande pour vérifier avec rigctl la connexion à l'émetteur-récepteur en utilisant RigCTLD
(source http://vk4tmz.blogspot.com/2018/07/gpredict-radio-control-ft991a-via.html)

rigctl -m 2 -r localhost:4532 m

où -m 2 est le code numérique du modèle d'émetteur-récepteur lorsque vous travaillez via HamLib,
-r localhost:4532 - se connecte au service RigCTLD sur le PC local, port par défaut 4532
m - commande pour lire la fréquence VFO (get_mode).

Le débit en bauds, le modèle d'émetteur-récepteur et d'autres paramètres sont omis. car la connexion s'effectue via rigctld, dans lequel elle est configurée.

Avant cela, vous devez installer et configurer le démon rigctld sur l'ordinateur localhost.

rigctld -vvvvv -r \\.\ttyUSB1 -m 135 -s 4800 -t 4532 -C "serial_speed=4800,stop_bits=1,rts_state=ON,dtr_state=OFF,serial_handshake=None" 

Les paramètres RIGCTLD, aussi bien dans les versions Windows que Linux, doivent être passés dans la ligne de démarrage, comme dans l'exemple. Si une erreur est commise, comme un modèle d'émetteur-récepteur 135 inexistant, un message d'erreur s'affichera. Pour afficher les paramètres, appelez le service avec le commutateur -L.

RIGCTLD analogique = RIGCTLCOM

Un programme qui remplace RIGCTLD et permet plusieurs connexions à l'émetteur-récepteur de différents programmes s'appelle RIGCTLCOM. Publié par Mike W9MDB

Ce programme est nécessaire pour les programmes qui ne connaissent pas l'existence de rigctld ou FLRig, par exemple MMTTY ou d'autres programmes Windows qui peuvent même être lancés via Wine.

RIGCTLCOM émule l'émetteur-récepteur Kenwood TS-2000 :

C'est un émulateur TS-2000 qui permettra aux programmes qui ne connaissent pas FLRig ou rigctld de communiquer avec ces deux programmes.

App->COMX->COMY->rigctlcom->rig

Cela vous permettra d'exécuter, par exemple, N1MM et WSJT-X en accédant tous deux à votre plate-forme via FLRig ou rigctld.

Devrait également fonctionner avec MMTTY ou tout autre programme similaire.

Ne fonctionne pas encore tout à fait avec WSJT-X mais WSJT-X peut se connecter à rigctld ou flrig donc ce n'est pas vraiment nécessaire là-bas.

Vous devrez installer WSJT-X si vous ne l'avez pas déjà. Et l'utilisation de FLRig permettra facilement à plusieurs programmes de se connecter à votre plate-forme, alors installez-le également.

Cela permettra également plusieurs connexions avec rigctld comme plate-forme principale si vous souhaitez emprunter cette voie.

1.Créez une paire de ports série pontés. par ex. COM9/COM10

2.Exécutez rigctlcom pour vous connecter à FLRig (ou rigctld) et à l'un des ports COM virtuels... par exemple. COM9 rigctlcom -m 4 -r 127.0.0.1:12345 -R COM9 -S 115200

3.Exécutez votre autre programme, par ex. N1MM et connectez-le à l'autre port COM... par exemple. COM10 en tant que TS-2000 8-N-1 115 200 bauds

4.Si vous souhaitez exécuter plusieurs programmes via les ports COM, vous aurez besoin d'une autre instance de rigctlcom pour chaque application nécessitant un port COM.

de Mike W9MDB

Sous Linux, la création et la liaison de ports COM virtuels sont possibles à partir de la ligne de commande à l'aide de la commande socat

Exemple :

socat PTY,link=/dev/ttyS10 PTY,link=/dev/ttyS11

Source:https://stackoverflow.com/questions/52187/virtual-serial-port-for-linux



Publications connexes