題:
創建虛擬串口
DefenestrationDay
2011-11-01 15:42:02 UTC
view on stackexchange narkive permalink

我正在嘗試在Mac上創建一對虛擬串行端口。使用PC上的許多共享軟件程序,這非常容易做到。我認為會有一些超級強大的shell命令可以在一行中執行此操作,但是我找不到它。

我想將NMEA數據發送到一個端口,並讓Google Earth讀取數據

有什麼建議嗎?

EDIT

MrDaniel的 / dev / ptypx 註釋似乎很有趣-我可以在終端中將其從 / dev / ttypx 中拉出來。
但是 Google Earth似乎是讀取cu。 deviceName ,而不是 / ttypx 設備。

專門(舊版):

當嘗試使用GPS(或通過虛擬串行端口通過管道傳輸的NMEA流)導入當前位置時,我們進入:工具> GPS>實時以進入導入屏幕。
選擇NMEA選項後,啟用實時跟踪,它會查找連接的設備,並且看起來在:

  • usb:
  • /dev/cu.Bluetooth-PDA-Sync
  • /dev/cu.Bluetooth-Modem
  • /dev/cu.iPhone-WirelessAP

即使是我們的ttypx串行端口運行正常,它不需要查找。
我想將數據從該設備導入Google Earth。

+1,因為我也想進行設備開發。也可能是ServerFault,SuperUser或StackOverflow。
您是否考慮過改用[Google谷歌縱橫](http://en.wikipedia.org/wiki/Google_Latitude)?如果不能接受,請提供有關Google Earth所做的更多詳細信息。
您是否已成功通過NMEA端口提供的虛假位置控制了Google地球?我會對這如何運作感興趣。
@MaxN-不。我放棄 :(
這很接近(AppleScript):http://laclefyoshi.blogspot.com/2011/01/controlling-google-earth-with.html
六 答案:
Raúl Pedroche
2012-06-04 17:42:40 UTC
view on stackexchange narkive permalink

Google為Arduino開發人員提供了一個非常有用的工具,它可以在OS X上很好地模擬串行端口以進行測試。它僅在10.6之前可用

https://github.com/clokey/PublicCode/tree/master/MacOSXVirtualSerialPort

(以前可從獲得) http://code.google.com/p/macosxvirtualserialport/

這對您有幫助嗎?

原諒我取消刪除它並對其進行編輯-我希望您因將google出色的虛擬串行端口軟件亮起而獲得榮譽。您當然可以再次將其刪除,如果您願意,我將不理會它。
該macosxvirtualserialport的code.google.com網站現在返回404錯誤。
Google項目現在似乎可以在Github上使用:https://github.com/clokey/PublicCode/tree/master/MacOSXVirtualSerialPort儘管它只能工作到10.7
MrDaniel
2012-05-04 02:25:19 UTC
view on stackexchange narkive permalink

我認為您正在尋找的是 Text-Terminal-HOWTO中所述的偽終端,看起來Mac OS X已內置在 / dev 中,並且看來這可以做你想做的事,例如兩個程序通過“虛擬”串行端口一起交談。

偽終端是成對的設備,例如/ dev / ptyp3和/ dev / ttyp3。沒有任何物理設備與它們中的任何一個直接相關,甚至沒有串行端口連接器。但是,如果程序將ttyp3當作一個串行端口來對待,則對該端口進行的讀取和寫入操作將出現在ptyp3對的另一個成員上,另一個程序用來對其進行讀寫。因此,兩個程序通過這種方法相互通信,而ttyp3上的一個程序認為它正在與串行端口通信。就像這兩個tty之間的“管道”。

另外, screen程序也可能對您有用。

nohillside
2011-11-01 22:56:52 UTC
view on stackexchange narkive permalink

這裡的問題涉及多個角度:

  • 您是否只想將NMEA軌道等轉換為Google Earth可以讀取(並顯示)的內容? GPSBabel是用於這類事情的首選工具。
  • 是否要連接GPS並通過串行端口讀取其內容? Mac沒有串行端口,您將需要諸如 Keyspan USA-19HS之類的東西,以便通過USB連接串行設備。
  • 您是否出於好奇而創建虛擬串行設備?這絕對有可能,但據我所知...
選項3。我有NMEA數據(實時),並想實時顯示。 Google地球從串行端口讀取數據,因此我只需要弄清楚如何設置端口並將其通過管道插入其中的一個即可。
NMEA數據來自哪裡? GPSBabel可以充當實時轉換器,請參見http://www.gpsbabel.org/htmldoc-1.4.2/tracking.html
它來自iPhone。我不需要轉換為任何東西(尤其是kml),我只需要一個虛擬串行端口即可將nmea數據放入其中,並通過Google Earth將其吸入另一端。
每當我使用我的[Keyspan](http://www.tripplite.com/en/products/model.cfm?txtModelID=3914)時,我都會笑嘻嘻。尤其是在我的新11英寸Air上-如此多的新老產品一起工作;-)
bmike
2012-06-05 03:58:42 UTC
view on stackexchange narkive permalink

目前尚不清楚您是否可以偽造內置的串行端口檢測,但我將從 /dev/cu.fake.ttypx 中的命名管道(mkfifo)開始並在啟用實時功能後準備好讀取一些數據。

我的Google Earth副本似乎正在按順序輪詢每個潛在的源,並且由於沒有提供NMEA數據,因此繼續執行掃描操作。

您當然需要一個小的[shell | perl | python]腳本來從 / dev / ttypx 讀取並寫入您的“偽造” fifo文件。

Max N
2016-05-16 11:33:55 UTC
view on stackexchange narkive permalink

有一個名為GooPs的Windows工具 http://goopstechnologies.com/?page_id=12可以處理一些類似的任務。

您還可以創建一個地標,以從文件中讀取坐標並每秒刷新一次。

https://stackoverflow.com/questions/7249565/how-to-properly-update-google-earth-kml-using-networklinkcontrol-and-the-java-ap

>
這如何解決問題中描述的問題?
Tom Dowad
2016-12-29 00:36:46 UTC
view on stackexchange narkive permalink

我已經使用Posix偽終端在OSX C程序中創建了一個虛擬通訊端口。您可能會搜索posix_openpt()庫函數。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...