0

私のDIYアクセス制御システムでは、MagStripeカードリーダーに接続されたRaspberryPiでDebianを実行しています。カードをスワイプすると、リーダーはキーボードのように機能して、磁気ストライプからUSBポートを介してデータを書き込みます。たとえば、コンピュータに接続し、テキストエディタを開いてカードをスワイプすると、キーボードで入力したときと同じように一連のデータが印刷されます。

簡単な接続図:

Client <--ssh--> Host + card reader

唯一の問題は、Pythonスクリプトをsshで実行していることです。これは、キーボード入力を直接聞き取れません。

どうすればPythonにMagStripeリーダーからのキーボードイベントをリッスンさせることができますか?(キーロガーを使用する必要がありますか?PyGameのキーボードバインディング?)

助けてくれてありがとう!

4

2 に答える 2

2

Linux では、/dev/input から USB キーボードにアクセスできます。

参照: /dev/input/event* のフォーマット? - その質問への回答には、イベントを取得するための 2 つの異なる Python モジュールと、その他のドキュメントへのリンクが含まれています。

キー コードを ASCIIに変換するには、「 Perl で Linux キーコードを /dev/input/event* から ASCII に変換するにはどうすればよいですか?」を参照してください。

おそらく root になるか、/dev/input のパーミッションを変更する必要があります。

于 2012-07-13T15:36:32.303 に答える
0

プログラムを 2 つの部分に分割する価値があるかもしれません: 1 つはラズベリー pi の起動時に開始され、デフォルトでキーボード デバイス (リーダー) から stdin を取得するサービスとして、もう 1 つは ssh 経由でリモート アクセス機能を提供するものです。 . これにより、/dev 内のデバイスを直接処理する必要がなくなります。

于 2012-07-13T15:45:52.710 に答える