реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Правильный обмен СМС, без дублирования и потери СМС (Telit)
AlexanderX
сообщение Jan 20 2011, 08:50
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 21-07-05
Из: Киев
Пользователь №: 6 977



Имеем Telit GE-864 модуль. В текущей реализации программы управления модулем, происходит прием СМС и отправка ответного СМС. При нормальном уровне сигнала сети все работает как задумано. Но при слабом уровне сигнала сети, т.е. сеть может пропадать и появляться в непредсказуемые моменты и на произвольное время, происходит дублирование отправляемых СМС или даже их полное отсутствие. Я подозреваю, что проблема все же не в GSM модуле, а в управляющей программе. Для вдумчивого анализа исходного кода хотелось бы узнать, каков правильный обмен командами/статусом при отправке СМС в модуль. Так же было-бы замечательно, если кто-нибудь сможет привести дамп такого обмена, поскольку у меня терминала на модуль нет и приходится работать путем экспериментов на устройстве.
Заранее благодарен всем откликнувшимся.
Go to the top of the page
 
+Quote Post
butthead2
сообщение Jan 20 2011, 10:09
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470



После отсылки сообщения будет примерно так -
+CMGS: 240
где 240 - порядковый номер сообщения, он с каждым новым сообщение увеличивается.

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

Проще всего просто проверять на возврат +CMS ERROR: или +CMGS:
Ну и естественно перед отправкой неплохо бы регистрацию в сети проверить.
Go to the top of the page
 
+Quote Post
AlexanderX
сообщение Jan 20 2011, 13:26
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 21-07-05
Из: Киев
Пользователь №: 6 977



Если не затруднит, дамп обмена от начала отправки СМС до успешного завершения или ошибки может кто-нибудь привести.
Go to the top of the page
 
+Quote Post
butthead2
сообщение Jan 20 2011, 13:49
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470



AT+CMGS=112

> 0011000C91
+CMS ERROR: 515




AT+CMGS=104

> 0011000C91
+CMGS: 174
Go to the top of the page
 
+Quote Post
molecul
сообщение Jan 20 2011, 14:12
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326



На самом деле пропадание/дублирование SMS в зонах с плохим приемом - процесс малопредсказуемый. Даже если модуль сообщил, что все ушло, не факт что сообщение будет доставлено. Поэтому нужно как минимум использовать подтверждение о доставке, а желательно еще и сами сообщения нумеровать, соответственно пропажа или дублирование сразу обнаружатся.

Сообщение отредактировал molecul - Jan 20 2011, 14:12
Go to the top of the page
 
+Quote Post
AlexanderX
сообщение Jan 21 2011, 09:00
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 21-07-05
Из: Киев
Пользователь №: 6 977



Как получить подтверждение о доставке и в каком виде оно приходит?
Go to the top of the page
 
+Quote Post
molecul
сообщение Jan 24 2011, 14:54
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326



Цитата(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

Сообщение отредактировал molecul - Jan 24 2011, 14:58
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Jan 25 2011, 05:53
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Если индикация CDS, то сообщение не должно храниться в симке. Для сохраненных отчётов индикация CDSI.
Go to the top of the page
 
+Quote Post
molecul
сообщение Jan 25 2011, 08:06
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326



Цитата(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

А сейчас что скажете?
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Jan 25 2011, 09:45
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Должно быть включен какой-то режим сохранения статус-репортов в память симки. Вообще, было бы интересно узнать, как его включить. Я делаю периодически CMGL=4 и никаких следов статус-репортов в симке не вижу.
Go to the top of the page
 
+Quote Post
molecul
сообщение Jan 25 2011, 11:55
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326



Цитата(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

Либо, как вариант, вся симка забита сообщениями, и новые не принимаются.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Jan 26 2011, 05:23
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Вся симка не может быть забита сообщениями, потому что периодически делается CMGL=4, да и входящие смс прекрасно видно. Насчёт ME проверю, но очень маловероятно - входящие смс опять же честно попадают в SM. Скорее всего разница в том, что у меня SIM900.
Go to the top of the page
 
+Quote Post
molecul
сообщение Jan 27 2011, 08:03
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 19-01-11
Из: СПб
Пользователь №: 62 326



Цитата(andrewlekar @ Jan 26 2011, 08:23) *
Скорее всего разница в том, что у меня SIM900.


Так это ключевой момент, я же про Telit рассказывал sm.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 15:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01445 секунд с 7
ELECTRONIX ©2004-2016