Verwenden einer Named Pipe zum Simulieren eines seriellen Ports auf einer virtuellen VMware-Maschine (Linux-Host und -Client)
Versuch, ein Python-Programm zu schreiben, um einen simulierten Datenstrom zu erstellen und über eine Named Pipe zu einer virtuellen VMware-Maschine zu leiten. Auf dem Host werden Ubuntu 11.10 und VMware Player 5.0.0 ausgeführt. Auf der Vm läuft Ubuntu Netbook 10.04. Ich kann die Pipe auf der lokalen Maschine zum Laufen bringen, aber ich kann die Pipe nicht dazu bringen, Daten über den virtuellen seriellen Port an die Programme zu übergeben, die auf der virtuellen Maschine ausgeführt werden.
#!/usr/bin/python import os # # Create a named pipe that will be used as the serial port on a VMware virtual machine SerialPipe = '/tmp/gpsd2NMEA' try: os.unlink(SerialPipe) except: pass os.mkfifo(SerialPipe) # # Open the named pipe NMEApipe = os.open(SerialPipe, os.O_RDWR|os.O_NONBLOCK) # # Write a string to the named pipe NMEAtime = "235959" os.write(NMEApipe, str( '%s\n' % NMEAtime ))
- Testen Sie, ob das Python-Programm auf dem Host-Computer ausgeführt wird (zeigt 235959 an, wenn Daten die Pipe passieren).
$ cat / tmp / gpsd2NMEA
235959
- Serieller Port wie in der VMware-.vmx-Datei definiert:
serial0.present = "TRUE"
serial0.startConnected = "TRUE"
serial0.fileType = "pipe"
serial0.fileName = "/ tmp / gpsd2NMEA"
serial0.pipe.endPoint = "client"
serial0.autodetect = "FALSE"
serial0.tryNoRxLoss = "TRUE"
serial0.yieldOnMsrRead = "TRUE"
- Testen Sie, ob der serielle Port in der VM Daten empfängt
$ cat / dev / ttyS0
oder
$ minicom -D / dev / ttyS0
oder
$ stty -F / dev / ttyS0 cs8 -parenb -cstopb 115200
$ echo </ dev / ttyS0
- Keines davon zeigt Daten aus dem Python-Programm an.
0 Antworten auf die Frage
Verwandte Probleme
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
2
Welche (traditionellen) Modems funktionieren mit Windows Vista 64-Bit oder Windows 7 64-Bit?
-
2
Manuelles Einstellen der VMWare-Tastaturzuordnung
-
2
Sollte ich meine Ubuntu VM auf Virtual Box portieren?
-
2
Wie kann ich die VMware "Unidentified Networks" in Windows Vista und 7 loswerden?
-
3
Wie kann ich mit Python / AWK / SED ein Inhaltsverzeichnis für ein Markdown-Dokument erstellen?
-
1
So installieren Sie Markdowns Erweiterungen von Python
-
9
Ist Python nur für das Erstellen von Backends bei der Erstellung von Websites?
-
4
Um Python in einer HTML-Datei ähnlich wie PHP auszuführen
-
2
So installieren Sie Gaphor by Easy_install und seine Abhängigkeiten von MacPorts