как получить баланс USSD-командами?

Я устал искать, как отправить USSD-команду в Google. Я хочу проверить может баланс от оператора.

Все образцы, которые я видел, используют такие команды:

 "AT+CUSD=1,\"*140*1#\"\r\n";

Кажется, это правильно. Я использую что-то вроде этого, которое, я думаю, работает. У меня есть GSM-модем D-Link, и когда я отправляю с его помощью эту команду, в динамике издается некоторый шум, который, как мне кажется, говорит мне о том, что что-то произошло.

у моего модема есть собственное приложение Windows, когда я отключил модем своим собственным приложением, я проверяю его приложением модема, и на вкладке USSD я могу найти результат моих команд, которые я отправил своим приложением.

тогда эта команда работает нормально, но я запутался, что происходит, когда я отправил свою команду, она возвращает мне «ОК» и не возвращает ответ оператора, и как приложение моего модема может прочитать этот ответ????????

Я тестирую эти команды, но не могу получить результат, и мой модем просто возвращает что-то вроде этого: "AT+CUSD=1,\"*140*1#\"\r\n\OK\r\n".

1) "AT+CUSD=1,\"*140*1#\",15\r\n"

2) "AT+CUSD=1,\"*140*1#\",1\r\n"

3) "AT+CUSD=1,\"*140*1#\",15\r"

4) "AT+CUSD=1,\"*140*1#\",1\r"

5) "AT+CUSD=1,\"*140*1#\""

я думаю, что результат команды чтения может иметь разную команду, или я должен установить некоторую конфигурацию на моем модеме.

мне очень интересно, что мой модем мне не выдает ошибку и всегда возвращает ОК.


person motevalizadeh    schedule 29.08.2013    source источник


Ответы (4)



введите здесь описание изображения

Я обнаружил, что мой модем использует более одного порта, и я должен подключиться к первому порту, чтобы отправить свою команду, и прослушивать другой порт, чтобы получить результат команды USSD.

person motevalizadeh    schedule 22.04.2015
comment
Как называются порты? - person ivan_pozdeev; 21.01.2016
comment
если вы посмотрите Панель управления\Система и безопасность\Система и щелкнете по диспетчеру устройств, вы найдете имена установленных портов - person motevalizadeh; 22.01.2016
comment
Я знаю. Мне интересно, как названы те, кого вы упомянули, в вашем случае. - person ivan_pozdeev; 22.01.2016

Попробуйте это с помощью приложения Hyperterm Serial Monitor ( https://www.hilgraeve.com/hyperterminal-trial/ )

Первое преобразование модема в режим PDU:

AT+CMGF=0

Отправка второго USSD-кода:

AT+CUSD=1,"#132#",15 

(Используйте коды операторов связи вашей страны)

Наконец прочитайте вывод из терминала :)

person lordbora    schedule 27.06.2018

я просто использую это "AT+CUSD=1,'*120#',15" в моей стране код USSD *120#, но помните, если вы используете его с кодом, вы должны добавить символ crlf в конец, надеюсь, что это поможет

person Hakeem    schedule 03.07.2017