Я хочу отправить простую команду через pyserial, но обнаружил, что когда я отправляю символ ""
в pyserial.write
, он меняется на другой формат.
Могу ли я узнать, как отправить символ ""
с помощью pyserial?
import serial
import time
import sys
class SIMComModem(object):
def __init__(self):
self.open()
def open(self):
self.ser = serial.Serial('COM9', 115200, timeout=5)
print("Send AT OK command \n ")
self.SendCommand('AT\r')
time.sleep(0.5)
def SendCommand(self, command, getline=True):
self.ser.flushInput()
self.ser.flushOutput()
print(command.encode())
self.ser.write(command.encode())
data = ''
if getline:
data = self.ReadLine()
return data
def ReadLine(self):
data = self.ser.readline()
data = self.ser.readline()
print(data)
return data
def SetGPS(self):
pass
def GetGpsOne(self):
print("Set APN")
self.SendCommand('AT+CGSOCKCONT=1,”IP”,”mobile”\r')
time.sleep(0.5)
print("Donwnload GpsOneData")
self.SendCommand('AT+CGPSXD=0\r')
time.sleep(0.5)
self.SendCommand('AT+CHTPSERV=\\”ADD\\”,\\”www.google.com\\”,80,1\r')
time.sleep(0.5)
print("Update Time zone")
self.SendCommand('AT+CTZU=1\r')
time.sleep(0.5)
self.SendCommand('AT+CCLK?\r')
time.sleep(0.5)
Я ожидаю, что когда я вызову функцию GetGpsOne, она отправит AT+CGSOCKCONT=1,"IP","mobile"
на COM-порт, но результат будет следующим:
b'AT\r'
b'OK\r\n'
Set APN
b'AT+CGSOCKCONT=1,\xe2\x80\x9dIP\xe2\x80\x9d,\xe2\x80\x9dmobile\xe2\x80\x9d\r'