virtuellen seriellen Port mit dem Pi realisieren

  • Hallo zusammen,


    ausgehend von der Frage, ob eine alte Telefonanlage mit seriellem Anschluss mit einem Windows PC (Windows 10) übers Netz zu programmieren ist, habe ich festgestellt, dass sich dies wesentlich leichter als gedacht realisieren lässt. Das Beispiel ist sicher auf weitere Geräte anwendbar.


    Verwendet habe ich:


    • Raspberry Pi 3 (prinzipiell sollte jedes Modell funktionieren) mit aktuellem Raspbian Stretch (Stand: 11.10.2017)
    • USB-seriell Adapter (sollte zweckmäßigerweise von Raspbian erkannt werden)
    • ser2net (Package: ser2net Version: 2.10.1-1) als Server
    • die Freeware für Windows HW Virtual Serial Port 3.1.2  zur Erstellung eines virtuellen COM-Ports


    Vorgehensweise:


    1. Raspbian aktualisieren

    Code
    1. sudo apt update && sudo apt upgrade

    2. ser2net installieren

    Code
    1. sudo apt install ser2net

    3. folgendes auf der Kommandozeile eingeben und dann den Adapter anschließen, um zu sehen, ob er korrekt erkannt und als Schnittstelle eingebunden wird

    Code
    1. tail -f /var/log/messages

    Die Ausgabe sieht bei meinem System so aus. In der dritten Zeile von unten ist erkennbar, dass der Adapter als ttyUSB0 verbunden wurde und sich dann als /dev/ttyUSB0 ansprechen lassen sollte. Diese Angabe wird zur Konfiguration benötigt.

    4. Die Konfiguration von ser2net erfolgt in diesem Fall mit dem Editor nano in der Datei "/etc/ser2net.conf ". Im aktuellen Fall ist eine Standardkonfiguration bereits hinterlegt. Diese folgt im Anschluss an die Kommentare in der Datei.

    Code
    1. sudo nano /etc/ser2net.conf


    Die erste Zeile wird mit den vorhandenen Daten angepasst. Die einzelnen Optionen sind mit Doppelpunkt abgegrenzt. Lediglich device (/dev/ttyUSB0) und die Datenrate bei options habe ich verändert. Der TCP-Port ist wichtig für die Verbindung im Netz und kann ebenfalls nach eigenen Bedürfnissen eingetragen werden. Nähere Erklärungen findet man entweder in der Konfigurationsdatei selbst bzw. der manpage ("man ser2net"). Die restlichen Konfigurationszeilen habe ich mit Kommentarzeichen (#) versehen.


    Erklärung: TCP-Port:state:timeout:device:options

    Code
    1. 2000:telnet:600:/dev/ttyUSB0:38400 8DATABITS NONE 1STOPBIT banner


    5. die neue Konfiguration wird aktiviert mit

    Code
    1. sudo service ser2net restart

    6. HW Virtual Serial Driver von hier laden und auf dem Windows PC installieren. Bei der Installation kann entweder die Standalone Version (das Programm läuft mit einem angemeldeten Nutzer) oder die Client/Server Version (Programm läuft als Dienst) ausgewählt werden. Im folgenden nutze ich die Standalone - Installation.


    7. Konfiguration


    - das Programm HW Virtual Serial Port starten

    forum-raspberrypi.de/attachment/14319/


    - im Reiter Virtual Serial Port werden die Einstellungen von ser2net eingetragen


    Port Name: der (virtuelle COM-Port, der später auf dem Windows PC erstellt werden soll)

    IP Adress: die IP-Adresse des Pi, auf dem ser2net läuft

    Port: der in der ser2net.conf definierte TCP-Port (in diesem Fall ist das die Nummer 2000)


    - ein Klick auf startet die Erstellung des virtuellen COM-Ports und nach einer kleinen Weile sollte der Status auf connected wechseln und das System ist bereit



    Der eingestellte virtuelle Port kann jetzt verwendet werden, z.B. in der Software zur Telefonanlage. Die zum Test verwendete Anlage AGFEO AC14 mit der Software TK-Suite Server Version 3.3.20 (letztes Update 2007) funktionierten im Test unter Windows 10 einwandfrei.


    Gruß, STF