【要約】nfcリーダーを使って、ショートカットソフトを作成したい。 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
- ・Windows標準ドライバがプログラムからの直接アクセスを制限している。
- ・Zadigによるドライバ書き換え時、誤ってカメラ等の他デバイスを破壊するリスクがある。
- ・nfcpyの依存関係が複雑であり、環境構築の難易度が高い。
- ・実装には、ドライバの入れ替えや依存ライブラリの解消といった泥臭い作業が伴う。
// Approach
1.Zadigを使用し、RC-S380のドライバをプログラム制御可能なものへ書き換える。
2.nfcpyライブラリを用いて、NFCタグのIDm/UIDを取得する。
3.特定のカードを「モード切替用カード」として定義し、登録モードと実行モードを切り替える仕組みを実装する。
4.取得したIDと実行パスのペアを「mapping.jsonl」に保存・管理する。
5.カードの接触(on-connect)と離脱(on-release)を検知し、連続実行を防止する。
// Result
- ・NFCカードのタッチにより、指定したパスやコマンドを即座に実行可能となった。
- ・未登録カードを検知した際、自動で登録モードへ移行するワークフローを実現した。
- ・アミーボ等の既存NFCカードをトリガーとして利用できる環境を構築した。
Senior Engineer Insight
>
プロトタイプとしては非常に面白い試みである。しかし、実運用におけるリスク管理が課題となる。まず、Zadigによるドライバ書き換えは、OSの安定性や他の周辺機器に影響を及ぼす。次に、NFC IDは容易に偽装可能であり、セキュリティ要件が厳しい環境には不向きである。また、依存関係の複雑さは、配布やメンテナンスのコストを増大させる。実戦投入を検討するなら、ドライバを書き換えない標準的な通信プロトコルの利用や、より堅牢な認証機構の検討が不可欠である。