|
SIM900 и стандарты GSM, Соответствие AT команд стандартам |
|
|
|
Dec 8 2010, 08:50
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Пока найден первый баг: +СMSS Версия прошивки 1137B05SIM900D64_STстандарт Цитата("GSM 07.05 3.5.2 Send Message from Storage") +CMSS=<index>[,<da>[,<toda>]] синтакс SIM900 отличается от стандарта. Цитата("SIM900_ATC_V1.02.pdf") +CMSS=<index>,<da>[,<toda>] причем в документе SIM900_SIM300_ATC_Comparison_V1.01.pdf по поводу команды +СMSS ни слова. соответственно Код > AT+CMGL="ALL" > > +CMGL: 1,"STO UNSENT","+7XXXXXXXXXX","" > 12345 > > OK > AT+CMSS=1 > ERROR как послать сообщение с симки, не забивая снова номер, который по идее опциональный, - непонятно!
|
|
|
|
|
Dec 8 2010, 10:21
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Цитата(etoja @ Dec 8 2010, 16:06)  Значит она не реализована. Реализована. Забыл антенну воткнуть Но все равно, проблема остается: Код 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
|
|
|
|
|
Dec 9 2010, 08:16
|

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

|
Вот письмо и ответ 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.
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Dec 9 2010, 14:14
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Цитата(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. Как сложно же с этими китайцами... Только они могут с улыбкой выдавать свои недостатки за достоинства! Так и не ответили, 1. как послать сообщение из памяти, не повторяя номер. 2. почему проигнорировали стандарт.
|
|
|
|
|
Dec 9 2010, 15:59
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Цитата(CADiLO @ Dec 9 2010, 20:57)  1. в SIM900 правильно ТАК - AT+CMSS=8,"" 2. в стандарте эта команда имеет статус необязательной, а значет может быть реализована или изменена на усмотрение производителя. 1. Это я уже опытным путем выяснил. Даже кавычки можно не ставить - достаточно запятой. Проблема в том, то не будет ли проблем в будущем, так как все-таки намудрено у них с этой комадной. 2. Да, по стандарту ее реализация необязательна. Но стандарт никак не разрешал менять ее синтаксис!!! Да, и еще в подтверждение того что намудрили - как я говорил, в документе SIM900_SIM300_ATC_Comparison_V1.01.pdf эта команда отсутствует.
|
|
|
|
|
Aug 24 2011, 13:00
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Баг номер 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", не предусмотренный ни стандартом, ни собственной документацией? А устройства уже проданы... А сделано все по документации.... Нелюбовь к SIM900 у меня развивается...
|
|
|
|
|
Aug 24 2011, 13:49
|
Мыслящий
    
Группа: Свой
Сообщений: 1 729
Регистрация: 20-07-07
Из: Самара
Пользователь №: 29 270

|
Цитата(Alechek @ Aug 24 2011, 17:00)  Баг номер 2: Пытаемся отправить СМС при очень слабом сигнале сети. В сети зарегистрированы. 1137B01SIM900M64_ST1137B09SIM900M64_STОткуда взялся "ERROR", не предусмотренный ни стандартом, ни собственной документацией? А устройства уже проданы... А сделано все по документации.... Настройки формата сообщений об ошибках одинаковы в этих двух случаях?
--------------------
FAQ по ADФорум по ADЗнание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью. ...стоит запомнить ...вернее задуматься.
|
|
|
|
|
Aug 25 2011, 08:51
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Из приведенного выше лога видно, что СМС есть, и отправляется успешно - в ответе на одну и туже команду присутствуют как "+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-й прошивке такая лажа уже есть.
|
|
|
|
|
Aug 25 2011, 09:40
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Эдуард, ну что вы в самом деле... Может это китайской элементарной логике и не противоречит. Но зато противоречит документации. К тому же, то же самое на 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] Слишком уж элементарная логика....
|
|
|
|
|
Aug 25 2011, 10:02
|

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

|
>>>>>Пытаемся отправить СМС при очень слабом сигнале сети. В сети зарегистрированы.
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 если карта не активна ?
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|