我有以下课程(非常基础)通过AT命令与3G调制解调器通信:
import serial
import time
class ATCommands(object):
def __init__(self, port):
self.ser = None
self.port = port
self.open()
def open(self):
self.ser = serial.Serial('/dev/'+ self.port, 115200, timeout=1)
def sendCommand(self,command):
self.ser.write(command.encode())
data = self.ser.readline().strip()
return data
def getIMEI(self):
IMEI = self.sendCommand("AT+CGSN\r")
IMEI = self.sendCommand("AT+CGSN\r")
return IMEI
def getIMEIErro(self):
IMEI = self.sendCommand("AT+CGSN\r")
return IMEI
def getIMEIErro2(self):
self.ser.write("AT+CGSN\r".encode())
data = self.ser.readline().strip()
return data
def __del__(self):
self.ser.close()
if __name__ == '__main__':
print(ATCommands('ttyUSB1').getIMEI()) #OK
print(ATCommands('ttyUSB1').getIMEIErro()) #erro
print(ATCommands('ttyUSB1').getIMEIErro2()) #erro
在上面的代码中,我有两件奇怪的事情:
getIMEI()只有在我执行语句self.sendCommand(“AT+CGSN\r”)连续两次。getTimeierro()显示发送单个命令时不会返回IMEI。
如果我运行命令self.ser.readline文件()方法之外的sendCommand()代码也不起作用。GetTimeierRo2()显示此错误
有人知道错误的原因吗?在
PS:我使用的是python3e pyserial2.7
您可以使用
ArrayList
保存图像集,然后使用Random
以随机顺序将它们传输到另一个ArrayList
。例如:本例中的
randomize()
方法将从imageSet
中随机删除一个元素,并将其添加到images
,直到imageSet
没有剩余元素为止相关问题 更多 >
编程相关推荐