serdevmockをWindowsで使用するためのセットアップガイドです。
- Python 3.11以上がインストール済み
- pipが使用可能
cd /path/to/your/repo/serial-device-emulator
pip install -e .com0com公式サイトから最新版をダウンロードします。
- ダウンロードしたインストーラを実行
- インストールウィザードに従ってインストール
- インストール完了後、「Setup Command Prompt」を起動
Setup Command Promptで以下のコマンドを実行:
install PortName=COM10 PortName=COM11これでCOM10とCOM11の仮想ポートペアが作成されます。
python -c "import serial.tools.list_ports; [print(f'{p.device}: {p.description}') for p in serial.tools.list_ports.comports()]"出力例:
COM10: com0com - serial port emulator (COM10)
COM11: com0com - serial port emulator (COM11)
examples/echo_mode_win.json:
{
"port": "COM10",
"baudrate": 9600,
"data_bits": 8,
"parity": "N",
"stop_bits": 1,
"echo_mode": true,
"response_rules": []
}examples/at_command_win.json:
{
"port": "COM10",
"baudrate": 9600,
"data_bits": 8,
"parity": "N",
"stop_bits": 1,
"echo_mode": false,
"response_rules": [
{
"request_pattern": "AT",
"response_data": "OK\r\n",
"delay_ms": 100
},
{
"request_pattern": "ATI",
"response_data": "serdevmock v1.0\r\n",
"delay_ms": 50
}
]
}serdevmock --protocol uart --port COM10 --config examples/echo_mode_win.json出力:
UARTエミュレータを起動しています: COM10
設定ファイル: examples\echo_mode_win.json
エコーモード: 有効
停止するにはCtrl+Cを押してください
- TeraTerm(またはPuTTY)を起動
- シリアル接続でCOM11を選択
- ボーレート9600、データビット8、パリティなし、ストップビット1に設定
- 文字を入力すると、エコーバックされることを確認
import serial
import time
# COM11に接続(serdevmockはCOM10で待機)
ser = serial.Serial('COM11', 9600, timeout=1)
time.sleep(1)
# データ送信
ser.write(b'Hello\n')
# 応答受信
response = ser.read(100)
print(f'受信: {response}')
ser.close()- com0comが正しくインストールされているか確認
- 他のアプリケーションがポートを使用していないか確認
- デバイスマネージャーでポートが認識されているか確認
- ボーレート、データビット、パリティ、ストップビットの設定を確認
- エンコーディングを確認(通常はASCII)
- serdevmockが起動しているか確認
- 正しいポート番号(COM11)に接続しているか確認
- 設定ファイルの応答ルールが正しいか確認