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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Настройки и удаление SMS в SIM800x.
dotnot
сообщение Apr 16 2016, 00:02
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 29-05-12
Пользователь №: 72 074



Здравствуйте уважаймые AT-командщики =). Вроде все работет неплохо, всем доволен, но волнует пару простых вопросов по SIM800h/c перед запуском в прод. Версия прошивки SIM800h на котором сейчас разрабатываю 1308B09SIM800H32 . Дш почитал немало пока разбирался но что-то эти простые вещи то ли упустил то ли не понял.

1) Безопасно ли выполнять команду сохранения настроек SMS "AT+CSAS\r" при каждом запуске модуля после инициализации всех параметров СМС (режим текст, кодеровка UCS2, CNMI индикаторы, etc)? Она сохраняет все во флеш? Не испортится ли флеш за пару месяцов/лет? Проверяет ли модуль нужно ли по факту ерейзить и записывать или нет перед сохранением? Нужно ли вручноую при старте модуля проверять все настройки СМС и если не соотвтетствуют нужным то только тогда вызывать эту команду или можно просто каждый раз безболезненно ее вызывать (как сейчас и делаю, потому что сверка настроек при запуске мне кажется каким-то небезопасным с точки зрения программирования методом, больше кода, больше ошибок...). И вообще возможно ли гдето в ДШ найти полный перечень команд которые пишут во флеш чтобы ими не пренебрегать?
2) От входящих СМС мне нужны только индикаторы в АТ канал +CMT, сохранение в память телефона или СИМ не нужно. Но экспереминтируя (еще на старой прошивке 1308B02SIM800H) я понял что сохранение СМС в память отключить нельзя, или я не понял как. Кстати в +CNMI есть последний параметр bfr который вроде как по даташиту должен контролить буфферизацию +CMT, но меняя его, сообщения все равно всегда сохранялись в память модема или сим что было видно по "AT+CPMS?\r". Не должен ли этот параметр выключать сохранение СМСок в память? Или я неправильно понял ДШ?
Вобщем, когда память у меня достигла 10и записей почему-то начали приходить +CMT со старой СМСкой и я перестал получать новые.
По этому каждый раз по получению индикатора стал вызывать удаление 'AT+CMGDA="DEL ALL"\r' . Сейчас все отлично - память чистится, повторные СМС не приходят но опять же вопрос к вам: не убъет ли это флешку? Не разобрался - СМСки записываются изначально в ОЗУ модема или во флешу? Безопасно ли каждый раз делать удаление? Или это правильней решить другим способом?
Кстати на старой прошивке, 1308B02SIM800H* пару модулей с которой я покупал два года назад при выполнении удаления вообще модем иногда переставал отвечать на команды до ребута. А на модемах с новой прошивкой 1308B09SIM800H32 все ОК, бывали ли такие истории у когото или мне попался какойто брак?
3) И еще если можно вопрос наверное не по сим800: как правильно декодировать номер входящего СМС, например в +CMT? Там кроме цифр бывают буквы вроде: 16p6p6w237562767963656. Хотя когда шлю с обычного мобильного на модем то все ок - номер идеальный с плюсом. А когда оператор что-то присылает то вот така белебирда, на UCS2 не похоже. Может ее нужно както раскодироватьи там будет какоенибудь красивое название сервиса?

Спасибо что прочитали пост.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Apr 16 2016, 08:45
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(dotnot @ Apr 16 2016, 05:02) *
1) И вообще возможно ли гдето в ДШ найти полный перечень команд которые пишут во флеш чтобы ими не пренебрегать?

В ДШ на 800.ю серию наконец таки задокументировали, какой параметр когда сохраняется ("Parameter Saving Mode"). Если нет "AUTO_SAVE", то смело устанавливать при запуске в нужное значение.
Всякие AT&W и подобное было придумано для тех случаев, когда прикладное п/о не является единым целым с терминалом, но требует от него определенный стандарт работы.
Для встраиваемого оборудования это смысла не имеет - здесь и так без участия оператора атоматом все должно настраиватся.
Исключение может быть лишь для нуууу-очень-маленких МК, где память программ нууу-очень-ограничена, и терминал (модем) будет настраиваться в процессе производства оборудования.

Цитата(dotnot @ Apr 16 2016, 05:02) *
2) От входящих СМС мне нужны только индикаторы в АТ канал +CMT, сохранение в память телефона или СИМ не нужно. Но экспереминтируя (еще на старой прошивке 1308B02SIM800H) я понял что сохранение СМС в память отключить нельзя, или я не понял как.

А разве <mt>=2 ( SMS-DELIVERs (except class 2) are routed directly to the TE using unsolicited result code: +CMT) не то?

Цитата(dotnot @ Apr 16 2016, 05:02) *
3) И еще если можно вопрос наверное не по сим800: как правильно декодировать номер входящего СМС, например в +CMT? Там кроме цифр бывают буквы вроде: 16p6p6w237562767963656. Хотя когда шлю с обычного мобильного на модем то все ок - номер идеальный с плюсом. А когда оператор что-то присылает то вот така белебирда, на UCS2 не похоже. Может ее нужно както раскодироватьи там будет какоенибудь красивое название сервиса?

Если позволяет память и время, лучше использовать PDU. Да, придется разобраться. Но оно того стоит.
Я, лично, не понимаю, как по-простому можно будет разобрать в текстовом виде СМС, в которой будет, допустим, "<CR><LF>OK<CR><LF>"
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Apr 16 2016, 09:26
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата(Alechek @ Apr 16 2016, 11:45) *
Я, лично, не понимаю, как по-простому можно будет разобрать в текстовом виде СМС, в которой будет, допустим, "<CR><LF>OK<CR><LF>"

Подобную SMS с телефона отправить не получится.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Apr 16 2016, 09:42
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



ArtemKAD, а никто про телефон и не говорит wink.gif
Есть масса способов отправить сообщение НЕ с телефона:
Самый простой - с сайта ОПЕРАТОРА.
Самый массовый - рассылка через всякие сервисы.
Самый экзотический - создать свое сообщение в PDU (со всякими UDH) и отправить его через модуль.
Go to the top of the page
 
+Quote Post
dotnot
сообщение Apr 16 2016, 10:31
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 29-05-12
Пользователь №: 72 074



Спасибо! Прозевал я Parameter Saving Mode, правда по AT+CSAS там не написно, зато написано в самом описании что она сама сохраняет все параметры в nvram, то есть я так понял ее лучше часто не вызывать. Интересно будет ли работать если ее вообще не вызвать а просто настраивать параметры, теперь смогу узнать только на новых чистых модулях.
Потестил, похоже на новой девятой прошивке при <mt> = 2 SMS реально перестали сохранятся в память и теперь даже удалять не нужно, на модулях второй прошивки точно сохранялись даже при <mt> = 2.
А отображение номера входящего СМС в PDU может быть более адекватным? Я думал что такие вещи не зависят от режима.
Go to the top of the page
 
+Quote Post
Baser
сообщение Apr 16 2016, 13:01
Сообщение #6


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(dotnot @ Apr 16 2016, 03:02) *
Нужно ли вручноую при старте модуля проверять все настройки СМС и если не соотвтетствуют нужным то только тогда вызывать эту команду или можно просто каждый раз безболезненно ее вызывать (как сейчас и делаю, потому что сверка настроек при запуске мне кажется каким-то небезопасным с точки зрения программирования методом, больше кода, больше ошибок...).

Ваши страхи беспочвенны. Я всегда после старта модема проверяю все нужные мне параметры. Как только обнаруживается несоответствие, перехожу на процедуру, которая устанавливает ВСЕ нужные параметры не разбираясь. Далее опять проверка и рабочий режим. Проблемы тут могут быть только при поставке на производство модемов с новой прошивкой, где китайцы могут выкинуть какой-нибудь неожиданный фортель. Но пока (еще с SIM300) все нормально sm.gif

Цитата(dotnot @ Apr 16 2016, 13:31) *
А отображение номера входящего СМС в PDU может быть более адекватным? Я думал что такие вещи не зависят от режима.
То, что вы посылаете/принимаете в текстовом режиме, модем все равно преобразует в/из формата PDU. Там все одинаково.
Но разобраться и написать свою поддержку PDU займет ощутимое время и объем кода прошивки.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Apr 17 2016, 07:42
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(Baser @ Apr 16 2016, 18:01) *
То, что вы посылаете/принимаете в текстовом режиме, модем все равно преобразует в/из формата PDU. Там все одинаково.
Но разобраться и написать свою поддержку PDU займет ощутимое время и объем кода прошивки.

Мне вот интерено, как модуль будет отображать в текстовом режиме СМС, если она специфическая служебная. Просто пустое сообщение?

PS:
Кода немного (правда, длинные сообщения и русский язык не используется):
Код
    Module                        ro code  ro data  rw data  rw data
                                                              (abs)
    ------                        -------  -------  -------  -------
    pdu0340.o                       1 104

ОЗУ, правда, еще надо.

А вот время да... Но зато начитаешь понимать, что как ходит где грабли могут лежать, что такое SMS-DELIVER (SUBMIT), OA, DA, UDL, UDH и прочее.


Цитата(dotnot @ Apr 16 2016, 15:31) *
А отображение номера входящего СМС в PDU может быть более адекватным? Я думал что такие вещи не зависят от режима.

Номер отправителя - это OA (Originator Address) в SMS-DELIVER. А это
Код
struct gsm0411_address {
  BYTE  Length; // длина адреса в символах
  union {
    struct {
      BYTE  NPI :4;
      BYTE  TON :3;
      BYTE  EXT :1;
    };
    BYTE Raw;
  } TOA;
  char Address[0];
};

И номера могут быть
Код
// Type of Number sub-field
#define DA_TON_UNKNOWN              0x0
#define DA_TON_INTERNATIONAL          0x1
#define DA_TON_NATIONAL               0x2
#define DA_TON_NETWORK_SPECIFIC       0x3
#define DA_TON_SUBSCRIBER             0x4
#define DA_TON_ALPHANUMERIC           0x5
#define DA_TON_ABBREVIATED            0x6
#define DA_TON_RESERVED               0x7

// Numbering Plan Identification sub-field
#define DA_NPI_UNKNOWN                0x0
#define DA_NPI_ISDN                   0x1
#define DA_NPI_DATA                   0x3
#define DA_NPI_TELEX                  0x4
#define DA_NPI_NATIONAL               0x8
#define DA_NPI_PRIVATE                0x9
#define DA_NPI_ERMES                  0xA
#define DA_NPI_RESERVED               0xF


Думаю, это более чем достаточно для адеквтности.

Go to the top of the page
 
+Quote Post
Baser
сообщение Apr 17 2016, 09:43
Сообщение #8


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(Baser @ Apr 16 2016, 16:01) *
Я всегда после старта модема проверяю все нужные мне параметры. Как только обнаруживается несоответствие, перехожу на процедуру, которая устанавливает ВСЕ нужные параметры не разбираясь. Далее опять проверка и рабочий режим.

Перечитал и понял, что написал некорректно. Конечно же я предварительно разбираюсь, какие параметры модуль сохраняет во флеш, а какие только в ОЗУ. И конечно, параметры сохраняемые в ОЗУ, я без проверки устанавливаю каждый раз после включения. Описанный выше алгоритм относится только к параметрам, сохраняемым во флеш.

Цитата(Alechek @ Apr 17 2016, 10:42) *
И номера могут быть...

Я ограничиваюсь только 0х81 (129) и 0х91 (145). Тем более, что софт SIM900-го другие типы не понимает.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Apr 17 2016, 12:45
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(Baser @ Apr 17 2016, 14:43) *
Я ограничиваюсь только 0х81 (129) и 0х91 (145).

Ну... Как ни странно, ответ на DA_TON_ALPHANUMERIC (SMS c сайта) отправился!

Цитата(Baser @ Apr 17 2016, 14:43) *
Тем более, что софт SIM900-го другие типы не понимает.

Софт? Что имелось ввиду?
Мне вот, допустим, интересно, обрабатывает ли SIMCOM SMS-PP сообщения (3GPP TS 11.14б раздел 7)
Цитата
If the service "data download via SMS Point-to-point" is allocated and activated in the SIM Service Table (see
TS 11.11 [20]), then the ME shall follow the procedure below:
- When the ME receives a Short Message with:
protocol identifier = SIM data download, and
data coding scheme = class 2 message,
or
when the ME receives a Short Message with:
protocol identifier=ANSI-136 R-DATA (see 3G TS 23.040 [30]) and
data coding scheme = class 2 message, and the ME chooses not to handle the message ( e.g. MEs not
supporting EGPRS over TIA/EIA-136 do not need to handle the message),
then the ME shall pass the message transparently to the SIM using the ENVELOPE (SMS-PP DOWNLOAD)
command as defined below.

Ограничений по адресу источника тут нет.
Go to the top of the page
 
+Quote Post
dotnot
сообщение Apr 17 2016, 15:17
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 29-05-12
Пользователь №: 72 074



Цитата(Baser @ Apr 17 2016, 12:43) *
Описанный выше алгоритм относится только к параметрам, сохраняемым во флеш.


Я так и понял, и сейчас вроде так и делаю.
Вобщем всем спасибо за опыт. PDU коненчо с первого взгляда выглядит весьма объемно но если в нем больше возможностей по разборке адресов то со временем придется переходить на него. Конечно мне до сих пор не понятно что симком делает с OA в некоторых случаях, может это и есть gsm0411_address какимнибудь образом закодированный, надо будет проверить, в даташите по этому поводу так ничего и не нашел. В остальном пока вроде текстовый режим от симкома всем устраивает.
Go to the top of the page
 
+Quote Post
fuzzion
сообщение Apr 21 2016, 03:13
Сообщение #11





Группа: Новичок
Сообщений: 2
Регистрация: 7-11-11
Пользователь №: 68 164



Цитата(Alechek @ Apr 16 2016, 11:45) *
Для встраиваемого оборудования это смысла не имеет - здесь и так без участия оператора атоматом все должно настраиватся.

Некоторые параметры, например: CLTS, применяются только после перезапуска модуля. Поэтому если его не сохранить по AT&W, то результата и не будет
Go to the top of the page
 
+Quote Post
Alechek
сообщение Apr 21 2016, 05:18
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



fuzzion, не увидел такого поведения в документации. А значит - это косяк (или "особенности", как любят говорить представители SIMCOM).
Обход косяков - это отдельная тема.
Go to the top of the page
 
+Quote Post
Цырен.
сообщение Apr 28 2016, 08:36
Сообщение #13


Евгений
***

Группа: Участник
Сообщений: 341
Регистрация: 13-10-11
Пользователь №: 67 706



Цитата(Alechek @ Apr 21 2016, 08:18) *
fuzzion, не увидел такого поведения в документации. А значит - это косяк (или "особенности", как любят говорить представители SIMCOM).
Обход косяков - это отдельная тема.


о сохранении CLTS. Прошу обратить внимание на графу Parameter Saving Mode в SIM800 Series_AT Command Manual_V1.09 описания CLTS:
Прикрепленное изображение


О начале действия команды CLTS. Принцип таков, что эта команда операторозависимая. Вы можете не перезагружать модуль, модуль выдаст вам время, но позже - после перерегистрации или hoping. Но если вам надо, чтобы обновление произошло быстро, то заставьте модуль "договориться" с БС о новых условиях - перезагрузите модуль или подайте последовательность AT+CFUN=0/1.


--------------------
Go to the top of the page
 
+Quote Post
Alechek
сообщение Apr 29 2016, 05:01
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Я имел ввиду, что с момента включения (ответа на AT) до момента регистрации в сети, даже у SIM800 серии проходит 5-10 секунд.
То есть, если у модуля нет скрытых багов особенностей, - установить CLTS вполне можно успеть и ДО начала первоначальной регистрации!

Батор, в этой же теме:
SIM800C-DS
Как понимать
Цитата(SIM800-DS_Application Note_V1.00)
5.2. AT+CMSS
SIM800C-DS does not support sending message from storage.


Так как оно РАБОТАЕТ! То есть я успешно отправил сохраненное сообщение с SIM-карты.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Apr 29 2016, 06:53
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



5.2. AT+CMSS
SIM800C-DS does not support sending message from storage.


А это из какого документа??? Так как в SIM800 Series_AT Command Manual_V1.09.pdf такой фразы нет.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post

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

 


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


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