Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Правильный обмен СМС
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
AlexanderX
Имеем Telit GE-864 модуль. В текущей реализации программы управления модулем, происходит прием СМС и отправка ответного СМС. При нормальном уровне сигнала сети все работает как задумано. Но при слабом уровне сигнала сети, т.е. сеть может пропадать и появляться в непредсказуемые моменты и на произвольное время, происходит дублирование отправляемых СМС или даже их полное отсутствие. Я подозреваю, что проблема все же не в GSM модуле, а в управляющей программе. Для вдумчивого анализа исходного кода хотелось бы узнать, каков правильный обмен командами/статусом при отправке СМС в модуль. Так же было-бы замечательно, если кто-нибудь сможет привести дамп такого обмена, поскольку у меня терминала на модуль нет и приходится работать путем экспериментов на устройстве.
Заранее благодарен всем откликнувшимся.
butthead2
После отсылки сообщения будет примерно так -
+CMGS: 240
где 240 - порядковый номер сообщения, он с каждым новым сообщение увеличивается.

Если не может отослать -
+CMS ERROR: 515

Проще всего просто проверять на возврат +CMS ERROR: или +CMGS:
Ну и естественно перед отправкой неплохо бы регистрацию в сети проверить.
AlexanderX
Если не затруднит, дамп обмена от начала отправки СМС до успешного завершения или ошибки может кто-нибудь привести.
butthead2
AT+CMGS=112

> 0011000C91
+CMS ERROR: 515




AT+CMGS=104

> 0011000C91
+CMGS: 174
molecul
На самом деле пропадание/дублирование SMS в зонах с плохим приемом - процесс малопредсказуемый. Даже если модуль сообщил, что все ушло, не факт что сообщение будет доставлено. Поэтому нужно как минимум использовать подтверждение о доставке, а желательно еще и сами сообщения нумеровать, соответственно пропажа или дублирование сразу обнаружатся.
AlexanderX
Как получить подтверждение о доставке и в каком виде оно приходит?
molecul
Цитата(AlexanderX @ Jan 21 2011, 12:00) *
Как получить подтверждение о доставке и в каком виде оно приходит?


Вся информация есть в описании системы команд. Вот небольшой лог с комментариями.
at+gmm

GE864-DUAL-V2

OK

at+cmgf=1 // текстовый режим

OK
at#smsmode=0

OK
at+csmp=49,168,0,26 // ключевое число - 49. 5 бит определяет, что будет запрошено подтверждение о доставке
// остальное см. в описании команды
OK
at+cnmi=1,1,0,1,0 // 4 параметр - индикация подтверждения о доставке

OK
at+cmgs=XXXXXXXXXX // отправка SMS

> test4
+CMGS: 27 // порядковый номер отправленного сообщения (27)

OK


+CDS: 6,27,,,"11/01/24,17:42:23+12","11/01/24,17:42:27+12",0 // а вот само подтверждение - сообщение #27 доставлено

Следует иметь в виду, что подтверждение о доставке хранится как SMS и занимает одну ячейку, которую надо освобождать через +CMGD
andrewlekar
Если индикация CDS, то сообщение не должно храниться в симке. Для сохраненных отчётов индикация CDSI.
molecul
Цитата(andrewlekar @ Jan 25 2011, 08:53) *
Если индикация CDS, то сообщение не должно храниться в симке. Для сохраненных отчётов индикация CDSI.


at+cmgr=2

+CMGR: "REC READ",6,27,,,"11/01/24,17:42:23+12","11/01/24,17:42:27+12",0


OK
at+cpms?

+CPMS: "SM",8,10,"SM",8,10,"SM",8,10

OK

А сейчас что скажете?
andrewlekar
Должно быть включен какой-то режим сохранения статус-репортов в память симки. Вообще, было бы интересно узнать, как его включить. Я делаю периодически CMGL=4 и никаких следов статус-репортов в симке не вижу.
molecul
Цитата(andrewlekar @ Jan 25 2011, 12:45) *
Должно быть включен какой-то режим сохранения статус-репортов в память симки. Вообще, было бы интересно узнать, как его включить. Я делаю периодически CMGL=4 и никаких следов статус-репортов в симке не вижу.

По-видимому, у вас место хранения выбрано "ME":
at+cpms="ME"

+CPMS: 0,1,8,10,8,10

OK
at+cmgs=89119599509

> test6
+CMGS: 28

OK

+CDS: 6,28,,,"11/01/25,14:49:48+12","11/01/25,14:49:52+12",0
at+cmgl="ALL"

OK

Либо, как вариант, вся симка забита сообщениями, и новые не принимаются.
andrewlekar
Вся симка не может быть забита сообщениями, потому что периодически делается CMGL=4, да и входящие смс прекрасно видно. Насчёт ME проверю, но очень маловероятно - входящие смс опять же честно попадают в SM. Скорее всего разница в том, что у меня SIM900.
molecul
Цитата(andrewlekar @ Jan 26 2011, 08:23) *
Скорее всего разница в том, что у меня SIM900.


Так это ключевой момент, я же про Telit рассказывал sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.