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

 
 
> Атомарность выполнения AT-команды
koluna
сообщение Jan 18 2016, 18:33
Сообщение #1


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

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Всем привет!

Может ли в процессе выполнения AT-команды, т. е., между запросами AT+XXX и ответами типа OK, ERROR, ... от модуля/модема придти какой-нибудь URC?
Ну, кроме +CME/CMS и ответов с данными...
Задекларировано ли это где-нибудь?

Код
AT+XXX ...

+ZZZ или что-то еще

+XXX ...
OK | ERROR ...


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
4 страниц V  < 1 2 3 4 >  
Start new topic
Ответов (30 - 44)
Baser
сообщение Jan 20 2016, 15:02
Сообщение #31


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

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



Цитата(Alechek @ Jan 20 2016, 14:56) *
Так уж вышло, что наше изделие пережило в себе всю последовательность SIM300D-SIM900D-SIM900-SIM900R-SIM900DS, теперь будет пережовывать и SIM800C-DS.
И на весь этот табор одна прошивка. И в ней надо определять тип модема, чтобы потом плясать под него.

То, что у вас заложена поддержка всех выпускавшихся ранее плат, это конечно удобно, но только до определенной степени.
Если модели по функционалу различаются, после какого-то процента различий удобней разделять проекты.
Я тоже поддерживаю десяток похожих модификаций приборов, с унификацией 40-70% (навскидку).
Сначала пытался строить общие файлы проектов, изголяться с условной трансляцией, чтобы оставить один проект на все модификации,
а потом плюнул - проблем больше, чем преимуществ. Допускаешь одну ошибку - и все н-дцать приборов с глюком.
Сейчас один прибор - один проект с парой мелких модификаций.

А по поводу вашего спора о сложности разбора ответов модема, все похоже на тот анекдот, когда говорят:
"Ну, да, ужас! Но никак не УЖАС!!! УЖАС!!!" biggrin.gif
Проблемы, конечно, есть, но они обходятся.

Цитата(koluna @ Jan 20 2016, 15:35) *
Так все-таки такое поведение (разрыв строки в любом месте) - баг или нет? sm.gif

Цитата(CADiLO @ Jan 20 2016, 15:44) *
С точки зрения пользователя и написания обработчика - можно считать багом.
Но вот с точки зрения GSM cтека - нормальное явление. Ну не додумали малость когда стек писали.
А на сегодня исправлять это уже никто не станет.

На мой взгляд это баг, и баг серьезный.
Это баг на уровне операционки в части организации доступа к разделяемому ресурсу типа последовательного порта.
Или, что более вероятно, не на уровне самой РТОС, а на уровне её применения в стеке.
Это один из важнейших сервисов любой РТОС и баги в нем недопустимы.

И если такой баг бы был, его бы давно уже по тихому пофиксили с короткой строчкой в Релиз Нотес:
"Минор баг фиксет ин модем ансверс" biggrin.gif
Go to the top of the page
 
+Quote Post
Alechek
сообщение Jan 20 2016, 15:12
Сообщение #32


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

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



Цитата(CADiLO @ Jan 20 2016, 19:49) *
.. то я предпочту пользоваться документацией именно производителя железки,
так как там будет реализованая трактовка, а не предусматриваемая. А при сомнениях еще и запрошу - что именно имелось в виду.

К сожалению так оно и есть. И все эти стандарты по сути 100% рекомендательные для поизводителей. Просто по факту получается, что нечаянно документация от производителя в какой-то части соответствует стандарту /потому-что кто-то все таки что-то припомнил/лень было свое изобретать/

А потом нечаянно оказыватся что симки несовсметимы с модулями, модули несовместимы с базовыми станциями и т.п. А во всем виноват стек GSM, потому что он лицензионный и туда никто лезть не имеет права. Это я так, утрирую.


Цитата(ArtemKAD @ Jan 20 2016, 19:55) *
40кБ кода для треккера? Он что, еще и танцевать умеет? Добавка GPRS это 3-4кБ от силы.

Ну, есть у нас и со 150 кб кода прошивка. Танцевать не умеет, но многое может.

Про GSM-GPRS прибавку я ж написал, что в простом варианте 4.5 кб+0.5 PDU. В серьезных и за 20 кБ зашкаливает.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Jan 21 2016, 10:57
Сообщение #33


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

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



Цитата(CADiLO @ Jan 20 2016, 19:32) *
Можно конечно и начихать, но если бы все было так просто никто бы эти сообщения не выводил.
sm.gif

Бесполезны они. SIM800H:

+CME ERROR: 793 в ответ на AT+CBST=7,0,1

приходит уже после Call Ready и SMS ready:

CODE
15:18:59.334> 9¢<0><0><0><0><0><0>AT
15:18:59.334>
15:18:59.334>
15:18:59.334> OK
15:18:59.334>
15:18:59.772>
15:18:59.772>
15:18:59.772> RDY
15:18:59.772>
15:18:59.772>
15:18:59.772>
15:18:59.772> +CFUN: 1
15:18:59.772>
15:19:00.584>
15:19:00.584>
15:19:00.584> +CPIN: READY
15:19:00.584>
15:19:01.397> ATE0
15:19:01.397>
15:19:01.397>
15:19:01.397> OK
15:19:01.397>
15:19:01.709>
15:19:01.709>
15:19:01.709> Revision:1308B05SIM800H32_BT
15:19:01.709>
15:19:01.709>
15:19:01.709>
15:19:01.709> OK
15:19:01.709>
15:19:01.928>
15:19:01.928>
15:19:01.928> +CSMINS: 0,1
15:19:01.928>
15:19:01.928>
15:19:01.928>
15:19:01.928> OK
15:19:01.928>
15:19:02.209>
15:19:02.209>
15:19:02.209> +CPIN: READY
15:19:02.209>
15:19:02.209>
15:19:02.209>
15:19:02.209> OK
15:19:02.209>
15:19:02.475>
15:19:02.475> 897010221042981810ff
15:19:02.475>
15:19:02.475>
15:19:02.475>
15:19:02.475> OK
15:19:02.475>
15:19:02.569>
15:19:02.725>
15:19:02.725>
15:19:02.725> 250022104298181
15:19:02.725>
15:19:02.725>
15:19:02.725>
15:19:02.725> OK
15:19:02.725>
15:19:03.288>
15:19:03.350>
15:19:03.350> Call Ready
15:19:03.350>
15:19:03.538>
15:19:03.538>
15:19:03.538> OK
15:19:03.538>
15:19:03.788>
15:19:03.788>
15:19:03.788> OK
15:19:03.788>
15:19:03.913>
15:19:03.913>
15:19:03.913> SMS Ready
15:19:03.913>
15:19:03.975>
15:19:03.975>
15:19:03.975> +CME ERROR: 793
15:19:03.975>
15:19:04.225>
15:19:04.225>
15:19:04.225> +CME ERROR: 793
15:19:04.225>
15:19:04.475>
15:19:04.538>
15:19:04.538> +CME ERROR: 793
15:19:04.538>
15:19:04.725>
15:19:04.725>
15:19:04.725> +CME ERROR: 793
15:19:04.725>
15:19:05.038>
15:19:05.038>
15:19:05.038> +CME ERROR: 793
15:19:05.038>
15:19:05.288>
15:19:05.288>
15:19:05.288> +CME ERROR: 793
15:19:05.288>
15:19:05.538>
15:19:05.538>
15:19:05.538> OK


После нескольких неудачных попыток все таки приходит ОК. Параметры команды соответствуют документации на модем.
Ждать еще манны небесной какое сообщение готовности модуля?



И Ой! В SIM800 исправили наконец-то команду +CMSS - не надо теперь в конце "," посылать!
Правда, совместимость не оставили - если SIM300D переваривали команду с запятой в конце, то SIM800 ругается на нее +CMS ERROR: 325 /invalid input value/ cranky.gif
Go to the top of the page
 
+Quote Post
Baser
сообщение Jan 21 2016, 11:11
Сообщение #34


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

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



Цитата(Alechek @ Jan 21 2016, 12:57) *
Ждать еще манны небесной какое сообщение готовности модуля?

Чего то мне кажется, что вы слишком много хотите от модуля. Зачем его мучить командами до его готовности.
Зачем "AT" еще до прихода RDY, когда работа СОМ порта еще не гарантируется.
Ну и наверно, многие ваши команды еще не работают до Call Ready (команд не видно, так что ничего подробнее сказать не могу)
Go to the top of the page
 
+Quote Post
Alechek
сообщение Jan 21 2016, 12:06
Сообщение #35


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

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



Вообще, COM порт (TA по терминологии GSM 07.07) доступен (с ним можно работать) с момента появления STATUS на ножке. Это соблюдается неукоснительно.
Работу TA проверяем по ответу на "AT". Тут кому как - хочет ждет RDY (а его не будет, если у нас скорость порта не фикирована), хочет долбится периодически.
Call ready нам по барабану - с телефонной книгой не работаем. SMS ready раньше не было - и ничего, жили.
Aх да, PAS не проверил. Ну так тут было сказано, что это пережиток, и достаточно Call + SMS ready.

Я же хочу сказать, что верить этому нельзя, как не стоило верить в чудный Reset.
И симкому лучше дружить с существующими стандартами и логикой, чем выдумывать свое.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Jan 21 2016, 15:10
Сообщение #36


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

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



Да, как оказалось, с +CPAS вариант не китайский,

CODE
19:47:10.459> AT+CREG?;+CGREG?;+CPAS
19:47:10.459>
19:47:10.459> +CREG: 0,3
19:47:10.459>
19:47:10.459> +CGREG: 0,3
19:47:10.459>
19:47:10.459> +CPAS: 2
19:47:10.459>
19:47:10.459> OK
19:47:13.834> AT+CREG?;+CGREG?;+CPAS
19:47:13.834>
19:47:13.834> +CREG: 0,2
19:47:13.834>
19:47:13.834> +CGREG: 0,2
19:47:13.834>
19:47:13.834> +CPAS: 2
19:47:13.834>
19:47:13.834> OK
19:47:17.209> AT+CREG?;+CGREG?;+CPAS
19:47:17.209>
19:47:17.209> +CREG: 0,0
19:47:17.209>
19:47:17.209> +CGREG: 0,0
19:47:17.209>
19:47:17.209> +CPAS: 2
19:47:17.209>
19:47:17.209> OK

И в 0 оно скидивается только когда есть регистрация в сети.

Кто бы сказал, чего ждать?
Код
20:02:17.163> AT
20:02:17.163>
20:02:17.163> OK
20:02:17.538>
20:02:17.600> RDY
20:02:17.600>
20:02:17.600> +CFUN: 1
20:02:18.350>
20:02:18.350> +CPIN: READY
20:02:21.163>
20:02:21.163> Call Ready
20:02:21.725>
20:02:21.725> SMS Ready
20:02:24.225> AT+CREG?;+CGREG?;+CPAS
20:02:24.225>
20:02:24.225> +CREG: 0,3
20:02:24.225>
20:02:24.225> +CGREG: 0,3
20:02:24.225>
20:02:24.225> +CPAS: 2
20:02:24.225>
20:02:24.225> OK
20:02:24.413> AT+CBST=?;+CBST=7,0,1
20:02:24.413>
20:02:24.413> +CBST: (0,4-7,12,14,68,70-71,75),(0,4),(0-3)
20:02:24.413>
20:02:24.413> ERROR
--
10:47:47.146> AT+CREG?;+CGREG?;+CPAS
10:47:47.146>
10:47:47.146> +CREG: 0,2
10:47:48.083>
10:47:48.083> Call Ready
10:47:48.083>
10:47:48.083> +CGREG: 0,2
10:47:48.083>
10:47:48.083> +CPAS: 2
10:47:48.083>
10:47:48.083> OK
10:47:48.240> AT+CBST?;+CBST=7,0,1
10:47:48.240>
10:47:48.240> +CBST: 7,0,1
10:47:48.240>
10:47:48.240> ERROR


Команда возможна, параметры допустимы, значение считать можно, но установить - ERROR. Или где-то написано, что она операторозависима и возможно ее выполнить только если есть регистрация в сети?
Попутно вопрос, а что, ее каждый раз надо делать после регистрации? В новой сети все по-новому?
Go to the top of the page
 
+Quote Post
Alechek
сообщение Jan 22 2016, 05:53
Сообщение #37


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

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



.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Feb 9 2016, 16:30
Сообщение #38


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

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



Еще приколы SIMCOM

Вот пойми его, PIN готов? или не готов? или вобще я/модуль/ с ума сошел?
Цитата
20:54:34.027> Revision:1308B05SIM800H32_BT
20:54:34.027>
20:54:34.027> OK
20:54:34.277> AT+CSMINS?
20:54:34.277>
20:54:34.277> +CSMINS: 0,1
20:54:34.277>
20:54:34.277> OK
......
20:54:35.340> AT+CPIN?
20:54:35.340>
20:54:35.340> ERROR
20:54:35.418>
20:54:35.418> +CPIN: READY
20:54:35.418>
20:54:35.418> +CPIN: NOT READY
20:54:35.590> AT+CPIN?
20:54:35.590>
20:54:35.590> ERROR
....


Или

6.2.38 AT+CCALR Call Ready Query

Цитата
21:04:40.355> AT+CCALR?
21:04:40.355>
21:04:40.355> +CCALR: 0
21:04:40.355>
21:04:40.355> OK
21:04:40.605>
21:04:40.605> Call Ready
21:04:40.855> AT+CCALR?
21:04:40.855>
21:04:40.855> +CCALR: 0
21:04:40.855>
21:04:40.855> OK
21:04:41.355> AT+CCALR?
21:04:41.355>
21:04:41.355> +CCALR: 0
21:04:41.355>
21:04:41.355> OK
21:04:41.918> AT+CCALR?
21:04:41.918>
21:04:41.918> +CCALR: 0
21:04:41.918>
21:04:41.918> OK
21:04:42.293>
21:04:42.293> SMS Ready
21:04:42.418> AT+CCALR?
21:04:42.418>
21:04:42.418> +CCALR: 0
21:04:42.418>
21:04:42.418> OK

Так Ready или нет?

Ввод PIN-кода
Код
1:13:56.621> AT+CSMINS?
21:13:56.621>
21:13:56.621> +CSMINS: 0,1
21:13:56.621>
21:13:56.621> OK
21:13:56.871> AT+CPIN?
21:13:56.871>
21:13:56.871> +CPIN: SIM PIN
21:13:56.871>
21:13:56.871> OK
21:13:57.183> AT+CPIN=7324
21:13:57.308>
21:13:57.308> [b]ERROR[/b]


Смотрим в мануал:
Цитата
Response
TA stores a password which is necessary before it can be operated (SIM
PIN, SIM PUK, PH-SIM PIN, etc.).
If the PIN required is SIM PUK or SIM PUK2, the second pin is required.
This second pin, <new pin>, is used to replace the old pin in the SIM.
OK
If error is related to ME functionality:
+CME ERROR: <err>


Так почему же ERROR, команда то выполнилась?!
Где же заветный "+CME ERROR: 16", который по стандарту и который всегда был?

ERROR означает, что команда не выполнилась. Таким образом, если она все-таки верна, ее следует повторить.
А тут шустро повторили 3 раза - и все, монтажник, ищи PUK...
Go to the top of the page
 
+Quote Post
Baser
сообщение Feb 9 2016, 17:11
Сообщение #39


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

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



Цитата(Alechek @ Feb 9 2016, 18:30) *
Вот пойми его, PIN готов? или не готов? или вобще я/модуль/ с ума сошел?

У меня два варианта: или отваливается SIM карта и модуль переключается туда-сюда,
или модуль просто сам по себе глючит sm.gif

Цитата
Где же заветный "+CME ERROR: 16", который по стандарту и который всегда был?

У вас AT+CMEE включено?
А то по-умолчанию +CMEE: 0
и всегда выдается просто ERROR


Вообще первый пример взможен при отваливании симки,
второй пример с AT+CCALR прикольная лажа,
а в третьем примере ничего необычного не вижу.
Go to the top of the page
 
+Quote Post
smalcom
сообщение Feb 9 2016, 17:59
Сообщение #40


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

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Цитата
PIN готов? или не готов? или вобще я/модуль/ с ума сошел?

проверьте трассировку http://electronix.ru/forum/index.php?showtopic=131098

Цитата
6.2.38 AT+CCALR Call Ready Query

на ваше усмотрение)) тов CADiLO говорил, что логика у этих модемов такова: пока не пришёл CallReady - ничего не обещаем.

Цитата
3

если CMEE > 0, но приходит ERROR, то ошибка может быть в синтаксисе команды: попробуйте заключить в кавычки пин-код.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Feb 10 2016, 05:40
Сообщение #41


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

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



Цитата(Baser @ Feb 9 2016, 22:11) *
У меня два варианта: или отваливается SIM карта и модуль переключается туда-сюда,
или модуль просто сам по себе глючит sm.gif

С целью проверить устойчивость готового изделия, начал туда втыкать все симки, что нашел у себя на столе. В том числе и нерабочие /убитые более ранними изделиями/.
Вот от такой нерабочей модуль и сошел с ума.
Пускай меня закидают камнями, со словами "нечего подсовывать модулю нечто не работающее по стандарту", я же лишь констатирую, что обработка ошибок в модуле реализована, мягко говоря, плохо.

Цитата(Baser @ Feb 9 2016, 22:11) *
У вас AT+CMEE включено?
А то по-умолчанию +CMEE: 0
и всегда выдается просто ERROR

Спасибо, Вы правы!
СМЕЕ устанавливался, но позже. Видать 300 и 900 серии либо сохраняли настройку без ведома пользователя, либо CMEE=1 по-умолчанию.

Кстати, по первому примеру, после включения CMEE=1
Код
10:42:09.012> AT+CSMINS?
10:42:09.012>
10:42:09.012> +CSMINS: 0,1
10:42:09.012>
10:42:09.012> OK
10:42:09.262> AT+CPIN?
10:42:09.262>
10:42:09.324> +CME ERROR: 14
10:42:09.574>
10:42:09.574> +CPIN: READY
10:42:09.574>
10:42:09.574> +CPIN: NOT READY
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Feb 10 2016, 10:20
Сообщение #42


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

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



Цитата(Alechek @ Feb 10 2016, 07:40) *
С целью проверить устойчивость готового изделия, начал туда втыкать все симки, что нашел у себя на столе. В том числе и нерабочие /убитые более ранними изделиями/.
Вот от такой нерабочей модуль и сошел с ума.


А если вставить её в телефон, то вполне может быть и рабочей. Таки есть большая вероятность что проблема не с картой, а с разводкой(масса карты подключена к общему полигону) или схемой её подключения...
Go to the top of the page
 
+Quote Post
Alechek
сообщение Feb 10 2016, 11:38
Сообщение #43


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

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



Цитата(ArtemKAD @ Feb 10 2016, 15:20) *
А если вставить её в телефон, то вполне может быть и рабочей. Таки есть большая вероятность что проблема не с картой, а с разводкой(масса карты подключена к общему полигону) или схемой её подключения...

Как грится, не первый раз замужем. rolleyes.gif Оставим это для начинающих...
C ней и motorola C350 с ума сходит. У нее файловая система нарушилась - некоторые блоки не читаются. Проверено Кардиналом через сим-считыватель.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 11 2016, 06:57
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Baser @ Jan 20 2016, 21:02) *
И если такой баг бы был, его бы давно уже по тихому пофиксили с короткой строчкой в Релиз Нотес:
"Минор баг фиксет ин модем ансверс" biggrin.gif

Тем не менее такие баги есть и производитель фиксить их не собирается. Его ответ:
"Работ по исправлению этой проблемы в нашей дорожной карте нет. Данное ПО писалось сторонней командой по субподряду, мы с ней больше не работаем. Применяйте наши новые модули - там этой проблемы нет".
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Feb 11 2016, 07:33
Сообщение #45


Гуру
******

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



В 900-й серии уже ничего меняться не будет. В марте EOL SIM900R, а там и остальные модули подтянутся.

Велкам то SIM800x - претензии принимаются дистрибьюторами.


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

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

 


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


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