【问题标题】:Reading SMS Through HSDPA Modem with At Commands使用 At 命令通过 HSDPA 调制解调器读取 SMS
【发布时间】:2014-01-05 07:09:09
【问题描述】:

我正在尝试通过 HSDPA 调制解调器读取短信。我试过了

  1. AT+CMGR=1
  2. AT+CMGR=123
  3. AT+CMGR="ALL'
  4. AT+CMGR="REC ALL"
  5. AT+CMGL="ALL"

命令但没有成功。串行端口配置或其他任何问题有任何其他可能的解决方案请帮助我

  1. 波特率:9600
  2. 数据位:8
  3. 奇偶校验:无
  4. 停止位:1

【问题讨论】:

  • HSPDA 与 SMS 不同。你的调制解调器的文档是怎么说的?
  • 我从 BSNL India 得到的,他们没有提供任何文档
  • 你见过这个 StackOverflow 问题吗:stackoverflow.com/questions/4235030/…
  • “没有成功”到底是什么意思?你能发布完整的命令和响应串行通信吗?
  • 查看您从串行连接发送和接收的内容会很有用,以便我们在这里为您提供帮助。任何 AT 命令都有效吗?您是否尝试过仅发送 AT 以查看是否收到并返回?

标签: sms gsm at-command modem


【解决方案1】:

将终端仿真器连接到调制解调器(在 Linux 上通常是 /dev/ttyUSB0)后,尝试AT。如果您收到OKERROR,则意味着您的串口配置没有问题,因为调制解调器正在响应您。如果您得到nothing(ei,调制解调器没有回复),那么您可能有串行连接或调制解调器硬件问题。我个人使用miniterm.py(在Linux上),配置是

maurice@mickey> sudo miniterm.py -e /dev/ttyUSB0`
--- Miniterm on /dev/ttyUSB0: 9600,8,N,1 ---

和你一样。

关于阅读短信,at+cmgl=? 应回复ERROR 或状态列表。如果您收到ERROR,这意味着您的调制解调器不接受短信。否则你应该得到类似+cmgl: ("REC UNREAD","REC READ","STO UNSENT","STO SENT","ALL")

现在,如果你发出at+cmgr,答案应该是这样的

+CMGL: 8,"REC UNREAD","+XXXXXXXXXXXX",,"16/02/19,19:52:07+12"
Test 1
+CMGL: 9,"REC UNREAD","+XXXXXXXXXXXX",,"16/02/19,19:52:16+12"
Test 2

其中 +XXXXXXXXXXXX 是发件人 MSISDN,“Test 1”是在 SMS 中发送的消息(其内容)。同样,如果您收到ERROR,这意味着您的调制解调器不接受短信。如果您发送了一些 SMS,但列表为空,则可能是该特定 SIM 的 HLR 上阻止了 SMS。

要阅读第 8 条短信,请发送at+cmgr=8,您应该会收到

+CMGR: "REC READ","+XXXXXXXXXXXX",,"16/02/19,19:52:07+12"
Test 1

OK

【讨论】:

  • 我输入这个sudo miniterm.py -e /dev/ttyUSB0 并且工作。但它总是回复 OK 不停止。当我输入at+ 时,它说命令不支持
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多