Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900 и стандарты GSM
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Alechek
Пока найден первый баг:
+СMSS

Версия прошивки 1137B05SIM900D64_ST

стандарт
Цитата("GSM 07.05 3.5.2 Send Message from Storage")
+CMSS=<index>[,<da>[,<toda>]]


синтакс SIM900 отличается от стандарта. angry.gif
Цитата("SIM900_ATC_V1.02.pdf")
+CMSS=<index>,<da>[,<toda>]


причем в документе SIM900_SIM300_ATC_Comparison_V1.01.pdf
по поводу команды +СMSS ни слова. maniac.gif

соответственно
Код
> AT+CMGL="ALL"
>
> +CMGL: 1,"STO UNSENT","+7XXXXXXXXXX",""
> 12345
>
> OK
> AT+CMSS=1
> ERROR


как послать сообщение с симки, не забивая снова номер, который по идее опциональный, - непонятно! smile3046.gif
etoja
Цитата(Alechek @ Dec 8 2010, 11:50) *
причем в документе SIM900_SIM300_ATC_Comparison_V1.01.pdf
по поводу команды +СMSS ни слова.
> AT+CMSS=1
> ERROR[/code]


Значит она не реализована.
Alechek
Цитата(etoja @ Dec 8 2010, 16:06) *
Значит она не реализована.


Реализована.
Забыл антенну воткнуть rolleyes.gif

Но все равно, проблема остается:
Код
AT+CREG?
+CREG: 0,1

OK

AT+CMSS=1

ERROR
AT+CMSS=1, ""

+CMSS: 13

OK
at+cmgw="+7XXXXXXXXXX"

> test
+CMGW: 5

OK
at+cmss=5,

+CMSS: 14

OK
CADiLO
Вот письмо и ответ SIMCOM.


it was in SIM300D - +CMSS=<index>[,<da>[,<toda>]]
became in SIM900 - +CMSS=<index>,<da>[,<toda>]

In addition on a standard GSM 07.05 ( in attach, see page 52 ) - <da> it is an optional parameter
+CMSS=<index>[,<da>[,<toda>]]

If parameter <da> it will be obligatory then this command loses sense.
In fact number on which it is needed to send SMS already stored in a memory.

As example -

AT+CMGL="STO UNSENT"
+CMGL: 8,"STO UNSENT","0506982645",""
cell 8, number 0506982645, if use command AT+CMSS=8
Means to send message from a cell 8 on a number 0506982645, parameter <da> it is used only if it is needed to change the number of recipient

SIMCOM

Please check log below. You see, you missed necessary seetings and parameter <da> in AT+CMSS command

AT+CMGF=1
OK
AT+CSCS="GSM"
OK
AT+CSCA="+8613800210500"
OK
AT+CSMP=17,167,0,240
OK
AT+CSMP?
+CSMP: 17,167,0,240
OK
AT+CPMS?
+CPMS: "SM",2,70,"SM",2,70,"SM",2,70
OK
AT+CMGW="13916520501"
> TEST
+CMGW: 3
OK
AT+CMSS=3,"13916520501"
+CMSS: 181
OK
AT+CMSS=3
ERROR
+CMT: "+8613916520501","Plato Chen","10/12/09,15:20:43+32"
TEST

Yes, we know, but by this method, SIM900 can send out the received message in receiving box; but SIM300 couldn't. This is an advantage for SIM900.
Alechek
Цитата(CADiLO @ Dec 9 2010, 14:16) *
Вот письмо и ответ SIMCOM.

SIMCOM

Please check log below. You see, you missed necessary seetings and parameter <da> in AT+CMSS command
.....
Yes, we know, but by this method, SIM900 can send out the received message in receiving box; but SIM300 couldn't. This is an advantage for SIM900.


Как сложно же с этими китайцами... Только они могут с улыбкой выдавать свои недостатки за достоинства! maniac.gif

Так и не ответили,
1. как послать сообщение из памяти, не повторяя номер.
2. почему проигнорировали стандарт.
CADiLO
1. в SIM900 правильно ТАК - AT+CMSS=8,""

отправить из 8 ячейки с номером записаным в ней - проверено на 6 версии, работает без проблем

2. в стандарте эта команда имеет статус необязательной, а значет может быть реализована или изменена на усмотрение производителя.
Alechek
Цитата(CADiLO @ Dec 9 2010, 20:57) *
1. в SIM900 правильно ТАК - AT+CMSS=8,""
2. в стандарте эта команда имеет статус необязательной, а значет может быть реализована или изменена на усмотрение производителя.


1. Это я уже опытным путем выяснил. Даже кавычки можно не ставить - достаточно запятой. Проблема в том, то не будет ли проблем в будущем, так как все-таки намудрено у них с этой комадной.

2. Да, по стандарту ее реализация необязательна. Но стандарт никак не разрешал менять ее синтаксис!!!

Да, и еще в подтверждение того что намудрили - как я говорил, в документе SIM900_SIM300_ATC_Comparison_V1.01.pdf эта команда отсутствует.
Alechek
Баг номер 2:

Пытаемся отправить СМС при очень слабом сигнале сети. В сети зарегистрированы.

1137B01SIM900M64_ST
Код
15:15:39.168> +CREG: 1
15:15:51.918> at+cmss=1,
15:16:36.543>
15:16:36.543> +CMS ERROR: 515
15:16:57.418> at+cmgd=2
15:16:57.480>
15:16:57.480> OK
15:17:23.668> at+cmss=3,
15:18:06.918>
15:18:06.918> +CMS ERROR: 515
15:22:30.105>
15:22:30.105> +CREG: 0


1137B09SIM900M64_ST
Код
18:12:14.230> at+cmss=2,
18:12:59.293>
18:12:59.293> ERROR
18:13:21.605> at+cmss=2,
18:14:06.480>
18:14:06.480> ERROR
18:14:14.855> at+cmss=2,
18:14:25.355>
18:14:25.355> +CMSS: 183
18:14:25.355>
18:14:25.355> OK
18:14:34.855> at+cmss=2,
18:15:18.668>
18:15:18.668> ERROR


Видно, что в обоих случаях модуль честно пытается передать СМС. На что уходит порядка 45 секунд (кстати, это время нигде в документации не отражено).

Отправка идет в PDU режиме.

Цитата("GSM 07.05 4.7 Send Message from Storage")
if PDU mode (+CMGF=0) and sending successful:
+CMSS: <mr>[,<ackpdu>]
if sending fails:
+CMS ERROR: <err>


Цитата(""SIM900_AT Command Manual_V1.04.pdf"")
2) If PDU mode(+CMGF=0) and sending successful:
+CMSS: <mr>

OK
3)If error is related to ME functionality:
+CMS ERROR: <err>


Откуда взялся "ERROR", не предусмотренный ни стандартом, ни собственной документацией? cranky.gif
А устройства уже проданы... А сделано все по документации....

Нелюбовь к SIM900 у меня развивается... maniac.gif
Master of Nature
Цитата(Alechek @ Aug 24 2011, 17:00) *
Баг номер 2:
Пытаемся отправить СМС при очень слабом сигнале сети. В сети зарегистрированы.
1137B01SIM900M64_ST
1137B09SIM900M64_ST
Откуда взялся "ERROR", не предусмотренный ни стандартом, ни собственной документацией? cranky.gif
А устройства уже проданы... А сделано все по документации....

Настройки формата сообщений об ошибках одинаковы в этих двух случаях?
Alechek
Да абсолютно. К тому же, варианты ответа на эту команду по сути один и тот же как для текстового режима, так и для PDU.
CADiLO
Чтение релиз нотесов к прошивкам разве уже отменили ?

Version: 1137B09SIM900M64_ST
[Improved Features]
6. Made the return value to be “ERROR” if user forwarded an inexistent SMS by executing “AT+CMSS” command.

Проверьте записан ли текст SMS во вторую ячейку той памяти откуда вы отправляете (по умолчанию симкарта)
Alechek
Из приведенного выше лога видно, что СМС есть, и отправляется успешно - в ответе на одну и туже команду присутствуют как "+CMSS", так и "ERROR".
Еще лог:
1137B07SIM900M64_ST
Код
14:43:57.328> AT+CMGF=0
14:43:57.328>
14:43:57.328> OK
14:44:02.828> AT+CREG?
14:44:02.828>
14:44:02.828> +CREG: 0,0
14:44:02.828>
14:44:02.828> OK
14:44:09.703> AT+CMGL=4
14:44:09.765>
14:44:09.765> +CMGL: 2,3,"",64
14:44:09.765> 07919722929090F011B70B919780908575F90000BF3937986C0AB2119730180C068B8160AE1CAD21
2D0A9F4F2AE8B96C10A93A102CE682C55C3218CC068AC97430980E060355A943
14:44:09.765>
14:44:09.765> OK
14:44:18.640> AT+CMSS=2,
14:44:18.640>
14:44:18.640> ERROR
14:45:29.265> AT+CREG?
14:45:29.265>
14:45:29.265> +CREG: 1,1
14:45:29.265>
14:45:29.265> OK
14:45:37.203> AT+CMSS=2,
14:45:40.703>
14:45:40.703> +CMSS: 187
14:45:40.703>
14:45:40.703> OK


СМС в памяти есть, и успешно отправляется.
Получается, при неуспешной отправке в любом случае выдается "ERROR", а не только при отсутствии в памяти СМС. В данном случае при отсутствии регистрации.
Причем и в 7-й прошивке такая лажа уже есть.
CADiLO
Естественно при отсутствии регистрации будет ошибка. А как можно отправлять SMS если модуль не готов ? - это даже элементарной логике противоречит. Все равно что в закрытую дверь входить, а потом сказать что дверь виновата в шишке на лбу.
Alechek
Эдуард, ну что вы в самом деле... Может это китайской элементарной логике и не противоречит. Но зато противоречит документации.

К тому же, то же самое на SIM300D:
Код
15:21:33.203> ATI
15:21:33.265>
15:21:33.265> SIMCOM_Ltd
15:21:33.265> SIMCOM_SIM300D
15:21:33.265> Revision:1008B14SIM300D32_SST34HF3284
15:21:33.265>
15:21:33.265> OK
15:21:36.140> AT+CREG?
15:21:36.140>
15:21:36.140> +CREG: 0,0
15:21:36.140>
15:21:36.140> OK
15:21:55.703> AT+CMGF=0
15:21:55.703>
15:21:55.703> OK
15:22:00.640> AT+CMGL=4
15:22:00.703>
15:22:00.703> +CMGL: 1,2,,19
15:22:00.703> 07919722929090F011000B913715097197F200F1FF05C8329BFD06
15:22:00.703>
15:22:00.703> OK
15:22:08.265> AT+CMSS=1,
15:22:08.328>
15:22:08.328> [b]+CMS ERROR: 515[/b]


То же для GL865-QUAD:
Код
15:31:21.734> at+gmi
15:31:21.734>
15:31:21.734> Telit
15:31:21.734>
15:31:21.734> OK
15:31:31.171> at+cgmr
15:31:31.171>
15:31:31.171> 10.00.003
15:31:31.171>
15:31:31.171> OK
15:31:53.421> at+cmgf=0
15:31:53.421>
15:31:53.421> OK
15:31:58.484> at+creg?
15:31:58.484>
15:31:58.484> +CREG: 0,0
15:31:58.484>
15:31:58.484> OK
15:32:10.421> at+cmgl=4
15:32:10.546>
15:32:10.546> +CMGL: 2,3,"",64
15:32:10.546> 07919722929090F011B70B919780908575F90000BF3937986C0AB2119730180C068B8160AE1CAD21
2D0A9F4F2AE8B96C10A93A102CE682C55C3218CC068AC97430980E060355A943
15:32:10.546>
15:32:10.546> OK
15:32:15.671> at+cmss=2
15:32:17.046>
15:32:17.046> [b]+CMS ERROR: 331[/b]


Слишком уж элементарная логика....
CADiLO
>>>>>Пытаемся отправить СМС при очень слабом сигнале сети. В сети зарегистрированы.

1137B01SIM900M64_ST
Код
15:15:39.168> +CREG: 1
15:15:51.918> at+cmss=1,
15:16:36.543>
15:16:36.543> +CMS ERROR: 515
15:16:57.418> at+cmgd=2
15:16:57.480>
15:16:57.480> OK
15:17:23.668> at+cmss=3,
15:18:06.918>
15:18:06.918> +CMS ERROR: 515
15:22:30.105>
15:22:30.105> +CREG: 0

1137B09SIM900M64_ST
Код
18:12:14.230> at+cmss=2,
18:12:59.293>
18:12:59.293> ERROR
18:13:21.605> at+cmss=2,
18:14:06.480>
18:14:06.480> ERROR
18:14:14.855> at+cmss=2,
18:14:25.355>
18:14:25.355> +CMSS: 183
18:14:25.355>
18:14:25.355> OK
18:14:34.855> at+cmss=2,
18:15:18.668>
18:15:18.668> ERROR
>>>>>Видно, что в обоих случаях модуль честно пытается передать СМС. На что уходит порядка 45 секунд (кстати, это время нигде в документации не отражено).


Итак первый лог - знаменитая ошибка 515

'CMS ERROR 515' is received in the following cases:
1. Sending a SMS when the SIM initialization is going on (after rebooting the module).
2. Reading a SMS immediately after booting the module when SIM initialization is not yet over.
3. Writing a SMS to the memory before SIM initialization is complete.
4. Sending more than one SMS at a time or sending a SMS when the response (OK or ERROR) for a previously sent SMS has not been received.


>>>Откуда взялся "ERROR", не предусмотренный ни стандартом, ни собственной документацией?

Второй лог - просто ERROR без расшифровки потому что скорее всего по умолчанию отключен расширеный вывод сообщений.
Мне кажется что если вы его включите то увидите ту же 515 ошибку.

AT+CMEE=<n>
Parameter
<n>

0 Disable +CME ERROR: <err> result code and use ERROR instead.
1 Enable +CME ERROR: <err> result code and use numeric <err>
2 Enable +CME ERROR: <err> result code and use verbose <err> values

В последних версиях по умолчанию CME выводится без расшифровки - просто ERROR.

А причину ошибки смотрите согласно ее кода. По передаче SMS проблем с модулем нет, а вот ошибки пользователей есть - наиболее частая
это пытаются передавать SMS как из пулемета не делая пауз.


>>>На что уходит порядка 45 секунд (кстати, это время нигде в документации не отражено).

Это совсем на смешно - как можно отображать в документации время, которое зависит от длины сообщения и от оператора ????
Тем более что оператор может и отказать в приеме SMS по нескольким причинам. И никак это не отображается - не ушло сообщение и все - ошибка.
SMS вообще темная штука - может и не дойти.... а может через неделю дойти.....

Для Telit

15:32:15.671> at+cmss=2
15:32:17.046>
15:32:17.046> +CMS ERROR: 331

Симка требует ввода PIN - это как отправится SMS если карта не активна ?
Alechek
CADiLO, большое спасибо, что помогли разобраться в проблеме.
AT+CMEE=1 решило проблему. Команда предусмотрена стандартом GSM 07.07, работа ее там продробно расписана (у симкома подробного описания нет).
Установки по умолчанию у симкома расписаны, у СМЕЕ оно с завода в 0 (самый старый документ у меня SIM900_ATC_V1.02.pdf, старее нет).

Цитата
Для Telit

15:32:15.671> at+cmss=2
15:32:17.046>
15:32:17.046> +CMS ERROR: 331

Симка требует ввода PIN - это как отправится SMS если карта не активна ?


Проверка PIN кода на этой симке отключена. sm.gif
CADiLO
Бывает, я сам иногда на непонятках ловился, а оказывалось все потом просто.....

По СМЕЕ в SIM900_ATC_V1.04 написано столько же сколько и в GSM 07.07 version 7.0.0 Release 1998.
Разве что в ITU есть пример с этой командой.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.