問題タブ [virtual-serial-port]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - PXA168 を使用した CDC デバイスとしての LPC17xx
Linux を実行している PXA168 に接続された CDC デバイスとして LPC1768 を使用しています。LPC 側にはドライバーがいます。また、usb-serial および cdc-acm ドライブ用の PXA Linux ドライバーを有効にしました。ボードを起動すると、次のようになります。
現在、私の LPC はドライバーを検出しません。この LPC は、Windows を搭載した PC に接続する場合は正常に動作しますが、Linux PC に接続すると実行されません。
Linuxのドライバーと、仮想シリアルポートにアクセスするために使用されるインターフェイスを理解するのを手伝ってくれる人はいますか?
.net - VB.Net SerialPortの読み取りは、断片化されたデータのセットを返します
問題
Windowsで仮想シリアルポートを作成するUSBデバイスがあります。ポートからの書き込みと読み取りにVB.Netを使用しています。私のデバイスは特定のサイズのバイトセットで応答しますが、SerialPort.Read(byte-array、offset、number-bytes)は完全なnumber-bytesを返さないが、タイムアウトしたり例外を生成したりしないことがわかりました。繰り返される呼び出しは、追加のフラグメントを返します(最大3つの呼び出しが必要です)。この読み取りメソッドがなぜそのように動作するのかわかりませんか?要求されたバイト数は単なる提案だと思いますか?:-)。最初にタイムアウトしない限り、リクエスト全体が実行されるのを待つと思います。
pySerialを使用するPythonコードには、同じ問題はありません。
だから、私はここで何が間違っているのですか?期待しすぎですか?
いくつかのシナリオは次のとおりです。
- ポートにコマンドを記述し、応答で4バイトを取得することを期待しています。最初に1バイトを取得し、次の呼び出しで3バイトを取得します。
- 私はコマンドを書き、それに応じて21120バイトを期待しています。ポートから読み取るための3回の呼び出しで1、12671、次に8448バイトを取得します。
これが私のコードからの抜粋です:
ありがとうございました。
c# - ubuntu linux の仮想 socat シリアル ポートと c#
テスト目的で、socat で作成された仮想シリアル ポートに接続する簡単なプログラムを作成しようとしています。
次のコマンドでシリアル ポートを作成します。
この出力を得る:
この方法で接続しようとすると:
「ファイル名不明」が出System.IO.IOException
ます。
DataBits、StopBits、またはその他のパラメーターを設定していませんか? socat によって設定されたプロパティを見つけるにはどうすればよいですか? または、このコードの何が問題になっていますか?
python - デバイス通信を作成するための Linux 仮想シリアル ポート
以下のコマンドで SOCAT を使用して VSP を作成しました。
ここで、シリアル デバイス (19200,N,8,1) を作成し、Python を使用してデータを送受信できました。
したがって、(19200,even_aprity,Python のハードウェア フロー) の構成を持つもう 1 つのデバイスに対して同じことを行う必要があります。これを行うと、以下のエラーがスローされます。
教えて
.net - SerialPort スニッフィング
USB経由でPCに接続するデバイスがあり、ドライバーとソフトウェアによって仮想シリアルポートにマップされ、そのシリアルポートに接続してデバイスを管理できます。デバイスとの接続に使用するプロトコル ソフトウェアがわかりません。デバイスとソフトウェア間の通信を調べることでプロトコルを理解できましたが、シリアルポートの問題は、ソフトウェアがシリアルポートに接続すると、他のソフトウェアもそのポートに接続できる方法がないということです(もちろん意味があります)。
だから私は、次のことを行うソフトウェアを書くことができると思いました:
- デバイスが存在する仮想シリアル ポートに接続します
- ソフトウェアが接続する仮想シリアル ポートを作成します。
- 最初のポートから2番目のポートへ、またはその逆にすべてを内部的に転送しますが、このすべての情報をダンプファイルに記録します
ここでの私の質問は、.NET を使用して仮想シリアル ポートを作成することは可能ですか? いいえと聞いたのですが、どうにかしてドライバーか何かを作成する必要があり、それにはカーネルレベルのプログラミングが必要なので、そうですか? それでも、ブリッジソフトウェアなしでデバイスとソフトウェア間の通信を観察できる方法はありますか?
前もって感謝します!アーロン
visual-studio-2010 - C# を使用した Visual Studio 2010 Ultimate の Bluetooth アプリケーション
32feet.NET ライブラリに関する多くのリンクを見てきました。これを C# で使用する方法を知る必要があります。ほとんどすべてが Visual Basic を使用していますが、私はその言語にあまり慣れていません。私はそれをC#で行うことを好みます。追加情報として、アプリケーションはシリアル インターフェイスと同様のデータを送信します。これは、バイトで応答するデバイスにバイトを送信することを意味します。組み込みの bluetooth を使用しようとしていますが、それに関連付けられているポートが見つからず、オンラインで他の例を使用して検出することもできません。Power Shell の例も試しました。
vb.net - FTDI USB チップを駆動する仮想 com ポートを使用している間、VB.net のシリアル ポート経由でデータを受信できない
私のセットアップ:
- USBを使用してPCに接続されたFTDI FT2232Dチップを使用するハードウェアデバイス。
- USB経由で接続されたFTDIチップをWindowsのCOMポートとして表示するVCP(仮想COMポート)ドライバーをインストールしました。
- シンプルな VB.net プログラムを使用して COM ポートを読み取っています。
行動:
realterm を使用して COM ポート経由でデバイスにデータを送信すると、デバイスは常に正常に応答します。
VB.net テスト プログラムを使用してから realterm を使用すると、tx は機能しますが、realterm は応答を受け取りません。
USBを取り外し、再接続してからコマンドを再送信することで、realtermにデータを再度受信させることができます。
vb.net プログラムを使用している場合、USB を取り外して再接続しても問題は解決しません。私の vb.net プログラムは時々動作しますが、常に動作するとは限りません。
私のプログラムの何かが原因で com ポートが壊れているようです。それを修正する唯一の方法は、USB ケーブルを抜いて再度差し込むことです。
私のコードは次のようになります。
linux - Linuxでデータを実際のデバイスにプロキシする仮想IOデバイスを作成するにはどうすればよいですか?
興味深い問題があります。私は、それぞれがARMプロセッサ上で実行されているLinuxの複数のインスタンスを備えた組み込みボックスに取り組んでいます。それらは内部1GBpsネットワークを介して接続されています。プロセッサAに接続されたシリアルポートデバイスノードがあります(Linux-Aが実行されているとします)。プロセッサB(Linux-Bで言う)で実行されているプログラムが、ローカルでLinux-Bに接続されているかのようにシリアルポートデバイスにアクセスしています。
私のプログラムは、デバイスノードで用語i / oタイプのAPI呼び出しを呼び出して、ttyエコー、文字モード入力を制御します。私が疑問に思っているのは、Linux-Bで利用可能な仮想シリアルデバイスを作成して、内部ネットワークを介してLinux-Aの実際のシリアルデバイスと通信する方法があるかどうかです。
Linux-Bには/dev/ttyvirtualがあります。書き込まれたものはすべて、ネットワークソケットを介してLinux-Aシリアルサーバーに転送されます。シリアルサーバーは、実際のデバイスでapi呼び出しを実行します。たとえば/ dev/ttys0とします。ttys0で待機しているデータはすべて、/ dev/ttyvirtualに転送されます。
これを迅速に行うために必要なすべてのものは何ですか?
ありがとう
Videoguy
更新:
http: //fixunix.com/bsd/261068-network-socket-serial-port-question.htmlで、すばらしいポインターに関するディスカッションを見つけました。
もう1つの便利なリンクはhttp://blog.philippklaus.de/2011/08/make-rs232-serial-devices-accessible-via-ethernet/です。
c# - C# SerialPort#Open() メソッドは、ポート名のために ArgumentException をスローしますか?
私のローカルマシンでは、
- Windows XP
- ポート (COM & LPT)
- COM3
- RIM 仮想シリアル ポート v2 (COM4)
- RIM 仮想シリアル ポート v2 (COM5)
次のコード、
以下をスローしますArgumentException
。
あれは、
指定されたポート名が COM/com で始まっていないか、有効なシリアル ポートに解決されません。
なぜこれが起こっているのか誰にも分かりますか?
virtual-serial-port - Socat 仮想シリアル ポートが認識されない
私は socat を使用して、いくつかの仮想シリアル ポートを作成しています。1 つは単純な C プログラム (termios を使用) で接続し、もう 1 つは Ardupilot Mega Planner (RC 用) というプログラムを使用して接続したいと考えています。ただし、Planner は仮想ポート (/dev/pts の下にリストされている) を認識せず、tty デバイスと /dev/serial デバイスのみを認識します。これを機能させるには、ある種の特別なマウントを行う必要がありますか? または、私が試すことができる回避策はありますか?既存のシリアルポート (ttyS0 など) を「リンク」しようとしましたが、そのようなもの (仮想ポートから実ポート、実ポートから実ポート) を試みると、「不適切な ioctl」エラーが発生します。何か案は?
編集: プログラム (Mission Planner) のソース コードを表示すると、すべての /dev/ttyS* デバイス、/dev/serial/by-id/* デバイスのみを「認識」(またはポートを追加) しているようです。デバイス、/dev/USB0、および /dev/ACM0。そのため、ソース コードを編集するか、ttyS* ポートを「検証」する方法を見つける必要があります。Mission Planner は、S1 または S0 以外の ttyS* デバイスには接続しないようです。何か案は?どういうわけか、それらが正しく構成されていないためだと感じています。
編集 2: ようやく ArdupilotMega Planner のソース コードを入手し、/dev/pts/ のデバイスが含まれるように変更しました。しかし、私はまだ同じ問題を抱えています。Planner がポートを開くと、何らかの問題が発生します。プログラムが接続できるようにするために、すぐに確認/変更する必要がある設定はありますか? 研究に行き、シリアルポート通信をより完全に理解しようとしています...