コンピューターのシリアルポートから読み取ってファイルに書き込むことができるようにしたいと考えています。/devの内部(Windows 10でBash Shellを使用)でUSBシリアルポートが見つからないようです(tty、tty0、tty1があり、ttyについてはこれで終わりです)。
それは別の場所にありますか、それともbashシェルからアクセスできますか?この時点でアクセスする方法を知りたいだけです。
デバイスマネージャで、USBを接続すると、COM4がポートの下に表示されます。また、Windowsコマンドプロンプトでwmic path Win32_SerialPort
コマンドを実行すると、「使用可能なインスタンスがありません」と表示されました。したがって、シリアルポートを表示する方法と、特定の状況でシリアルポートが表示されない理由について、私は非常に混乱しています。
シリアルポートがどのように機能するか、特にUSBでどのように機能するかを明確にしていただければ幸いです。
まもなく、WindowsはLinux用のWindowsサブシステム(WSL)でのシリアルを正式にサポートします。 COM_n_
ポートは/dev/ttyS_n_
で利用可能になります
マッピング:
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/
注:現時点では、この機能はインサイダービルドでのみ使用できます。
私は同じ問題を抱えています。どうやら、Windows(BoUoW)上のUbuntuのBashでシリアルポートを使用することはできません。 socatを使用して、基本的な読み取りおよび書き込み操作を実行できます。 Cygwinを使用して、シリアルポートを認識するsocatサーバーを作成しました。 DTRピンとRTSピンに問題がありました。
Socatを使用すると、仮想シリアルポートを作成したり、TCP経由でシリアルポートを転送したりできます。 (そしてはるかに。)
Cygwinでは、シリアルポートは/ dev /の下にttyS *としてリストされています。たとえば、COM3は/ dev/ttyS2で、COM4は/ dev/ttyS3です。
Cygwinでサーバーを起動します
socat -d -d -d TCP4-LISTEN:2022,reuseaddr,fork /dev/ttyS3
BoUoWでクライアントを起動します
socat PTY,link=/tmp/vmodem0 TCP:localhost:2022
これにより、BoUoWの/ tmp/vmodem0に、マシンのCOM4に接続された仮想シリアルポートが作成されます。