COMポートで生データをキャプチャする


11

Bluetooth送信デバイスがあり、PC(Windows 7)が接続され、RS232シリアルポート(COM4)を介して接続されているかのように構成されています。Bluetoothデバイスが送信した生データ、またはCOM4で受信した生データをキャプチャするにはどうすればよいですか?


私が知る限り、電子工学の質問ではありません。
Brian Carlton

5
実はこれが話題だと思います。COMポートからシリアルデータをキャプチャできるソフトウェア(一部は別のアプリケーションがポートを使用している場合でも)があり、ソフトウェアは実際には十分に専門化されているため、ほとんどの人はそれが存在することを知りません。欠点は、そのようなソフトウェアを探すのにしばらく時間をかけた後、ポストXPコンピュータで正常に機能するものが見つからなかったことです。
AndrejaKo 2012

このようなツールを探していますか?com0com.cvs.sourceforge.net/viewvc/com0com/hub4com/...
ケニー

回答:


9

標準のターミナルプログラムを使用して、さまざまな形式でデータをキャプチャできます。Brayのターミナルの使用をお勧めします。これは本当に簡単で、多くのオプションがあります。

または、何らかの独自のアプリケーションでデータをキャプチャして解釈したいですか?


ありがとうございました!私はデータの解釈を求めていません。必要なのは、生データを受け取ってファイルに保存できることだけです。私のBluetoothデバイスが実際に送信するものを見つけようとしています。ブレイのターミナルは私のためにそれをしますか?
user11395 '20

@ user11395-はい、まともな端末ソフトウェアでこれを実行します。私もBrayの端末を使用します-パテは別の良い端末です...ヒント-Brayの端末での接続に問題がある場合は、WindowsのBTモジュールのデバイスプロパティ(コントロールパネル-> Bluetoothデバイス、右クリックして「プロパティ」を選択し、SPPサービスの選択を解除して再選択します。
Oli Glaser

ありがとうオリ。ブレイズターミナルを実行していますが、何か問題があるようです。ポートを「再スキャン」し、ポートCOM4を見つけてCOM4に接続すると、キャプチャされているデータを確認できます。しかし、私はそれらが正しいとは思いません。ボーレート/データビット/パリティストップビット/ハンドシェイクの値を選択する必要があるかどうかがわかりません。助言がありますか?
user11395 2012

通常、モジュールは9600,1、N(1ストップビット、パリティなし)に設定されていますが、115200も一般的です(購入した場所のデフォルトが何であるかを示す場合があります)ハンドシェイクなしにも設定します。ATコマンドを使用してボーレートを設定できます(ワイヤレスリンクではなく、モジュールのRx / Txピンに直接接続する必要があります)これを試す前に、既知の文字を繰り返し送信し、最も遅いボーから始めて、上に向かって進みます-それらの1つは正しいデータを生成する必要があります。
Oli Glaser

私はなんとかブレイの端末でデータをキャプチャしました。Brayの端末で9600または115200のボーレートを選択しても、同じデータが得られます(これは正しいようです)。なぜ両方のオプションが同じ結果になるのですか?また、デバイスのボーレートが115200であることがわかりましたが、デバイスマネージャーで確認できる限り、このCOMポートは9600のボーレートに設定されています(おそらくデフォルトです)。変更する必要がありますか?
user11395 2012

2

私が見つけた最善の解決策は、少し粗雑ですが、Tera Term http://ttssh2.sourceforge.jp/index.html.enです。

Bray'sはWindows 8ではうまく機能しません。ソースなしでは正確に何をしているのかを知ることはできませんが、レジストリ設定の場所について何らかの仮定をしているようです。

Windows 8では、portmonも機能しませんでした。


私は最新バージョンのWin 10でBrayを使用しているので、少なくとも場合によってはまだ機能しています。コンピューターにCOM3のみがインストールされています。
クリスドラゴン

2

私が個人的に気に入っているデバッグ用のターミナルエミュレータはRealTermで、組み込みシステム用のさまざまな表示オプションがあります。RS-232とTCP / IPはどちらもWindows 7 x64以下で正常に動作します(私はWin 8で試したことはありませんが、動作しないと考える理由はありません)。特に便利だと思ういくつかの機能は次のとおりです。

  • データのASCII / HEXビュー
  • キャプチャファイルにはタイムスタンプを含めることができます
  • バイナリデータシーケンスを送信する簡単な方法があります。
  • ハードウェアフロー制御ピンは簡単に監視/変更できます

I2C、SPI、ダラス1線およびGPIBには、他にもかなりの数のオプションがあります。私はこれらの機能を個人的に使用したことはありませんが、上のSourceForgeページに良い要約があります。メインディスプレイのタブビューのスクリーンキャプチャは次のとおりです。

ここに画像の説明を入力してください


1

ブレイもお勧めします。ボーレートがわからない場合は、ハードウェアマネージャーを開いてCOMポートを参照し、プロパティを選択してください。常に正確とは限りませんが、そこにリストされています。


私はなんとかブレイの端末でデータをキャプチャしました。Brayの端末で9600または115200のボーレートを選択しても、同じデータが得られます(これは正しいようです)。なぜ両方のオプションが同じ結果になるのですか?また、デバイスのボーレートが115200であることがわかりましたが、デバイスマネージャーで確認できる限り、このCOMポートは9600のボーレートに設定されています(おそらくデフォルトです)。変更する必要がありますか?
user11395 2012

1

portmonがあります。COMポートのデータスコープとして機能するsysinternalsツールです。


1
私の経験では、x64 Windowsシステムでは機能しません。
JonCage 2016年

1

正確な要件によっては、データをキャプチャしてタイムスタンプを付け、PCに転送できるマイクロコントローラーを使用すると役立つ場合があります。典型的なPCで歴史的に見られたUARTは、バッファを介さずにプロセッサが各バイトを到着するときに、それを取得することによって正確なタイミング情報を記録するか、9ビットデータをキャプチャすることができました。それ以降のオペレーティングシステムとドライバーは通常、そのための機能を備えていません。そのため、UART-to-USBチップは絶望的です。PCが希望のデータレートの2倍の速度でデータを受信できる場合、マイクロコントローラーでデータのバイトを受信し、各バイトで2バイトを送信することができます。最初のバイトにはMSBが設定され、次のビットで着信データのMSB(9ビットの場合は2つのMSB)を報告します。下位5(または4)ビットを使用して、前のバイトのストップビットの中央からの時間(0〜30または0〜14)を報告します(たとえば、1ビット時間の単位で測定)。2番目のバイトはMSBをクリアし、残りの7ビットのデータを含みます。データが送信されていない場合、FFペーシング文字は30(または14)ビット時間ごとに送信されます。したがって、これらのレポートを受信するソフトウェアは、着信データの正確なタイミングを(1ビット時間以内に)非常に正確に再構築できます。PCへのデータレートが監視対象のデータレートの4倍である場合、この一般的なスキームを使用して、2つの受信チャネルを1つのPCポートに多重化できます(ヘッダーバイトのビットを使用して、最初または2番目のデータが含まれているかどうかを識別します港)。1ビット時間に正確なタイミングのタイミングは過剰に見えるかもしれませんが、それが役立つ場合もありますが、

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