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

 
 
> Если нет ответа на команду, что делать?
Rash
сообщение Oct 5 2017, 08:29
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



Добрый день.
Есть несколько вопросов относительно правильной последовательности при общении AT командами с SIM800R?

1. В SIM800R была передана AT команда, но на неё нет ответа или пришел ошибочный (битый) ответ. Что делать по истечению определённого таймаута? Какое это должно быть время (хотя бы для команд независимых от сети)?

Предполагаю, что если нет ответа, то необходимо послать эту команду ещё раз, например через 1..5 секунд. Но этот метод не эффективный, т.к. на самом деле модуль задумывается (это уже выяснили почему) и даёт ответ потом на две команды подряд. Например:

Код
AT        // Проверка связи и ждём 2 секунды ответа
AT        // ответа нет, истёк таймаут, посылаю ещё раз
OK        // ответа на 1-ую команду AT

AT+CBC    // Запрос напряжения АКБ, т.к. я получил OK на предыдущую команду

OK        // ответа на 2-ую команду AT  [b]!!! Тут происходит коллизия[/b]

+CBC: 0,92,4136    // Ответ напряжения АКБ
OK            // Ответ OK для запроса напряжения АКБ


В данном примере коллизию можно обойти т.к. я жду конкретный ответ для обработки +CBC

Но вот вариант с вклиниванием передачи данных, например по BT, смещает мой обработчик. Можно дописать ещё различных условий, но не считай, что так работать правильно.

Код
AT        // Проверка связи и ждём 2 секунды ответа
AT        // ответа нет, истёк таймаут, посылаю ещё раз
OK        // ответа на 1-ую команду AT

+BTSPPDATA: 1,16,SIMCOMSPPFORAPP    // Пришли данные по BT

AT+CBC    // Запрос напряжения АКБ, т.к. я получил OK на предыдущую команду

OK        // ответа на 2-ую команду AT  [b]!!! Тут происходит коллизия[/b]

AT+BTSPPSEND=1,11    // Запрос на передачу по BT, т.к. я получил OK на предыдущую команду

+CBC: 0,92,4136    // Ответ напряжения АКБ
OK                // Ответ OK для запроса напряжения АКБ

> SPP APP OK        // Передаю по BT, т.к. я получил OK на предыдущую команду
SEND OK            // Подтверждение передачи


2. Другой вариант - установить таймаут ожидания где-то 60 секунд, на любую команду (независимую от оператора) и если нет ответа, перегружать модуль.

Подскажите, кто как делал и какие есть рекомендации от производителя?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
CADiLO
сообщение Oct 5 2017, 13:40
Сообщение #2


Гуру
******

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



Все предусмотреть невозможно sm.gif
Одесситы лет 8 назад выпускали модемы на Wavecom модулях. Ставились они в ящики к контроллерам управления светофорами.
Так вот случилось так что один из ящиков висел на том же столбе где висело управление стрелкой для трамвая.
Ну а трамваи естественно на стрелке часто искрят пантографом. Не знаю уж как там эта искровая помеха наводилась, но модем не просто зависал, а зависал так что только питанием перезапускался.

И я еще когда-то показывал классический зависон из-за логической ошибки в GSM стеке.
Если модуль или телефон находится в предответном состоянии и пропал сигнал соты, то после появления сигнала он не выйдет из цикла и так и будет тупо ждать.
Причем такая "черная дыра" есть у меня на огороде. Если я пройду через нее с телефоном в момент когда CLCC <stat> = 5 , то все, только выключение.

Или как предусмотреть заскоки операторов? Вон LMT в свое время плюнул на стандарт и поменял логику работы с командой COPS.
И все, приехали - часть модулей не может зарегиться в сети, так как тупо получает неверный ответ на какой-то там слой шифрования.
А телефоны, не использующие это, так как они не М2М устройства и им не нужно это по стандарту, конечно регятся в сети быстрее.


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

Сообщений в этой теме
- Rash   Если нет ответа на команду, что делать?   Oct 5 2017, 08:29
- - CADiLO   А ведь это описано в документации Установить фик...   Oct 5 2017, 09:08
- - Rash   Скорость фиксированная 9600 кбит/сек (было и 11520...   Oct 5 2017, 11:02
- - CADiLO   Странно... Чтобы модуль на АТ не ответил.... Теоре...   Oct 5 2017, 11:46
- - Rash   Модуль на AT команду отвечает. И отвечает 2 раза. ...   Oct 5 2017, 12:22
- - CADiLO   Вы так и не поняли. >>> Жду ответ, если ...   Oct 5 2017, 12:29
- - Rash   Ув. CADiLO, скажите, что из приведенных Вами цитат...   Oct 5 2017, 13:00
- - CADiLO   Почему у меня больше чем за десяток лет работы с м...   Oct 5 2017, 13:10
- - Rash   Я просто предусматриваю такую возможность, что мож...   Oct 5 2017, 13:28
- - Rash   Я ж думаю одесситы в следующей версии добавили воз...   Oct 5 2017, 14:02
|- - Short Circuit   хм.. Я тоже периодически проверяю кроме регистраци...   Oct 6 2017, 04:39
- - Mysteo   Что-то у вас правда в схеме наворочено, работал с ...   Oct 6 2017, 05:22
- - Rash   Я уже ранее писал, такое бывает не всегда и может ...   Oct 6 2017, 06:03
- - gerber   Судя по всему, у вас включен какой-то Hardware Flo...   Oct 6 2017, 06:21
- - Rash   Кроме скорости ничего в параметрах порта не менял,...   Oct 6 2017, 06:27
- - CADiLO   Может где лишнюю подтяжку на UART поставили? Пока...   Oct 6 2017, 06:31
- - Rash   Схему загрузил Цепи идущие на мк STM32 GSM_PWRKEY ...   Oct 6 2017, 07:04
- - Mysteo   Уберите резистор R64 и вроде будет счастье на лин...   Oct 6 2017, 07:05
- - CADiLO   Ну как бы да, в даташите нет этих резисторов. Возм...   Oct 6 2017, 08:40
- - Rash   понял, спасибо, ближе к вечеру уберу резисторы R64...   Oct 6 2017, 09:03
- - CADiLO   >>>>Забыл указать, на схеме он не нари...   Oct 6 2017, 09:32
- - Rash   Удалил резистор R64 на линии TXD отчасти помогло. ...   Oct 7 2017, 16:23
|- - abi   Проверьте как настроен режим управления потоком в ...   Oct 9 2017, 13:41
- - Alex311   Здравствуйте, извините может не в ту тему пишу... ...   Oct 9 2017, 13:07
- - Rash   Команда передаётся по линии TX. Первый ответ по RX...   Oct 9 2017, 13:55
- - Rash   Запрос -ответ КодAT+IFC? +IFC: 0,0 что означае...   Oct 9 2017, 15:03
|- - jcxz   Цитата(Rash @ Oct 9 2017, 18:03) Запрос -...   Oct 10 2017, 08:39
- - Mysteo   Попробуйте использовать переходник USB - UART и че...   Oct 10 2017, 08:22
- - Rash   Mysteo, в чём может быть логическая ошибка ПО, есл...   Oct 10 2017, 12:11
- - Rash   Добавлю ещё одно интересное наблюдение. В ожидании...   Oct 10 2017, 14:13
- - Rash   И ещё неприятный подарок от модуля, на скорости 11...   Oct 11 2017, 08:35
- - CADiLO   Хоть и считается что RTOS в модуле многозадачная, ...   Oct 11 2017, 09:38
- - Rash   Я с Вами согласен, что приоритет для GSM стетка. Н...   Oct 11 2017, 11:06
- - CADiLO   RE: Если нет ответа на команду, что делать?   Oct 11 2017, 11:21
- - Rash   Проверил в терминалке, результат точно такой же. Д...   Oct 11 2017, 14:57
- - CADiLO   Попробую на выходные покрутить в цикле вашу инициа...   Oct 11 2017, 17:29
- - Rash   Вечером вообще всё лишнее отключил. Запитал от лаб...   Oct 11 2017, 19:43
- - ArtemKAD   А че выдает по AT+GMR и AT&V ?   Oct 12 2017, 05:25
- - Rash   После включения КодAT+GMR Revision:1418B07SIM...   Oct 12 2017, 06:18
- - CADiLO   СТОП!!! +IPR: 0 Скорость стоит в авт...   Oct 12 2017, 06:51
- - Rash   Я на это тоже обратил внимание. Но когда читаю ско...   Oct 12 2017, 07:07
- - CADiLO   Странно..... >>> Подключил FT232RL (I/O ...   Oct 12 2017, 07:42
- - Rash   FT232RL подключал сейчас, потом делители стоят, ка...   Oct 12 2017, 08:03
- - ArtemKAD   Странно. Помимо раздела DEFAULT PROFILE должны быт...   Oct 12 2017, 11:32
- - Rash   ArtemKAD, Отредактировал предыдущий пост с командо...   Oct 12 2017, 11:53
- - CADiLO   Я сначала тоже думал на автозасыпание, но не склад...   Oct 12 2017, 12:28
- - abi   Попробуйте погонять в цикле другую команду, к прим...   Oct 12 2017, 14:42
- - Rash   Скорость зафиксирована. На команду GMM поведение т...   Oct 12 2017, 15:51


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

 


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


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