Перейти к содержанию

Команды Simcom AT+CIPDPDP и AT+CIPRDTIMER

Пытаюсь оптимизировать свои процедуры по передаче данных по 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
+CIPDPDP
+CIPRDTIMER

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

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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Спасибо за ответ, но как-то все равно не все понятно laughing.gif

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

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

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

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

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

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

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

Так как этот CIPRDTIMER работает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация