WSLでシリアル通信をする
windows10のFall creators updateからWSLからCOMポートのデバイスとシリアル通信ができるようになった。
Serial Support on the Windows Subsystem for Linux – Windows Subsystem for Linux
と言ってもあまり解説記事がないので試してみる。
WSLでのシリアル通信方法
WindowsのCOM Portは1~256まであるが、Linuxのシリアルデバイスは /dev/
以下のの任意の名前で管理されるため /dev/ttyS*
の1~191でマッピングしているとのこと。
即ちデバイスのポートが COM1
の時、WSLでは /dev/ttyS1
になる。
用意するもの
- Windows10 v1709が入ったPC
- シリアル通信するデバイス
今回は研究室に落ちていたLPC1768を使用する。*1
入っているプログラムの仕様は把握していないが、 Nothing worked...
と配信されているのは確認している。
ちなみにwindowsにmbedのシリアルドライバーは既に導入済み。
接続ポートの確認
lpc1768がどのポートに接続しているか確認する。 デバイスマネージャーからポートの項目を参照。
WSLの設定
WSLを起動し、接続する /dev/ttyS3
のアクセス権限を変更する。
sudo chmod 666 /dev/ttyS3
シリアル通信の表示
次にscreenで /dev/ttyS3
に接続する。
screen /dev/ttyS3
するとターミナルにlpc1768から流れてくるメッセージが表示される。
結構簡単だった。
*1:LPC1768以外でもできると思う。ラズパイとかのほうが手軽に試せるんじゃないかな