AT+CUSD не работает на модеме Huawei e3131a

Я пытаюсь отправить команды at, чтобы получить баланс на модеме huawei e3131a, но я всегда получаю «ОК» в качестве ответа независимо от используемой конфигурации (GSM, IRA, UCS2). Я также пытался изменить код оператора (#123#) на многие форматы, такие как Hex PDU Simple String, но не смог получить баланс. Вот команда, которую я отправил: AT+CUSD=1,"#123#",15. Заранее спасибо за помощь.

NB: я использую Putty для отправки команд.


person Papa Daouda NIANG    schedule 09.03.2017    source источник


Ответы (2)


Наконец-то я нашел способ отправлять команды USSD At.

Некоторые 3G-модемы не поддерживают обычный текст или даже шестнадцатеричную форму. Итак, чтобы отправлять команды, я должен настроить модем на форму IRA, выполнив:

AT+CSCS="IRA"

После того, как я конвертирую команду, которая позволяет мне получить баланс (для меня: #123#) в форму gsm7bit.

Наконец, отправив команду, выполнив:

AT+CUSD=1,"A3986C3602",15

Он вернет OK в первый раз и через 5 секунд вернет ответ в форме gsm7bit. Он точно возвращает:

+CUSD: 1,"4379999CA683CEECB738CCD68162351CCDC81ABFDB707AB92E07C9CB6374587E2E8362351CCD080A83C66FF7FCDD6E97E5A0B03DECA683D86510CCF682E55E3258ECE6A286E1653D080682BFEB7210BB0C2297E9E1345B470ED3CB207219640FB3D3E434BD0C2AD341EDB79B1E76D341E432688C0EC7EB65D0F8DD86D3CB75B92B5A4FD3E965B92E06",15

И чтобы получить его в виде простого текста, просто скопируйте и преобразуйте в строку.

Спасибо всем !!

person Papa Daouda NIANG    schedule 13.03.2017
comment
JAVA gsm7bitEncoder: github .com/bsimic0001/AegisWallet/blob/master/mobile/src/main/ - person Papa Daouda NIANG; 13.03.2017
comment
Попробовал ваш способ ... Он был отправлен с ОК, но ответ так и не вернулся ... Есть идеи, что мне делать? - person Jason Krs; 23.01.2018
comment
Джейсон Крс... тебе когда-нибудь удавалось решить эту проблему? Я столкнулся с той же проблемой. - person Richard McFriend Oluwamuyiwa; 12.02.2019
comment
Он-лайн кодировщик/декодер: smstools3.kekekasvi.com/topic.php?id=288 - person Mladen B.; 02.03.2020

Согласно документации, команда AT+CUSD немедленно вернет OK, если все параметры верны. Если для первого параметра установлено значение 1, при ответе сети на USSD-запрос будет возвращен незапрашиваемый ответ (+CUSD:...).

Таким образом, вы должны дождаться ответа +CUSD после того, как получили OK.

person manishg    schedule 10.03.2017
comment
Ok! Но в ответ на мою команду я получаю только +CUSD:2 вместо моего текущего баланса! - person Papa Daouda NIANG; 10.03.2017