Отправка смс в Huawei E303 Modem с получением CME ERROR: 11 - PullRequest
1 голос
/ 24 марта 2020

Я пытался отправить SMS через AT-команды со скриптом в Python, сначала я тестирую AT-команды индивидуально, но в третьей команде я получил CME ERROR: 11, это список команд:

ATZ
OK

AT+CMGF=1
OK

AT+CMGS="phone number"
CME ERROR: 11

Я использую Windows 10, 64 бита, Huawei E303 подключен к COM6.

Я обнаружил, что ошибка 11 равна Требуется PIN-код SIM-карты , но я не знаю, как предоставить этот PIN-код SIM-карты во время выполнения моего списка AT-команд:

Часть сценария 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)

1 Ответ

0 голосов
/ 24 марта 2020

Вы можете предоставить аутентификацию с помощью PIN-кода для вашего устройства, введя следующую команду:

AT+CPIN=<PIN_CODE>

Обычно PIN-код по умолчанию записывается на карту, в которую была вставлена ​​SIM-карта, когда вы ее купили.

Внимание! Убедитесь, что PIN-код правильный, иначе после 3-х неправильных попыток PIN-код будет заблокирован! В этом случае только предоставление ** PUK-кода * с той же командой +CPIN разблокирует его.

(после 10 неудачных попыток ввести PUK-код SIM-карта будет потеряна).

В любой момент вы можете запросить PIN-код SIM-карты с помощью команды чтения из +CPIN:

AT+CPIN?

Наиболее распространенными ответами, среди прочих, являются

  1. ГОТОВ - устройство не ожидает ввода пароля
  2. PIN PIN-кода - устройство ожидает ввода PIN-кода SIM-карты
  3. SIM PUK - Я ожидаю получения SIM PUK
...