|
|
  |
SIM900 баланс, Помогите как проверить баланс |
|
|
|
Oct 23 2011, 17:11
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 22-05-07
Из: г.Оренбург
Пользователь №: 27 872

|
Разобрался как отправить СМС AT+CMGS="Номер в кодировке UCS2" //Отправить SMS на N телефона Ожидаем прихода > код 0x3E Отправляем тело баланса без кавычек Вводим код 0x1A //Ctrl^z в терминалке это будет выглядеть $1A
|
|
|
|
|
Oct 24 2011, 17:43
|
Местный
  
Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682

|
Цитата(asm_oren @ Oct 23 2011, 10:34)  Я пытаюсь данную проблему решить следующим образом: 1.С телефона клиента осуществляю звонок на устройство 2. После соединения набираю через ДТМФ код запроса 3. Устройсво анализирует код запроса 4. Через AT+CLCC узнаёт с какого номера был звонок, и если в таблице разрешённых номеров такой имеется то его запоминает. 5. Отклоняет звонок ATH 6. Делает запрос о балансе AT+CUSD=1,"002A0031003000320023" 7. Отправляет на запомненный номер СМС с телом запроса о балансе. У меня тоже почти так же сделано, только без ДТМФ-кода: смс отправляется, если сделать вх.звонок, отбить и затем сделать второй с того же номера в течение 30 сек. Что касается автоуведомления о критическом снижении баланса, тоже не вижу особых сложностей: периодически (скажем, раз в сутки) делаем USSD, далее парсим ответ следующим образом: ищем первую цифру (по моим наблюдениям значение баланса идет первым, потом уже бонусы и т.п.), и затем atof. Сравниваем с порогом, если ниже - отправляем смс с уведомлением. ПС: в УА есть еще бесплатные СМС "Перезвоните мне, пожалуйста", отправляемые и при нулевом балансе. Такой можно отправлять, когда обычное СМС невозможно.
|
|
|
|
|
Oct 25 2011, 20:21
|
Знающий
   
Группа: Свой
Сообщений: 624
Регистрация: 15-06-10
Из: Россия
Пользователь №: 57 939

|
Ага понятно... НЕпонятно вот что... Первый параметр: Цитата 0: от пользователя не требуется никаких действий (инициированные се-тью уведомления USSD или больше не требуется информация после операции, инициированной мобильным устройством) 1: от пользователя требуются дальнейшие действия (инициированный сетью запрос USSD или требуется информация после операции, инициированной мобильным устройством) 2: USSD отключены сетью 4: операция не поддерживается Почему тогда в той же теме и я встречал приходит ответ : Цитата +CUSD: 2,"Na rahunku: 29.34 grn...... Т.е. ориентироваться на значение 1го параметра всётаки нельзя...
Сообщение отредактировал MKdemiurg - Oct 25 2011, 20:31
|
|
|
|
|
Jan 8 2013, 11:44
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 25-04-05
Пользователь №: 4 466

|
Подыму-ка я тему. Может кто поможет.. MKdemiurg прав на счет первого параметра. У себя я отправляю запрос AT+CUSD=1,"*100#" и жду ответа. Так вот, на 2-х операторах (Velcom и МТС) приходит +CUSD: 0,""Balans....". А вот на еще одном операторе (Life:)) приходит +CUSD: 1,""Balans....". Засада в том, что я ждал +CUSD: 0 (и повторял запрос,если было не 0) на что получал +CUSD: 0,"USSD sessia zavershena",64. В итоге девайс вместо строки баланса отсылал эту информацию. В принципе, ничего страшного, если узнать при каком значении этого параметра будет правильная строка ответа. Я пробовал "#100#". Первые два оператора отвечают по прежнему, а третий +CUSD:2. ATD*100# имеет тот же эффект, что и AT+CUSD=1,"*100#". Запросы AT+CUSD=? и AT+CUSD? дают одинаковые результаты у всех троих. Кто-нибудь подскажет, как понять, с каким первым параметром будет присылать сообщение оператор?
|
|
|
|
|
Jan 9 2013, 08:07
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 25-04-05
Пользователь №: 4 466

|
Насколько я понял, узнать придет CUSD: 1 или 0 невозможно заранее. Я как то не обратил внимание, что на этом Life на информацию о балансе телефон ждет ответа пользователя (Да/Нет), что как раз попадает под описание значений этого байта. Буду как вы и советуете ждать строки с цифрами. Вот только как бы не попасть на что-нибудь новое, типа "USSD sessia zavershena, happy 2013!"
|
|
|
|
|
Jan 11 2013, 12:06
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 25-04-05
Пользователь №: 4 466

|
Спасибо ответившим.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|