組み込み開発のためのPython · レッスン 213 / 220
pySerialでUARTを確認する
シリアルポートを列挙し、設定・タイムアウト・閉じ方を明示した読取例を作ります。
PCからシリアル機器を操作するときは、ポート名や通信条件を明示し、待ち時間に上限を設けます。配線や電圧の安全確認は、ソフトウェアより先に行います。
接続前に物理条件を確認する
UARTではTXとRXを交差接続し、GNDを共通にします。信号電圧が接続先の許容範囲に入ることをデータシートと変換器の仕様で確認してください。RS-232電圧とTTL/CMOS UARTは異なる電気規格で、そのまま接続できるとは限りません。
タイムアウトと終了処理を設ける
pySerialを使う場合、ボーレート、データビット、パリティ、ストップビット、読取タイムアウトを機器仕様に合わせます。ポートを開いたままにせず、`with`文や明示的なcloseで解放します。導入前に公式パッケージ情報と対象OS・Python版の互換性を確認します。
コード例
手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。
import serial
# pySerialを別途インストールし、portは環境に合わせて変更します。
with serial.Serial(port="/dev/ttyUSB0", baudrate=115200, timeout=1) as port:
port.write(b"STATUS?\n")
reply = port.readline()
print("受信バイト:", reply.hex(" "))手を動かす課題
まずループバック試験用の安全な機器で短いテキストを送受信し、タイムアウト時にもポートが解放されることを確認してください。