15
Mai
2020
Verwaltung eines Transceivers unter Linux
14:44

Verwaltung eines Transceivers unter Linux

Die Nutzung einer Amateurfunkstation ohne Computer ist nahezu undenkbar – selbst SSB- und CW-Kontakte erfordern eine Eintragung in ein Funkprotokoll. Linux entwickelt aktiv die Funksteuerung mithilfe eines Computers. In diesem Übersichtsartikel geht es um Schnittstellen und Programme für die Arbeit als Transceiver (Transceiver) unter Linux.

Fast alle modernen Amateurfunkprogramme für einen Computer benötigen eine Schnittstelle zur Steuerung eines Transceivers (im Amateurfunkjargon wird eine Funkanlage, die einen Empfänger und einen Sender kombiniert, als „Transceiver“ bezeichnet) über einen COM-Port, physisch oder virtuell. Alle modernen Transceiver verfügen über einen seriellen Anschluss zur Steuerung über CAT-Befehle (und nicht nur zum Umschalten zum Senden/Empfangen (EIN/AUS) mit +5 Volt). Mit Befehlen und Anfragen vom Computer im Transceiver können Sie Einstellungen lesen oder schreiben, auf Senden oder Empfangen umschalten:
*VFO-Frequenz*(Oszillator mit variabler Frequenz) – Frequenz eines Generators mit variabler Frequenz beim manuellen Einstellen eines Radiosenders
Übertragungsmodus(AM/FM/USB/LSB/PKT/DIGI)
Getriebesteuerung— Drücken der PTT-Taste mit einem Befehl über die CAT-Schnittstelle.
Aktivieren von ATT (Abschwächer)- um einen zu hohen Signalpegel von der Antenne zu reduzieren, bevor er in den Empfängereingang eingespeist wird.
Filter einrichten- zur Verbesserung der Empfangsverständlichkeit unter schwierigen Bedingungen.
Wählen Sie VFO A oder VFO B**- Wahl des Empfängers, was beim „Split“-Betrieb sinnvoll sein kann, also wenn Empfangs- und Sendefrequenz nicht übereinstimmen. Nützlich für die Arbeit mit Fernkorrespondenten (DX), die auf einer Frequenz anrufen und von vielen Stationen im Bereich 0...+5 kHz mit CW beantwortet werden.

БибBibliothek, oder vielmehr eine ganze Softwareplattform oder ein Framework,HamLib kann nicht nur einen, sondern mehrere Transceiver steuern (sofern der Funkamateur über solche verfügt) – in einigen Programmen besteht beispielsweise die Wahl zwischen Radio1 und Radio2. Radio1 ist beispielsweise für Kurzwellen mit 1,9/3,5/7/10/14/18/21/24,9/28 MHz und Radio2 für 144/433/1296 MHz. Jedes Funkgerät verfügt wiederum über zwei Glattbandgeneratoren VFO1 und VFO2, bei Betrieb im Split-Modus oder über Satelliten (A/B). All dies wird von HamLib verwaltet.

Grig das Bild oben zeigt die Oberfläche des Grig-Programms zur Steuerung des Radiosenders. Verwendet Hamlib. Sie können die Frequenz durch direkte Eingabe mit der ENT-Taste oder mit der linken und rechten Maustaste ändern.

Laufgitter für Yaesu FT-857:

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

Schlüssel:

  • -r aus dem Wort rig gibt den seriellen Port an, an den der Transceiver angeschlossen ist,
  • -m aus dem Wort Modell – die Modellnummer des Radiosenders aus der Liste der unterstützten HamLib,
  • -s aus dem Wort speed – die Geschwindigkeit des seriellen Ports, an den der Transceiver angeschlossen ist.

Zusätzlich zu Transceivern kann HamLib mit rotierenden Gerätesteuerungen für UKW-Richtantennen (Rotatoren oder „Rotoren“) „kommunizieren“. Die Liste der von der HamLib-Bibliothek unterstützten Controller finden Sie auf der Seite https://github.com/Hamlib/Hamlib/wiki/Supported-Rotators

Warum wird RIGCTLD benötigt? Beim gleichzeitigen Ausführen mehrerer Programme (soundmodem, gpredict, wsjtx, xlog, fldigi), die CAT (Computer Aided Transmission) verwenden, entsteht ein Konflikt: Eines der Programme übernimmt die Kontrolle und belegt den COM-Port vollständig, der Rest funktioniert nicht mehr – entweder startet es nicht oder friert ein.

КонNatürlich können Sie die Programme einzeln verwenden: Führen Sie beispielsweise im exklusiven Modus wsjtx für FT8 aus, laden Sie dann das Protokoll von dort in eine ADIF-Datei hoch, schließen Sie wsjtx und führen Sie ein anderes Programm aus – das CQRLOG-Verbindungsprotokoll, und laden Sie ADIF hinein. Dann alles schließen, FLDIGI für PSK31 öffnen. :-)

Die Option mit digitalem VOX (Einschalten der Übertragung bei Auftreten eines Signals) ist nicht praktisch, da die Empfindlichkeitsstufe der Übertragung angepasst werden muss, die vom Pegel des Eingangssignals abhängt. Der zweite Nachteil von VOX besteht darin, dass im Sendeprogramm die Angabe von Frequenz, Modulationsart und sogar Reichweite verloren geht, was möglicherweise falsch im Kontaktprotokoll aufgezeichnet wird.

Daher werden HamLib und RIGCTLD benötigt und sollten zusammenarbeiten.

  • HamLib – Bibliothek mit umfangreiche Modellliste unterstützte Radiosender – 214 Modelle in Version 4.2, 264 Modelle in den Versionen 4.3 und 4.4 und 283 Modelle in Version 4.5, berücksichtigt das Befehlssystem für jeden Radiosender und konvertiert sie in die für Hamlib übernommene Standardform. Website: https://hamlib.github.io/
  • RigCtlD-Dienst, der Anfragen von mehreren Programmen an HamLib weiterleiten kann. RIGCTLD ist Netzwerkdienst(bietet die Möglichkeit, den Transceiver über TCP-IP sowohl auf einem Computer über localhost als auch auf verschiedenen PCs fernzusteuern).

Zusätzlich zu diesen beiden Programmen gibt es eine grafische Oberfläche zur Steuerung des Transceivers namens FLRIG (aus dem fldigi-Programmsatz). Sie können FLRIG so konfigurieren, dass der Transceiver über HamLib-Befehle gesteuert wird, und fldigi, um flrig zur Steuerung aufzurufen.

flrig

Kette:Funkamateur →PC→ fldigi → flrig → Hamlib → CAT-Schnittstelle → Transceiver →Antenne.
FLDIGI funktioniert hervorragend über FLRIG, WSJTX (bei Auswahl des „Flrig Flrig“-Transceivers) jedoch nicht so sehr.

Sie können auf der Seite überprüfen, ob Ihr Transceiver HamLib unterstützt https://github.com/Hamlib/Hamlib/wiki/Supported-Radios

Wie der Apache-Webserver und der GIMP-Grafikeditor existiert die HamLib-Bibliothek nicht nur für Linux, sondern auch für Windows.

Liste der Programme, die über HamLib auf Radiosender zugreifen können:

  1. FLDIGI (см. http://www.w1hkj.com/FldigiHelp/rig_config_page.html)
  2. WSJTX-Homepage https://physics.princeton.edu/pulsar/K1JT/wsjtx.html
    1. Gpredict (mit Einstellungsmenü Schnittstellen – Radios)
    2. RotCTL (aus dem gpredict-Paket im Menü „Schnittstellen – Rotatoren“)
    3. rotctld (TCP-Netzwerkdienst basierend auf RotCTL)
    4. rigctl (ein Dienstprogramm zur Steuerung von Transceivern über die Befehlszeile)
    5. rigctld (Netzwerkdienst zur Verwaltung von Transceivern über TCP-IP mit rigctl-Befehlssyntax)
    6. Rigmem (Sicherung und Wiederherstellung des Transceiver-Speichers)
  3. CQRLOG (тема https://forum.qrz.ru/33-apparatnye-zhurnaly/45242-cqrlog-dlya-linux.html)
    1. grig (grafische Oberfläche zur Steuerung des Transceivers mit Hamlib)
      11.QSSTV
      12.FreeDV

Der RIGCTLD-Dienst dient dazu, Anfragen von mehreren Programmen an HamLib zu bearbeiten, um Konflikte aufgrund der ausschließlichen Nutzung des COM-Ports zu vermeiden. Wir können sagen, dass RIGCTLD unter Linux ein Analogon zu OmniRIG unter Windows ist, jedoch mit einem Unterschied – es ist kein Programm, sondern ein Dienst (Daemon). RIGCTLD ist ein Netzwerkdienst, der über das TCP-Protokoll (Sockets) arbeitet.

Quelle:https://www.mankier.com/1/rigctld#Beschreibung

Liste der Programme, die mit rigctld über das TCP-IP-Protokoll arbeiten können

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

    1. gpredict (analog zu Orbitron, kann mit dem rigctld 4532-Port jedes PCs verbunden werden)
  2. rigctl-wsjtx (специальная версия rigctld сервера для WSJTX) https://www.mankier.com/1/rigctld-wsjtx

    1. WSJTX (bei Auswahl des „Netzwerk“-Radios „Hamlib Net rigctl“, siehe Punkt oben.
  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 der Programme, die mit Flrig kommunizieren können

  1. Fldigi (полная поддержка) http://www.w1hkj.com/
    1. WSJTX (teilweise Unterstützung bei der Auswahl eines Transceivers)Flrig Flrig" - PTT funktioniert nicht)

Installieren der HamLib-Bibliothek

НомDie neueste Hamlib-Version ist Version 3.1. Die Veröffentlichung von Hamlib Version 4 ist geplant, wurde aber (noch) nicht veröffentlicht und es gibt nichts zu besprechen.

Aus den Linux Mint/Debian/Ubuntu-Repositorys können Sie installieren
libhamlib2 und libhamlib-utils neueste Version 3.1-7build1,
daher besteht keine Notwendigkeit, externe Repositorys oder Git zu verwenden.
alles ist wie gewohnt installiert:

sudo apt-get install libhamlib2 libhamlib-utils

oder einfach:

sudo apt-get install libhamlib-utils

(wird libhamlib2 über Abhängigkeiten installieren).


Befehl zum Überprüfen der Verbindung zum Transceiver mithilfe von HamLib

rigctl -r /dev/ttyUSB0 -m 122

wo:

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

Installation von rigctld

su -
apt install libhamlib-utils

Alle Dateien in einem Paket auflisten:

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
...

Das Programm wird im Verzeichnis installiert /usr/bin/rigctld

Der rigctld-Dienst wird über die Befehlszeile mit Parametern gestartet.

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]]

(siehe unten für Anwendungsbeispiel)


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

Befehl, um mit rigctl die Verbindung zum Transceiver mittels RigCTLD zu prüfen
(Quelle http://vk4tmz.blogspot.com/2018/07/gpredict-radio-control-ft991a-via.html)

rigctl -m 2 -r localhost:4532 m

wobei -m 2 der numerische Code des Transceiver-Modells ist, wenn über HamLib gearbeitet wird,
-r localhost:4532 – Verbindung zum RigCTLD-Dienst auf dem lokalen PC herstellen, Standardport 4532
m – Befehl zum Lesen der VFO-Frequenz (get_mode).

Baudrate, Transceiver-Modell und andere Parameter werden weggelassen. weil die Verbindung über rigctld erfolgt, in dem es konfiguriert ist.

Zuvor müssen Sie den rigctld-Daemon auf dem Localhost-Computer installieren und konfigurieren.

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" 

Die RIGCTLD-Parameter müssen sowohl in Windows- als auch in Linux-Versionen wie im Beispiel in der Startzeile übergeben werden. Wenn ein Fehler vorliegt, beispielsweise ein nicht vorhandener Transceiver Modell 135, wird eine Fehlermeldung angezeigt. Um die Einstellungen anzuzeigen, rufen Sie den Dienst mit dem Schalter -L auf.

Analog RIGCTLD = RIGCTLCOM

Es wird ein Programm aufgerufen, das RIGCTLD ersetzt und mehrere Verbindungen zum Transceiver verschiedener Programme ermöglicht RIGCTLCOM. Gepostet von Mike W9MDB

Dieses Programm wird für Programme benötigt, die nichts von der Existenz von rigctld oder FLRig wissen, zum Beispiel MMTTY oder andere Programme von Windows, die sogar über Wine gestartet werden können.

RIGCTLCOM emuliert den Kenwood TS-2000 Transceiver:

Es handelt sich um einen TS-2000-Emulator, der es Programmen ermöglicht, die FLRig oder rigctld nicht kennen, mit diesen beiden Programmen zu kommunizieren.

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

Dadurch können Sie beispielsweise N1MM und WSJT-X ausführen und dabei über FLRig oder rigctld auf Ihr Rig zugreifen.

Sollte auch mit MMTTY oder einem anderen solchen Programm funktionieren.

Funktioniert noch nicht ganz mit WSJT-X, aber WSJT-X kann eine Verbindung zu rigctld oder flrig herstellen, sodass es dort nicht wirklich benötigt wird.

Sie müssen WSJT-X installieren, falls Sie es noch nicht haben. Und wenn Sie FLRig verwenden, können problemlos mehrere Programme eine Verbindung zu Ihrem Rig herstellen, also installieren Sie es auch.

Es ermöglicht auch mehrere Verbindungen mit rigctld als primärem Rig, wenn Sie diesen Weg gehen möchten.

1.Erstellen Sie ein überbrücktes serielles Portpaar. z.B. COM9/COM10

2.Führen Sie rigctlcom aus, um eine Verbindung zu FLRig (oder rigctld) und einem der virtuellen COM-Ports herzustellen ... z. B. COM9 rigctlcom -m 4 -r 127.0.0.1:12345 -R COM9 -S 115200

3.Führen Sie Ihr anderes Programm aus, z.B. N1MM und verbinden Sie es mit dem anderen COM-Port...z.B. COM10 als TS-2000 8-N-1 115200baud

4.Wenn Sie mehrere Programme über COM-Ports ausführen möchten, benötigen Sie für jede App, die einen COM-Port benötigt, eine weitere Instanz von rigctlcom.

de Mike W9MDB

Unter Linux ist das Erstellen und Binden virtueller COM-Ports über die Befehlszeile mit dem Befehl möglich sokat

Beispiel:

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

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



Verwandte Veröffentlichungen