Ich habe ein Programm, mit Pyserial, und ich möchte es testen, ohne eine echte serielle Schnittstelle zu verwenden.Wie benutzt man/dev/ptmx um einen virtuellen seriellen Port zu erstellen?
In Windows verwende ich com0com, und in Linux, ich weiß, es gibt eine Methode, um virtuelle serielle Schnittstelle ohne zusätzliches Programm zu erstellen.
Also schaue ich das Handbuch nach, und finde pts,/dev/ptmx, aber ich weiß nicht, wie man ein Paar erstellt, indem ich dem Handbuch folge, kann mir jemand ein Beispiel geben?
Ich habe versucht (in Python):
f = open("/dev/ptmx", "r")
und es funktioniert,/dev/pts/4 erstellt wird.
und ich versuchte:
f = open("/dev/4", "w")
und das Ergebnis ist:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 5] Input/output error: '/dev/pts/4'
edit: fand ich eine Lösung (workround), socat verwenden.
dann COM8 COM9 als virtuelle serielle Schnittstelle erstellt werden.
gibt es ein Beispiel? C/python/C++? – linjunhalida
Ich fand ein langes C-Beispiel, http://www.developerweb.net/forum/showthread.php?t=5623, aber keine Python-Beispiele. –
Python-Beispiele sind im 'pty'-Modul versteckt, obwohl es' os.openpty' bequem erlaubt, die eigentliche Arbeit zu machen, wenn es möglich ist :) –