簡體   English   中英

檢測何時連接了新的USB設備(即插即用)

[英]Detect when new USB device is connected (plug'n'play)

使用此答案 ,我們可以查詢所有在特定時刻連接的USB設備。

我有一個在Linux(Debian或RaspBian)上運行的Python程序,它執行特定的任務, 但是我還希望該程序偵聽是否連接了新的 USB設備 ,並在發生這種情況時觸發特定的操作。

我正在考慮做一個新的thread ,它可以:

while True:
  list_USB_devices()   # using https://stackoverflow.com/a/8265634/1422096
  see_if_new_devices_in_this_list()
  time.sleep(2)        # wait 2 seconds

但我覺得這種解決方案不是很優雅。

在連接新的USB設備的情況下,有什么更干凈的解決方案可在Python程序的后台進行檢測?

我的程序的應用示例:偵聽是否連接了新的USB-MIDI鍵盤/設備,如果連接了新設備,請使用rtmidi-python “ Plug and play!”進行連接。

查看gio庫(glib的一部分)。 您可以在創建設備時附加監視並連接回調。 這樣,您根本不需要輪詢。 在設備目錄上設置一個監視,以查找文件創建。 過濾掉不感興趣的文件。

您可能還可以查看'udev'系統本身,並編寫規則以在新USB設備出現后執行某些操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM