1

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)
4

1 に答える 1