【问题标题】:Cannot set receiver phone number using AT+CMGS="XXXXXXXXX" returns error 325无法使用 AT+CMGS="XXXXXXXXX" 设置接收方电话号码返回错误 325
【发布时间】:2018-12-14 08:19:08
【问题描述】:

我正在使用 SIM808 向特定号码发送短信。但是当尝试使用 AT+CMGS=XXXXXXX 设置数字时,返回 +CMS ERROR:325。我已经将 AT+CSCS 设置为 GSM 但仍然没有运气。以下是代码:

import serial
import os, time

# Enable Serial Communication
port = serial.Serial("/dev/ttyUSB0", baudrate=9600, timeout=1)

# Transmitting AT Commands to the Modem
# '\r\n' indicates the Enter key

port.write('AT'+'\r\n')
rcv = port.read(10)
print rcv
port.write('AT+CMGF=1\r\n')
time.sleep(10)
rcv = port.read(10)
print rcv
port.write('AT+CMGS=\'9912345678\'\r\n')

time.sleep(2)
port.write('test msg')
time.sleep(2)
port.write(chr(26))
rcv = port.read(10)
print rcv
port.flush()

【问题讨论】:

  • 你能发布你的代码吗?我相信错误代码 325 代表无效的输入值。再次检查您的字符编码和手机号码。
  • 嗨@DarkSorrow,我已经发布了代码。我在分配号码时遇到错误。

标签: arduino raspberry-pi raspberry-pi3 sim800


【解决方案1】:

SIM808 要求 AT+CMGS 命令应该用双引号将手机/手机号码括起来。您为单引号提供了转义序列。 你的代码应该是:

port.write("AT+CMGS=\"9912345678\"\r\n")

而不是

port.write('AT+CMGS=\'9912345678\'\r\n')

因为您提供了单引号转义序列,所以您会收到 +CMS ERROR:325 错误。

在提供手机/手机号码时,最好包含国家/地区代码(在您的情况下为 +91)。

【讨论】:

    猜你喜欢
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多