Я хочу прочитать две строки из вывода AT Command и сделать INSERT INTO таблицы VALUES в python. Выход AT всегда находится в двух строках, но это последовательность, в отличие от открытого файла, и считывает ее до следующего ограничителя, но мы должны ждать.Прочитайте строки (две или более строк) из вывода команды AT и поместите ее в базу данных
в любом случае это мой код:
class SMSWait(self):
def run(self):
self.open()
while self.ser.isOpen():
time.sleep(1)
SMSRead = 'AT+CMGL="ALL"\r\n'
self.SendCommand(SMSRead, getline=True)
while self.ser.inWaiting() > 0:
**data = self.ser.readall()
print data**
def open(self):
self.ser = serial.Serial('/dev/ttyUSB0', baudrate=115200, timeout=.1, rtscts=0)
self.SendCommand('AT\r')
self.SendCommand('AT+CMGF=1\r')
self.ser.flushInput()
self.ser.flushOutput()
def SendCommand(self,command, getline=True):
self.ser.write(command)
data = ''
if getline:
data = self.ReadLine()
data = filter(None, data)
return data
def ReadLine(self):
data = self.ser.readline()
return data
он покажет результат:
AT+CMGL="ALL"
+CMGL: 2,"REC READ","+60xxxxxxxxx",,"15/02/05,14:13:47+28"
mydata43414242453564567578689789done
OK
сейчас, как я обрабатывать этот "последовательность" выход и не обращая внимания на AT + CMGL = "ALL »и« ОК »и поместить их в базу данных, используя« insert into »в одном запросе. У меня нет проблем с доступом к базе данных с помощью python. и я в порядке с регулярным выражением. может быть, кто-то может помочь мне логично или сценарий. спасибо
вы хотите извлечь только две строки из вашего выводе? игнорируя AT + CMGL = "ВСЕ" и "ОК" –