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

 
 
 
Reply to this topicStart new topic
> Команды Simcom AT+CIPDPDP и AT+CIPRDTIMER, Поясните их смысл
Baser
сообщение Dec 28 2017, 14:05
Сообщение #1


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

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



Пытаюсь оптимизировать свои процедуры по передаче данных по TCP при помощи модемов Simcom.
В очередной раз изучаю АТ команды, может чего незамеченного ранее найду.

Нашел команды AT+CIPDPDP и AT+CIPRDTIMER, которые есть уже с SIM900, но упоминаний о них в Application Notes я не нашел,
а их описания в AT Command Manual очень скудные и понимания не дают.

Значения по умолчанию:
+CIPDPDP: 1,10,3
+CIPRDTIMER: 2000,3500

Где про это почитать можно? Может это именно то, что я ищу? sm.gif

Что в команде AT+CIPDPDP значат параметры <interval> и <timer>

Что будет происходить при изменении задержки командой AT+CIPRDTIMER
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Dec 28 2017, 19:47
Сообщение #2


Гуру
******

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



+CIPDPDP
+CIPRDTIMER

http://microchip.ua/simcom/SIM800x/SIM800%...anual_V1.10.pdf

правда в апнотес пока не внесена

как только AN обновят, выложу по известному всем адресу - прямой вход
http://microchip.ua/simcom/
далее по каталогам


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
Baser
сообщение Dec 28 2017, 21:33
Сообщение #3


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

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



Извиняйте, Эдуард, не понял вашей отсылки к AT Command Manual.
Тот текст, что в них содержится, не меняется года с 2013.
Но я хоть и работаю с модемами уже достаточно давно, все равно могу только догадываться, на что эти параметры реально влияют sad.gif

Поиск в Гугле приводит к нескольким, похожим на мой, вопросам без единого ответа.
Видимо, эти команды были добавлены по просьбе какого-нибудь заказчика, и только он точно знает, для чего они нужны.
Go to the top of the page
 
+Quote Post
Цырен.
сообщение Jan 11 2018, 07:35
Сообщение #4


Евгений
***

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



CIPDPDP:
бывает PDP контекст прерывается и об этом хочется узнать (+PDP: DEACT), чтобы сбросить стек в исходное состояние(CIPSHUT) и восстановить связь ЗАНОВО (CSTT, CIICR, CIIFSR, CIPSTART). Часто, заказчики при при потере связи с сервером пытаются восстановить TCP соединение не сбрасывая стек модуля в исходное состояние (CIPSHUT), от чего связь не восстанавливается, выдавая ERROR раз за разом и только спустя некоторый таймаут производится ненужная перезагрузка модуля. Куда быстрее будет, если вы узнаете, что PDP контекст прерван и стек модуля надо сбросить в исходное состояние.
timer - как часто проверять состояние контекста;
interval - временной коридор для проверки (как долго).

CIPRDTIMER:
обычно, при потере связи с сервером, модуль ждет ответы с длинным тайм-аутом (может быть и 645 сек, смотря какая операция активна). А бывает сервер просто завис, отключился или просто закрыл сессию не оповестив об этом модуль. Для того, чтобы не вешать стек, есть таймеры, по истечении которых модуль сам закроет соединение (выведет стек в состояние как после CIPCLOSE):
rdsigtimer - для односокетного соединения;
rdmuxtimer - для мультисокетного соединения.

Сообщение отредактировал Цырен. - Jan 11 2018, 07:38


--------------------
Go to the top of the page
 
+Quote Post
Baser
сообщение Jan 12 2018, 16:57
Сообщение #5


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

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



Спасибо за ответ, но как-то все равно не все понятно laughing.gif

CIPDPDP:
Понятно, что когда включен контроль (mode=1) то модуль проверяет что контекст активный и в случае его деактивации сетью выдает URC "+PDP: DEACT"

Но почему в названии команды "Set Whether to Check State of GPRS Network Timing" есть слово Timing
К чему оно тут?

И параметры:
Цитата(Цырен. @ Jan 11 2018, 09:35) *
timer - как часто проверять состояние контекста;
interval - временной коридор для проверки (как долго).

Что значит временной коридор? Как долго модуль ждет ответа от сети на специфичную команду проверки статуса PDP?
Тогда по логике значение параметров должно быть обратным:
interval - период проверки,
а timer - время ожидания ответа.

CIPRDTIMER:
Тоже непонятно, от какого события/момента считается таймаут?

Там по умолчанию rdsigtimer=2000 - для односокетного соединения, т.е. 2 секунды.
И вкл/откл таймера нет, т.е. он всегда активен.

А я подключаюсь через TCP к серверу, гоняю данные, потом выключаю сервер, пытаюсь послать данные с модуля (соединение-то только что было). Моя программа для модема ждет, потом шлет повтор данных, потом после 2 минут ожидания сама закрывает на модеме соединение. Никакого URC от модема так и не приходит.

Так как этот CIPRDTIMER работает?
Go to the top of the page
 
+Quote Post

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

 


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


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