Python のスクリプトを使用して AT コマンド経由で SMS を送信しようとしました。最初に AT コマンドを個別にテストしていますが、受け取った 3 番目のコマンドでCME ERROR: 11
、これはコマンドのリストです。
ATZ
OK
AT+CMGF=1
OK
AT+CMGS="phone number"
CME ERROR: 11
Windows 10、64 ビットを使用しています。Huawei E303 は COM6 に接続されています。
エラー 11 はSIM PIN REQUIREDであることがわかりましたが、AT コマンド リストの実行中にその SIM PIN を提供する方法がわかりません。
Python スクリプトの一部は次のとおりです。
class TextMessage:
def __init__(self, numero, mensaje,puerto):
self.numero = numero
self.mensaje= mensaje
self.puerto = puerto
def setRecipient(self, numero):
self.numero = numero
def setContent(self, mensaje):
self.mensaje = mensaje
def conectar(self):
self.ser = serial.Serial(self.puerto, 460800, timeout=5)
time.sleep(1)
def enviarMensaje(self):
self.ser.write("ATZ\\r".encode())
time.sleep(1)
self.ser.write("AT+CMGF=1\\r".encode())
time.sleep(1)
self.ser.write("AT+CMGS=".encode())
self.ser.write(self.numero.encode())
self.ser.write("\\r".encode())
time.sleep(1)
self.ser.write(self.mensaje.encode())
self.ser.write("\\r".encode())
time.sleep(1)
self.ser.write(chr(26).encode())
time.sleep(1)
def desconectar(self):
self.ser.close()
def EnviarSMS():
sms = TextMessage("00525528960002", "Mensaje de prueba",puertoAsignado(puerto.get()))
sms.conectar()
sms.enviarMensaje()
sms.desconectar()
mensajeEmergente = 'Los SMS fueron enviados'
mensajeVar = tk.Message(ventana, width=140, text=mensajeEmergente)
mensajeVar.config(bg='lightgreen')
mensajeVar.grid(row=3, column=0)