(グロブ( 'は/ dev/ttyの[A-ZA-Z] *'))一定の間隔で自分のLinux PCに接続されたUSBデバイスを検出するためのpythonで私のアプリケーションのために。自動的に接続されたUSBデバイスを検出する方法はありますか?USB自動検出
Q
USB自動検出
0
私はポーリングコマンドを使用してい
A
答えて
0
ここがスタートです。あなたのUSBベンダーhereを見つけることができます。 current_list_usb
をコード化して、チェックする時間間隔を設定して、新しいデバイスが接続されているかどうかを比較して確認することができます。 USBモジュールをインポートすると、一部のコードが使用する:
import usb, usb.core, usb.util, usb.backend.libusb1
...snippet...
# usb.core.find()
# find our device
dev = usb.core.find(idVendor= ...., idProduct= ....)
#dev_1 = usb.util.find_descriptor(cfg, find_all =True)
# was it found?
if dev is None:
raise ValueError('Device not found')
#x = dev.set_configuration()
#print (dev)
#print (help(usb.core))
if usb.core.find(find_all=True, bDeviceClass=7) is None:
raise ValueError('No printer found')
0
これを行うには、通常の方法は、新しいtty
が存在するあなたのプログラムを伝えるudev
ルールを作ることです。 。
カスタムudevのルールはこのような何か(のは/etc/udev/rules.d/50-custom-tty.rules
それを呼びましょうに見えることがあります。この場合
KERNEL=="ttyUSB[0-9]+", RUN+="/usr/bin/my-program"
Here's udevルールを書くには良いガイド
を、プログラム/usr/bin/my-program
はいつでも実行されます新しいttyUSB
デバイスが/ devに作成され、udevはプラグインされたものを正確に伝えるために環境変数を設定します。次に、メインプログラムに新しいttyUSB
が存在することを通知して使用する必要があります。あなたは実行する必要がありますb e小さい場合は、udev
デーモンは時間がかかりすぎるとそれを強制終了します。
0
私は、libudevを使ってホットプラグされたデバイスを検出するudevモニタオブジェクトを作成することをお勧めします。ここでは、libudevとそのモニタ機能について学ぶための出発点は次のとおりです。
https://www.freedesktop.org/software/systemd/man/libudev.html
あなたがCのコードを記述することなく、その機能を使用できるようにudevをラップすでに良いPythonライブラリがあるかもしれません。
関連する問題
- 1. USBキー/ Thumbドライブへの自動検出と書き込み
- 2. USBデバイスの自動検出接続/切断
- 3. UWP usb検出
- 4. USBトークン - * .dll検出
- 5. プッシャークラスター自動検出
- 6. Javaレスポンスボディの自動検出を自動検出します。
- 7. Android USBデバイスの検出
- 8. stm32f429 USB CDC VCP検出
- 9. PHP - 自動検出(生)urlencode
- 10. DBインスタンスの自動検出
- 11. 自動検出budrateシリアルstm32
- 12. C#でUSBデバイスを検出するClassCode(usbデバイスタイプ)
- 13. Windows 10の自動実行USB?
- 14. USBデバイスを検出しています
- 15. のAndroidのUSBホスト - OTG検出
- 16. ASP.NETはUSBドライブを検出します
- 17. STM32F7ディスカバリ - USB FSホスト/デバイス・モード検出
- 18. Install4j自動更新バージョン検出
- 19. 自動検出プロキシ - JavaFXの - WebViewの
- 20. C/C++でのOSの自動検出
- 21. MatlabのArduino COMポートの自動検出
- 22. Xcode git自動メール検出エラー
- 23. 自動化 - 対話型サービスの検出
- 24. CodeMirror - 言語の自動検出
- 25. ジーンラブでgitlabブランチを自動検出
- 26. Javaでのメモリリークの自動検出
- 27. Dynamic ListView Android(最後の自動検出)
- 28. マシンを自動検出するコード
- 29. Windows自動アップデートを検出する
- 30. 500sと404sの自動検出?
'dbus'モジュールを使用できますか? – Pavel
'tty'デバイスホットプラグを監視する' pyudev'コードhttps://stackoverflow.com/a/39885881/1778421 –