仮想シリアルポートの作成


11

Macで仮想シリアルポートのペアを作成しようとしています。これは、PC上の多くのシェアウェアプログラムでかなり簡単に実行できます。これを1行で実行する超強力なシェルコマンドがあると考えましたが、見つかりません。

NMEAデータを1つのポートに送信し、Google Earthで他のポートからデータを読み取らせたい。

任意のヒント?

編集

MrDanielの/dev/ptypxコメントは面白そうだった-私は/dev/ttypxターミナルで問題なくそれを引き出すことができる。
しかし、 Google Earthはcuを読んでいるようです。/ ttypx デバイスの代わりにdeviceName ..

具体的には(古いプロ):

GPS(または仮想シリアルポートを介してパイプ処理されたNMEAストリーム)を使用して現在の場所をインポートしようとすると、[ツール]> [GPS]> [リアルタイム]に移動してインポート画面に移動します。
NMEAオプションを選択し、リアルタイム追跡を有効にすると、接続されているデバイスを探し、次のように見えます。

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

ttypxシリアルポートが正常に動作していても、それは検索されません。
そのデバイスからGoogle Earthにデータを取得したいと考えています。


1
+1、これもデバイス開発のために行いたいので。ServerFault、SuperUser、StackOverflowの場合もあります。
Max Ried

代わりにGoogle Latitudeの使用を検討しましたか?それが受け入れられない場合は、Google Earthが行っていることについて詳しく説明してください。
Old Pro

NMEAポートを通じて提供された偽のポジションを通じてGoogle Earthを制御することに成功しましたか?これがどのように機能するかに興味があります。
Max N

1
@MaxN-いいえ。私はあきらめました:(
DefenestrationDay

これは近いです(AppleScriptの):laclefyoshi.blogspot.com/2011/01/...
マックスN

回答:


9

GoogleにはArduino開発者にとって非常に便利なツールがあり、テスト目的でOS Xのシリアルポートを非常によくシミュレートします。10.6までしか機能しません

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

(以前はhttp://code.google.com/p/macosxvirtualserialport/から入手可能)

これはあなたを助けるでしょうか?


2
これを元に戻し、編集することを許してください。Googleの素晴らしい仮想シリアルポートソフトウェアを公開したことで、名誉を手に入れたいと思います。もちろん、再度削除することもできます。ご希望であれば、そのままにしておきます。
bmike

2
macosxvirtualserialportのcode.google.comサイトが404エラーを返すようになりました。
hotpaw2 2015

1
Googleプロジェクトは、現在Githubで利用できるようです:github.com/clokey/PublicCode/tree/master/…それは10.7までしか機能しません
Max N

5

あなたが探しているのは、Text-Terminal-HOWTOに記載されているように、疑似ターミナルであると思います。MacOS Xが組み込まれ/devているようで、たとえば、2つのプログラムが「仮想」シリアルポート。

疑似端末は、/ dev / ptyp3と/ dev / ttyp3などのデバイスのペアです。それらのいずれかに直接関連付けられている物理デバイスはなく、シリアルポートコネクタもありません。しかし、プログラムがttyp3をシリアルポートのように扱う場合、そのポートに対して読み書きされるものは、別のプログラムが読み取りと書き込みに使用するptyp3ペアの別のメンバーに現れます。したがって、2つのプログラムはこのメソッドを介して互いに通信し、ttyp3の1つのプログラムはシリアルポートと通信していると見なします。これは、これら2つのttyの間の「パイプ」のようなものです。

加えて、スクリーンプログラムはあなたにとっても便利です。


1

ここであなたの質問にはいくつかの角度があります:

  • NMEAトラックなどを、Google Earthが読み取り(および表示)できるものに変換しますか?GPSBabelは、これらの種類に最適なツールです。
  • GPSを接続し、シリアルポートを介してそのコンテンツを読み取りますか?Macにはシリアルポートがありません。シリアルデバイスをUSB経由で接続するには、Keyspan USA-19HSのようなものが必要です。
  • 好奇心から仮想シリアルデバイスを作成しますか?それは間違いなく可能ですが、私の知識を超えています...

1
オプション3. NMEAデータ(リアルタイム)があり、リアルタイムで表示したい。Google Earthはシリアルポートから読み取るので、ポートの設定方法を見つけて、ポートの1つにパイプするだけです。
DefenestrationDay

NMEAデータはどこから取得されますか?GPSBabelはリアルタイムコンバーターとして機能できます。gpsbabel.org/ htmldoc
1.4.2 / tracking.htmlを

iPhoneからストリーミングされます。私は何かに変換する必要はありません(特にkml)。nmeaデータを投入し、Google Earthでもう一方の端を吸い出すための仮想シリアルポートが必要です。
DefenestrationDay、

Keyspanを使用するたびに、耳を傾けて微笑みます。特に私の新しい11
インチエア

0

組み込みのシリアルポート検出を偽造できるかどうかは明らかではありませんが、名前付きパイプ(mkfifo)から始めて/dev/cu.fake.ttypx、リアルタイムを有効にするとデータを読み取る準備ができています。

私のGoogle Earthのコピーは、可能性のある各ソースを順番にポーリングしているように見え、NMEAデータが提供されていないため、スキャンし続けるだけです。

もちろん/dev/ttypx、「偽の」FIFOファイルを読み書きするには、小さな[shell | perl | python]スクリプトが必要です。



-1

私は、Posix疑似端末を使用して、OSX Cプログラムに仮想通信ポートを作成しました。posix_openpt()ライブラリ関数を検索する場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.