【问题标题】:AT command - USSDAT 命令 - USSD
【发布时间】:2013-04-06 12:15:09
【问题描述】:

我正在使用Minicom(Linux 的串行端口软件)与我的 GSM 调制解调器进行交互。实际上,现在我正在尝试将我的移动提供商的一项服务与 AT 命令一起使用。

我在这里说,我想看看我的余额:

AT+CUSD=1,*555*87*1234#

OK

+CUSD: 1,"this service will deduct you 5cent from your balance, to continue please enter 1",15

所以,我在这里发送了“1”,但什么也没发生,会话关闭了。

AT+CUSD=1,1

OK

什么也没发生,但会话关闭了。

用普通手机,输入1后,我会得到我当前的余额。

【问题讨论】:

    标签: at-command ussd


    【解决方案1】:

    命令的格式是AT+CUSD=[<n>[,<str>[,<dcs>]]],第二个参数<str>是一个字符串,应该用双引号括起来。例如

    AT+CUSD=1,"*555*87*1234#"
    AT+CUSD=1,"1"
    

    有关AT+CUSD 和V.250 的更多详细信息,请参阅27.007 以了解一般 AT 命令处理。


    如果您的手机对AT+CUSD=1,1 的回复是OK,这真的很糟糕,它应该回复ERROR。 V.250 对此非常清楚:

    字符串常量 应在开头和结尾处以双引号字符为界

    【讨论】:

    • 问题解决了 :) 其实我的账户一开始是零,通常我应该收到一个错误说“我的余额不够”,反正我把钱转到我的账户之后,我再次测试,现在我看到了确认消息和..
    【解决方案2】:
    AT+CUSD=1,"your_service_code",15
    

    所以对于你的情况,

    AT+CUSD=1,"*555*87*1234#",15
    

    别忘了最后的 15。这个问题帮助我解决了问题。

    【讨论】:

    • 适用于 SIM900a GSM 模块。谢谢。
    • 你能解释一下15吗?
    • @hong4rc 15 是按照 GSM 3.38 的编码方案,更多信息在这里 m2msupport.net/m2msupport/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多