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
2. ser2net installieren
3. folgendes auf der Kommandozeile eingeben und dann den Adapter anschließen, um zu sehen, ob er korrekt erkannt und als Schnittstelle eingebunden wird
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.
Display Spoiler
Oct 11 15:48:32 TestPi kernel: [ 504.881495] usb 1-1.4: new full-speed USB device number 5 using dwc_otg
Oct 11 15:48:32 TestPi kernel: [ 505.036908] usb 1-1.4: New USB device found, idVendor=0403, idProduct=6001
Oct 11 15:48:32 TestPi kernel: [ 505.036923] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Oct 11 15:48:32 TestPi kernel: [ 505.036931] usb 1-1.4: Product: USB-to-Serial
Oct 11 15:48:32 TestPi kernel: [ 505.036939] usb 1-1.4: Manufacturer: FTDI
Oct 11 15:48:32 TestPi kernel: [ 505.036947] usb 1-1.4: SerialNumber: FTDFEVI1
Oct 11 15:48:32 TestPi kernel: [ 505.043890] ftdi_sio 1-1.4:1.0: FTDI USB Serial Device converter detected
Oct 11 15:48:32 TestPi kernel: [ 505.044234] usb 1-1.4: Detected FT232BM
Oct 11 15:48:32 TestPi kernel: [ 505.046069] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB0
Oct 11 15:48:32 TestPi mtp-probe: checking bus 1, device 5: "/sys/devices/platform/soc/http://3f980000.usb/usb1/1-1/1-1.4"
Oct 11 15:48:32 TestPi mtp-probe: bus: 1, device: 5 was not an MTP device
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.
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
5. die neue Konfiguration wird aktiviert mit
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
- 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