Ich versuche, ein Paar virtueller serieller Ports auf meinem Mac zu erstellen. Dies ist mit vielen Shareware-Programmen auf einem PC ziemlich einfach. Ich dachte, es würde einen übermächtigen Shell-Befehl geben, um dies in einer Zeile zu tun, aber ich kann ihn nicht finden.
Ich möchte NMEA-Daten an einen Port senden und Google Earth die Daten aus dem anderen auslesen lassen.
Irgendwelche Tipps?
BEARBEITEN
MrDaniels /dev/ptypx
Kommentar schien interessant zu sein - ich kann ihn /dev/ttypx
im Terminal ganz gut herausholen .
Aber Google Earth scheint cu zu lesen. Gerätename anstelle der / ttypx- Geräte.
speziell (Old Pro):
Wenn Sie versuchen, den aktuellen Standort mithilfe eines GPS (oder eines NMEA-Streams, der über unsere virtuelle serielle Schnittstelle geleitet wird) zu importieren, gehen Sie zu: Extras> GPS> Echtzeit, um zum Importbildschirm zu gelangen.
Nachdem Sie die NMEA-Option ausgewählt und die Echtzeitverfolgung aktiviert haben, sucht sie nach verbundenen Geräten und scheint Folgendes zu sehen:
- USB:
- /dev/cu.Bluetooth-PDA-Sync
- /dev/cu.Bluetooth-Modem
- /dev/cu.iPhone-WirelessAP
Selbst wenn unsere serielle ttypx-Schnittstelle in Ordnung ist, sucht sie nicht danach.
Ich möchte die Daten von diesem Gerät in Google Earth übertragen.
quelle
Antworten:
Google hat ein äußerst nützliches Tool für Arduino-Entwickler und simuliert zu Testzwecken sehr gut serielle Schnittstellen unter OS X. Es funktioniert nur bis 10.6
https://github.com/clokey/PublicCode/tree/master/MacOSXVirtualSerialPort
(zuvor verfügbar unter http://code.google.com/p/macosxvirtualserialport/ )
Könnte Ihnen das helfen?
quelle
Ich denke, was Sie suchen, ist ein Pseudo-Terminal, wie in Text-Terminal-HOWTO angegeben . Es sieht so aus, als ob Mac OS X eingebaut ist,
/dev
und es scheint, dass dies das tun kann, was Sie wollen, z. B. zwei Programme, die über ein " virtuelle "serielle Schnittstelle.Zusätzlich ist das Bildschirmprogramm auch für Sie nützlich.
quelle
Hier gibt es verschiedene Aspekte Ihrer Frage:
quelle
Es ist nicht klar, ob Sie die integrierte Erkennung der seriellen Schnittstelle vortäuschen können, aber ich würde mit einer Named Pipe (mkfifo) beginnen
/dev/cu.fake.ttypx
und einige Daten zum Lesen bereithalten , wenn Sie die Echtzeit aktivieren.Meine Kopie von Google Earth scheint jede potenzielle Quelle der Reihe nach abzufragen und führt weiterhin nur Scannen durch, da keine NMEA-Daten bereitgestellt werden.
Sie benötigen natürlich ein kleines [shell | perl | python]
/dev/ttypx
-Skript , um aus Ihrer "gefälschten" FIFO-Datei zu lesen und in diese zu schreiben.quelle
Es gibt ein Windows-Tool namens GooPs http://goopstechnologies.com/?page_id=12, das einige ähnliche Aufgaben erledigt.
Sie können auch eine Ortsmarke erstellen, die Koordinaten aus einer Datei liest und jede Sekunde aktualisiert.
/programming/7249565/how-to-properly-update-google-earth-kml-using-networklinkcontrol-and-the-java-ap
quelle
Ich habe ein Posix-Pseudoterminal verwendet, um einen virtuellen Kommunikationsport in ein OSX C-Programm zu erstellen. Sie können nach der Bibliotheksfunktion posix_openpt () suchen.
quelle