在windows平台上用python连接com或usb设备
http://blog.developers.api.sina.com.cn/?p=197经过半天的折腾,后来找到的nokia的sdk里面的一个连接工具,通过该连接工具能够正确的找到windows上需要连接的com口,而这个口,在windows的设备管理器里面是看不到状态的。
如,我的nokia的E61i,在windows设备管理器上显示的是只用了com14口,但是通过nokia的sdk里面的连接工具能够看到,其实com7也是连接状态的。
之前的疑惑刚好是我一直尝试连接com14,通过C、python、perl都尝试了,本来以为是windows的硬件接口的问题,所以一直在找相关的驱动和开发包。
后来通过连接com7就成功了。python通过pySerial-win32连接ok。
程序share给大家,以免再走弯路:
import serial
from serial import serialwin32
from serial import serialutil
def readuntilok(s):
ol = []
while 1:
c = s.read()
if not c:
break
ol.append(c)
out = “”.join(ol)
if len(ol)>3 and out[-4:]==”OK\r\n”:
break
return out
def cmd(s,cmd):
s.write(cmd+”\r”)
r = readuntilok(s)
r = r.split(”\n”)
for i in range(len(r)):
r = r[:-1]
return r
ser = serial.Serial(port=’COM14′,baudrate=19200,timeout=3)
re = cmd(ser,”AT+CBC”)
print re
re = cmd(ser,”ATZ”)
print re
ser.close()
页:
[1]