2016-07-18 19 views
10

コンピュータのシリアルポートから読み取り、ファイルに書き込めるようにします。私のUSBシリアルポート(私はtty、tty0、tty1を持っていて、それはtty用です)を見つけることができません。Windows 10でBashを使用してシリアルポートを検索する際に問題が発生する

他の場所に配置されているのですか、またはBashシェルからアクセスできるのでしょうか?私はこの時点でアクセスする方法を知りたいだけです。

私のUSBを接続すると、デバイスマネージャでCOM4がポートの下に表示されます。また、Windowsのコマンドプロンプトで "wmic path Win32_SerialPort"コマンドを実行し、 "No Instance(s)Available"と表示しました。だから私はシリアルポートをどのように見ることができるのか、なぜ特定のインスタンスに表示されないのか、非常に混乱しています。

シリアルポートがどのように動作するかについての明確な説明は、特にusbの場合、私がこのようなものでかなり新しいので、非常に感謝します。ありがとう!

+0

「com1」を試してみてください。ウィンドウには、 "con"、 "com1"、 "nul"などの古いDOSベースの古い "デバイス"ファイル名が残っています。 –

+1

これは、DOSベースのレガシーデバイス名とは関係のない質問です。問題はWindows 10のBashシェルでシリアルデバイスにアクセスしていることです。同じ問題がCOM4であるはずのftdiチップにアクセスしようとしています –

+0

@DanGriffinとまったく同じ問題があり、txとrxのシリアルデータが大好きですWSL上のFTDIデバイス。私が今までに見つけたものはすべてAUより前のものですが、これはまだサポートされていないと言われています:( – Toby

答えて

4

私は同じ問題があります。どうやら、Windows上でUbuntuのBashでシリアルポートを使用することはできません(BoUoW)。 socatを使用して基本的な読み書き操作を行うことができます。 Cygwinを使って私のシリアルポートを見るsocatサーバを作りました。私はDTRとRTSのピンに問題がありました。

socatを使用すると、仮想シリアルポートを作成したり、TCP経由でシリアルポートを転送することができます。 (その他)

Cygwinシリアルポートでは、シリアルポートは/ dev/ttyS *の下に表示されます。 たとえば、COM3は/ dev/ttyS2で、COM4は/ dev/ttyS3です。

が接続されて/ tmpに/ vmodem0でBoUoWで仮想シリアルポートを作成します

socat PTY,link=/tmp/vmodem0 TCP:localhost:2022 

これで

socat -d -d -d TCP4-LISTEN:2022,reuseaddr,fork /dev/ttyS3

スタートBoUoW上のクライアントとのCygwinでサーバを起動

あなたのマシン上のCOM4。

+0

私はCOM4が/ dev/ttyS3にマップされ、COMxが/ dev/ttySxにマップされ、私の頭を傷つけていると思う部分をスキミングしました。非直感的なマッピング名を使用してください! –

3

すぐに、Windowsは正式にWindows Subsystem for Linux(WSL)でシリアルをサポートします。

COM1 >> /dev/ttyS0 
COM2 >> /dev/ttyS1 
... 
COM192 >> /dev/ttyS191 

良い機能の説明はここで見つけることができます:

https://blogs.msdn.microsoft.com/wsl/2017/04/14/serial-support-on-the-windows-subsystem-for-linux/

注:この機能を書いている時点でCOM_n_ポートは/dev/ttyS_n_

マッピングで利用できるようになりますインサイダービルドでのみ利用可能です。

関連する問題