GSM 调制解调器发送短信,包括文本中的一些 AT 命令

编程爱好者

在我们的 SMS 服务器中,我们有一个通过 COM 端口连接的旧 GSM 调制解调器(Siemens iRZ ES75iT)。我们有一个允许发送 SMS 消息的 python 脚本。这是短信发送功能的代码:

  def sendsms(to, message):
  message = message.replace('@', '\0')
  if (len(message) > 140 ):
    message = message[0:140]
  print "Connecting phone"

  ser = serial.Serial('/dev/ttyS0', 115200, timeout=12)
  time.sleep(1)

  ser.write('AT\r')
  time.sleep(1)
  print "AT"

  ser.write('AT+CMGD="ALL"\r')
  time.sleep(2)
  print "AT+CMGDA=DEL ALL"

  ser.write('AT+CMGF=1\r')
  time.sleep(1)
  print "AT+CMGF=1, text mode"

  ser.write('''AT+CMGS="''' + to + '''"\r''')
  time.sleep(2)

  ser.write(message + "\r")
  time.sleep(3)

  ser.write(chr(26))
  time.sleep(1)

  print message
  print "disconnecting"
  ser.flush()
  ser.close()

该脚本通常按预期工作,但有时我们会收到文本中包含“AT”字符串的 SMS,例如

"**AT** <text we expect to see>" 

或者

"<text we expect to see> **AT**"

问题是为什么我们会在消息中收到这样的文本以及如何避免它?提前致谢。

ToheedNiaz

这是与 at 命令回显相关的问题,每次发送 AT 命令时,它都会在串行上回显。我们有用于发送短信的 python 脚本。我们通常做的是在发送任何 AT 命令之前禁用回声。发送这个命令

ser.write('ATE0\r')

此命令将关闭回声

发送前

ser.write('AT')

希望这可以帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用AT命令通过gsm调制解调器发送短信后获取交货状态

如何使用Python中的AT命令拒绝或接受对我的GSM调制解调器的来电?

为什么我的AT命令在我的GSM调制解调器中回显?

无法通过超级终端向16端口wavecom gsm调制解调器发出AT命令

从具有 2 个线程的 gsm 调制解调器中选择短信

使用USSD的GSM USB调制解调器的平衡

UCS2格式的GSM调制解调器发送消息错误

使用GO语言和USB GSM调制解调器发送和接收SMS

在Android中通过JNI处理GSM调制解调器

如何检测GSM调制解调器响应的最后一个字符

Windows 7:漫游时GSM调制解调器自动连接失败

GSM调制解调器-获取信号强度

通过GSM调制解调器通过c调用REST服务-HTTP / 1.1 505

Sierra无线GSM调制解调器EM7455 + Android集成错误

将GSM / GPRS调制解调器与Raspberry Pi 3与Android事物集成

如何禁用GSM调制解调器不请自来的SMS到达消息?

通过GSM调制解调器接收和处理SMS

gammu 和其他 gsm* 软件无法与 USB 调制解调器通信

使用Azure IoT C SDK将Azure IoT中心与GSM调制解调器连接

如何修复缺少下载的gsm调制解调器LTE连接?

如何通过C ++代码与GSM调制解调器通信

使用C#从GSM调制解调器读取SMS

向已安装的调制解调器发送命令

使用perl将AT命令发送到调制解调器

使用USB调制解调器发送带有AT命令的批量消息。

如何使用DotRas连接USB 3G调制解调器并发送AT命令?

在服务器模式下启动 GSM 调制解调器时如何获取公共 IP 地址?

尝试在Python中使用GSM调制解调器拨打电话时收到“ NO CARRIER”错误

自Ubuntu 16.04起如何配置GSM调制解调器网络类型(EDGE / UMTS / Auto / etc)?