當前位置:首頁 » 編程語言 » python監聽usb

python監聽usb

發布時間: 2022-08-03 12:52:42

⑴ 在python連接的USB設備信息查詢簡單的方法嗎

PC上的(包括台式機和筆記本)USB介面都只有Host模式,如果要兩個USB設備通信,必須一個是Host另一個是Device,否則硬體都無法工作,更別提通信了,並且,任何編程語言都不行。
如果其中一端是手機、平板等移動設備,並且確認支持USB OTG模式的話,還可以通過OTG來通信,但涉及的東西太多:USB協議、設備協議、驅動開發、設備模擬等等,付出如此大的代價不值得。

⑵ python使用usb 讀卡器

可以調用Usb讀卡器。
首先調用detach_kernel_driver來從設備介面分離已經連接的內核驅動程序(如果有的話),這樣您就可以在代碼中與它通信(它要麼是您的代碼,要麼是某個內核驅動程序在與設備介面通信)。完成後,您可能需要調用attach_kernel_driver重新連接內核驅動程序。
如果您可以確保沒有為給定的設備載入內核驅動程序(或者在運行代碼之前手動卸載它),那麼就不需要調用任何這些C函數/Python方法。

⑶ python怎樣實現監聽程序的埠。如apache開著, 一旦有數據到達80的埠 他就會記錄下來

apache佔用了80埠python的socket就不能用了啊,要不怎麼知道數據發給誰呢,你可以讓python使用80,apache使用別的,然後讓python收到後轉發給apache。

⑷ Python能對USB介面進行管理么

先要安裝Pyserial

importserial

#設置埠和波特率
s=serial.Serial(port='COM4',baudrate=115200)

#埠寫數
s.write("2000 ")

#埠讀數
read_1=s.readline()#讀一行
read_2=s.read(4)#讀4bytes

#關閉埠
s.close()

⑸ 在Python中的USB設備通信問題,怎麼解決

先要安裝Pyserial

import serial #設置埠和波特率s=serial.Serial(port='COM4', baudrate=115200) #埠寫數s.write("2000\n") #埠讀數read_1=s.readline() # 讀一行read_2=s.read(4) # 讀4bytes #關閉埠s.close()

⑹ 如何用Python讀取USB操縱桿的輸入

1、游戲框架:很多游戲框架都有支持讀取手柄的介面。比如PyGame里就有 pygame.joystick包。
2、多媒體框架:比如DirectX的Python封裝也能讀取手柄。
3、PyUSB:手柄屬於HID設備,一般對應Interrupt傳輸,自己嘗試分析其協議估計也不難。之前見在Linux下搞USB驅動的人最喜歡拿joystick舉例子了。

⑺ python中如何檢測USB設備的接入和撥出

這么高級啊,還可以支持這個,強大的很哦。

⑻ python 如何監聽U盤插拔事件

可以這么做,參考:
import win32api, win32con, win32gui
from ctypes import *

#
# Device change events (WM_DEVICECHANGE wParam)
#
DBT_DEVICEARRIVAL = 0x8000
DBT_DEVICEQUERYREMOVE = 0x8001
DBT_DEVICEQUERYREMOVEFAILED = 0x8002
DBT_DEVICEMOVEPENDING = 0x8003
DBT_DEVICEREMOVECOMPLETE = 0x8004
DBT_DEVICETYPESSPECIFIC = 0x8005
DBT_CONFIGCHANGED = 0x0018

#
# type of device in DEV_BROADCAST_HDR
#
DBT_DEVTYP_OEM = 0x00000000
DBT_DEVTYP_DEVNODE = 0x00000001
DBT_DEVTYP_VOLUME = 0x00000002
DBT_DEVTYPE_PORT = 0x00000003
DBT_DEVTYPE_NET = 0x00000004

#
# media types in DBT_DEVTYP_VOLUME
#
DBTF_MEDIA = 0x0001
DBTF_NET = 0x0002

WORD = c_ushort
DWORD = c_ulong

class DEV_BROADCAST_HDR (Structure):
_fields_ = [
("dbch_size", DWORD),
("dbch_devicetype", DWORD),
("dbch_reserved", DWORD)
]

class DEV_BROADCAST_VOLUME (Structure):
_fields_ = [
("dbcv_size", DWORD),
("dbcv_devicetype", DWORD),
("dbcv_reserved", DWORD),
("dbcv_unitmask", DWORD),
("dbcv_flags", WORD)
]

def drive_from_mask (mask):
n_drive = 0
while 1:
if (mask & (2 ** n_drive)): return n_drive
else: n_drive += 1

class Notification:

def __init__(self):
message_map = {
win32con.WM_DEVICECHANGE : self.onDeviceChange
}

wc = win32gui.WNDCLASS ()
hinst = wc.hInstance = win32api.GetMoleHandle (None)
wc.lpszClassName = "DeviceChangeDemo"
wc.style = win32con.CS_VREDRAW | win32con.CS_HREDRAW;
wc.hCursor = win32gui.LoadCursor (0, win32con.IDC_ARROW)
wc.hbrBackground = win32con.COLOR_WINDOW
wc.lpfnWndProc = message_map
classAtom = win32gui.RegisterClass (wc)
style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU
self.hwnd = win32gui.CreateWindow (
classAtom,
"Device Change Demo",
style,
0, 0,
win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT,
0, 0,
hinst, None
)

def onDeviceChange (self, hwnd, msg, wparam, lparam):
#
# WM_DEVICECHANGE:
# wParam - type of change: arrival, removal etc.
# lParam - what's changed?
# if it's a volume then...
# lParam - what's changed more exactly
#
dev_broadcast_hdr = DEV_BROADCAST_HDR.from_address (lparam)

if wparam == DBT_DEVICEARRIVAL:
print "Something's arrived"

if dev_broadcast_hdr.dbch_devicetype == DBT_DEVTYP_VOLUME:
print "It's a volume!"

dev_broadcast_volume = DEV_BROADCAST_VOLUME.from_address (lparam)
if dev_broadcast_volume.dbcv_flags &; DBTF_MEDIA:
print "with some media"
drive_letter = drive_from_mask (dev_broadcast_volume.dbcv_unitmask)
print "in drive", chr (ord ("A") + drive_letter)

return 1
if __name__=='__main__':
w = Notification ()
win32gui.PumpMessages ()

⑼ python 使用winmm庫 usb

驅動採用WinDriver。但在實際調試過程中,發現WinDriver不同版本之間兼容性差,並且在win10上表現不佳。實際的數據傳輸流程如下。
pythonusbdll(throughctypes)windriverusbdevice由於dll文件是在win7機器上編譯的,故僅能在win7上使用,在win10機器上出錯。
使用python的項目都應該是簡潔而優雅地,遂研究了在python操作usbdevice的兩種方式。
驅動無關的調試軟體使用bushoundWinDriverWinDriver經常與Jungoconnectivity聯系在一起,安裝了WinDriver驅動的usbdevice在設備管理器中也顯示為Jungodevices。

熱點內容
惠普暢遊人14是什麼配置表 發布:2025-01-23 05:57:39 瀏覽:295
簡單搭建ftp伺服器 發布:2025-01-23 05:49:41 瀏覽:227
有qq號沒密碼如何登上 發布:2025-01-23 05:34:08 瀏覽:469
javajsdes加密 發布:2025-01-23 05:33:21 瀏覽:770
qq怎麼上傳視頻到電腦上 發布:2025-01-23 05:07:27 瀏覽:972
如何申請i7伺服器地址 發布:2025-01-23 04:42:15 瀏覽:848
瀏覽器內核源碼 發布:2025-01-23 04:41:34 瀏覽:662
精英版繽智少了些什麼配置 發布:2025-01-23 04:41:30 瀏覽:359
編寫c編譯器 發布:2025-01-23 04:41:30 瀏覽:971
可以解壓war包的編譯軟體 發布:2025-01-23 04:38:28 瀏覽:989