ドキュメントの全体像や他のサンプルプログラムについては、こちらのランディングページをご覧ください。
タカヤ製 UTR-S201 シリーズ(UHF帯)リーダライタを LAN(TCP) 経由で制御するためのサンプルです。USB版サンプル(UTR_USB_sample_1.1.5.py)の構造を踏襲し、通信層のみ TCP に置き換えています。本サンプルは無保証です。検証・学習目的でご利用ください。
このサンプルプログラムは、ROMバージョン確認、コマンドモード切替、送信出力値/周波数チャンネルの取得、インベントリ(タグ読み取り)の実行、RSSIとPC+UIIの抽出・表示、ブザー制御、集計結果の表示/ログ保存、受信フレームのSTX / ETX / SUM / CR 検証といった主要な機能を提供します。
- OS: Windows 10 / 11
- Python: 3.10+
- ネットワーク到達可能な UTR-S201(LANモデル)
- 既定ポート例:9004(装置設定に依存します)
注意: 装置の通信設定(IP、ポートなど)は UTR-RWManager を用いて事前にご確認ください。
- Python を用意: Python 3.10 以上がインストールされていることを確認してください。
- リポジトリのクローン:
git clone https://github.com/TamaruNorio/UTR_LAN_Python.git cd UTR_LAN_Python - 実行:
実行時プロンプトに従い、IP アドレス と TCP ポート を入力します。ポート未入力時は 9004 を使用します。指定回数のインベントリを実行し、結果とログを出力します。
python src/UTR_LAN_sample_1.0.0.py
.vscode/launch.json に以下を保存してください(debugpy使用)。
{
"version": "0.2.0",
"configurations": [
{
"name": "Run: UTR LAN sample",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/src/UTR_LAN_sample_1.0.0.py",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}",
"justMyCode": true,
"env": {
"PYTHONUNBUFFERED": "1"
}
}
]
}UTR_LAN_PYTHON/
├─ src/
│ └─ UTR_LAN_sample_1.0.0.py # 本サンプル(LAN版)
├─ .gitignore
└─ README.md # このファイル
- TCP 接続確立(クライアント)
- ROMバージョン確認(ACK/NACK判定)
- コマンドモード切替
- 送信出力値・周波数チャンネルの取得
- インベントリ(指定回数)
- ブザー制御(応答あり)
- 集計表示/ログ保存 → 切断
受信処理は 1バイトずつ読み取り、ヘッダ/フッタおよび SUM を検証してフレーム確定します。ACK/NACK を受信した時点で
communicate()は戻ります。
- 装置 IP / ポート:実機の設定に合わせて入力(デフォルト 9004)
- タイムアウト:
TcpSession(timeout=1.0)、communicate(..., timeout=...)で変更可。タグ枚数が多い環境では インベントリのみ 3秒 など長めを推奨。 - 繰り返し回数:1〜100 の範囲で指定。
本サンプルは 無保証 です。ご利用は自己責任でお願いします。ライセンスは任意です。MIT 等で公開する場合は LICENSE を追加してください。
- 0.1.0 (2024-06-06): 初版。LAN受信のフレーム復元とInventory2最小動作を実装。