Я использую 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 я получу свой текущий баланс.
Ответ 1 · рейтинг 22 · hlovdal
Формат команды - AT+CUSD=[<n>[,<str>[,<dcs>]]], а второй параметр, <str>, - это строка, которая должна быть заключена в двойные кавычки. Например.
AT+CUSD=1,"*555*87*1234#"
AT+CUSD=1,"1"
Подробнее о AT+CUSD и 27.007. http://www.itu.int/rec/T-REC-V.250-200307-I/en" rel="noreferrer">V.250 для общей обработки команд AT.
Если ваш телефон дает OK ответ на AT+CUSD=1,1, что действительно плохо, он должен был дать ERROR. V.250 кристально чист в этом:
Строковые константы должны быть ограничены в начале и конце символом двойной кавычки.
Ответ 2 · рейтинг 12 · Nassim
AT+CUSD=1,"your_service_code",15
Итак, для вашего случая,
AT+CUSD=1,"*555*87*1234#",15
И не забудьте 15 в конце. Этот вопрос помог мне решить проблему.