1. libusb for python相关资料
http://sourceforge.net/apps/trac/pyusb/
2. 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()
3. 在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()
4. 如何用Python读取USB操纵杆的输入
1、游戏框架:很多游戏框架都有支持读取手柄的接口。比如PyGame里就有 pygame.joystick包。
2、多媒体框架:比如DirectX的Python封装也能读取手柄。
3、PyUSB:手柄属于HID设备,一般对应Interrupt传输,自己尝试分析其协议估计也不难。之前见在Linux下搞USB驱动的人最喜欢拿joystick举例子了。
5. python使用usb 读卡器
可以调用Usb读卡器。
首先调用detach_kernel_driver来从设备接口分离已经连接的内核驱动程序(如果有的话),这样您就可以在代码中与它通信(它要么是您的代码,要么是某个内核驱动程序在与设备接口通信)。完成后,您可能需要调用attach_kernel_driver重新连接内核驱动程序。
如果您可以确保没有为给定的设备加载内核驱动程序(或者在运行代码之前手动卸载它),那么就不需要调用任何这些C函数/Python方法。
6. 有没有python的串口库
串口模块的波特率比较特别,找了几个串口工具都不支持。。。所以,干脆用python自己来写了,其实已经好奇好久了,别人的工具各种不顺手。
需要pyserial的支持,兼容各种平台,不需要新编译二进制文件。
先贴一个定时发送的代码:
6. exception:serial.SerialException
另一个完整收发的例子,单片机数据以TLV(Type,Length,Value)格式发上来
#!/usr/bin/env python
# it's a program of luo, [email protected]
import serialimport arrayimport osimport signalfrom time import sleep
flag_stop = Falsedef onsignal_int(a,b): print "sigint!"
global flag_stop
flag_stop = True
signal.signal(signal.SIGINT, onsignal_int)
signal.signal(signal.SIGTERM, onsignal_int)
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout = 0.001)print "serial.isOpen() =",ser.isOpen()
cmd_send = ""cmd_send = cmd_send.decode("hex")
stop = "7b04047d0d0a"stop = stop.decode("hex")
cmd_back = ""cmd_length = 0x00cmd_count = 0x00s = ser.write(cmd_send)while True:
sleep(0.1)
if flag_stop: # read data until Ctrl+c
ser.write(stop) # send cmd stop before exit
print "reset cmd has been sent!"
sleep(0.05) break
text = ser.read(1) # read one, with timout
if text: # check if not timeout
n = ser.inWaiting() # look if there is more to read
if n:
text = text + ser.read(n) #get it
cmd_back = cmd_back + text
text = ""
if len(cmd_back) < 2: # go back if no enough data recvd
continue
if cmd_length == 0x00: # new loop
cmd_length = ord(cmd_back[1]) # Type(1 byte),Length of Value(1 byte),Value
print "new cmd length,",cmd_length
if (cmd_length + 0x02) > len(cmd_back): # do nothing until all bytes is recvd
continue
# so far, we have got a full cmd
hex_list = [hex(ord(i)) for i in cmd_back] # more readable than data.encode("hex")
print "In buffer:",hex_list
cmd_back = cmd_back[cmd_length+2:] # remove this cmd(TLV) from buffer
cmd_length = 0
cmd_count += 1
print "==> %d cmds recvd."%(cmd_count) print "-------------"
ser.close()
——————
7. 在Python中USB模块错误问题,怎么解决
Are you running the program as root? [ I also wonder what necessitates you to write binary/raw data that you can not use file IO by mounting and writing to that mounted partition.? I just think I do not know something you want to do and want to know]
8. python 使用winmm库 usb
驱动采用WinDriver。但在实际调试过程中,发现WinDriver不同版本之间兼容性差,并且在win10上表现不佳。实际的数据传输流程如下。
pythonusbdll(throughctypes)windriverusbdevice由于dll文件是在win7机器上编译的,故仅能在win7上使用,在win10机器上出错。
使用python的项目都应该是简洁而优雅地,遂研究了在python操作usbdevice的两种方式。
驱动无关的调试软件使用bushoundWinDriverWinDriver经常与Jungoconnectivity联系在一起,安装了WinDriver驱动的usbdevice在设备管理器中也显示为Jungodevices。
9. python, libusb, pyusb
ubuntu下安装包可能在dist-package也可能是在site-package,我不太记得了。就是它有两个位置放着第三方包。
有时候因为安装的问题,它只安装一个位置。你可以试着将内容复制到另一个位置。也许就可以解决这个问题了。我自己以前遇到过。类似的情形。不过usb还没有试过。
你很钻研精神,祝顺利。
10. 如何U盘转载python
或许想问在U盘上安装python的过程
具体步骤:
1、确定U盘是否已经插入,再确认插入的情况下使用mkfs.ext4/dev/sda1将U盘格式化,这其中/dev/sda1并不是固定的,要看自己Linux下的具体硬盘分布,使用df命令
2、将U盘挂载到/mnt/usb/目录(没有这个目录的话,利用mkdir/mnt/usb新建一个目录)下:mount/dev/sda1/mnt/usb
3、接下来修改/etc/opkg.conf文件,在文件最后加上destusb/mnt/usb,保存后使用opkgupdate命令
4、接下来安装文件,使用opkg-sbinstallpython命令,就可以将python安装到USB目录底下了5、接下来设置环境变量,首先修改/etc/profile文件,在PATH后面加上":/mnt/usb/usr/bin/",在PATH下一行加“exportLD_LIBRARY_PATH=/mnt/usb/usr/lib”(不添加这个会无法读取库的)
6、最后将python的执行程序在/usr/bin下创建链接:“ln-s/mnt/usb/usr/bin/python2.7/usr/bin/python”。