Pythonお試しの続きです。
開発環境が整ったところで、今回はシリアル通信の方法について調べました。これには「pySerial」というパッケージが必要で、コマンドプロンプトから
pip install pyserial
と入力するとPCにインストールされます。
なおPython用の各種パッケージは「https://pypi.org/」サイトで管理・配布されているようで、「pip install パッケージ名」を実行するとこのサイトからパッケージを探し自動でPCにインストールしてくれて大変便利です。画面上でpipの新バージョンのインストールを促されましたので、メッセージに従いpipをアップデートしました。
次に、仮想COMポート設定用のフリーソフト「com0com」をインストールしました。これは2つの仮想COMポートをクロスケーブルで接続したように見せる仕組みで仮想ループバックができるため、実際に外部デバイスを接続しなくてもPC内部で閉じた検証が可能となります。
更に、シリアル通信用ターミナルソフト「Tera Term」をインストールしました。VS CodeやTera Termの黒いターミナル画面を見ていると、昔PCからモデムに対してATコマンドを送ったときのことを思い出して懐かしい感じです。
これでPythonによるシリアル通信の実験準備は完了です。ブログ記事に載っていたサンプルプログラムを動かし、VS CodeとTera Termの間でメッセージの送受信ができることを確認しました。
(送信用サンプルプログラム)
これを実行するとTera Termのターミナル画面には「This is a COM test message.」と表示されました。
(受信用サンプルプログラム)
初めにVS Codeでこのプログラムを実行すると、0.1秒毎にデータを受信するループに入って受信待ちになり、Tera Termのターミナル画面から何か文字を入力するとその文字がVS Codeのターミナル画面に順次表示されます。そしてEnterを押すとプログラムは終了しました。
この様に少しずつではありますが、実際にプログラムを動かして結果を確認していくと仕組みが理解できて楽しいです。
次回は・・・実際にUSB経由で外部デバイスを制御してみたいと思います。