Baser 5 28 декабря, 2017 Опубликовано 28 декабря, 2017 · Жалоба Пытаюсь оптимизировать свои процедуры по передаче данных по TCP при помощи модемов Simcom. В очередной раз изучаю АТ команды, может чего незамеченного ранее найду. Нашел команды AT+CIPDPDP и AT+CIPRDTIMER, которые есть уже с SIM900, но упоминаний о них в Application Notes я не нашел, а их описания в AT Command Manual очень скудные и понимания не дают. Значения по умолчанию: +CIPDPDP: 1,10,3 +CIPRDTIMER: 2000,3500 Где про это почитать можно? Может это именно то, что я ищу? :) Что в команде AT+CIPDPDP значат параметры <interval> и <timer> Что будет происходить при изменении задержки командой AT+CIPRDTIMER Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 12 28 декабря, 2017 Опубликовано 28 декабря, 2017 · Жалоба +CIPDPDP +CIPRDTIMER http://microchip.ua/simcom/SIM800x/SIM800%...anual_V1.10.pdf правда в апнотес пока не внесена как только AN обновят, выложу по известному всем адресу - прямой вход http://microchip.ua/simcom/ далее по каталогам Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 28 декабря, 2017 Опубликовано 28 декабря, 2017 · Жалоба Извиняйте, Эдуард, не понял вашей отсылки к AT Command Manual. Тот текст, что в них содержится, не меняется года с 2013. Но я хоть и работаю с модемами уже достаточно давно, все равно могу только догадываться, на что эти параметры реально влияют :( Поиск в Гугле приводит к нескольким, похожим на мой, вопросам без единого ответа. Видимо, эти команды были добавлены по просьбе какого-нибудь заказчика, и только он точно знает, для чего они нужны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
batuev.b 0 11 января, 2018 Опубликовано 11 января, 2018 (изменено) · Жалоба CIPDPDP: бывает PDP контекст прерывается и об этом хочется узнать (+PDP: DEACT), чтобы сбросить стек в исходное состояние(CIPSHUT) и восстановить связь ЗАНОВО (CSTT, CIICR, CIIFSR, CIPSTART). Часто, заказчики при при потере связи с сервером пытаются восстановить TCP соединение не сбрасывая стек модуля в исходное состояние (CIPSHUT), от чего связь не восстанавливается, выдавая ERROR раз за разом и только спустя некоторый таймаут производится ненужная перезагрузка модуля. Куда быстрее будет, если вы узнаете, что PDP контекст прерван и стек модуля надо сбросить в исходное состояние. timer - как часто проверять состояние контекста; interval - временной коридор для проверки (как долго). CIPRDTIMER: обычно, при потере связи с сервером, модуль ждет ответы с длинным тайм-аутом (может быть и 645 сек, смотря какая операция активна). А бывает сервер просто завис, отключился или просто закрыл сессию не оповестив об этом модуль. Для того, чтобы не вешать стек, есть таймеры, по истечении которых модуль сам закроет соединение (выведет стек в состояние как после CIPCLOSE): rdsigtimer - для односокетного соединения; rdmuxtimer - для мультисокетного соединения. Изменено 11 января, 2018 пользователем Цырен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 12 января, 2018 Опубликовано 12 января, 2018 · Жалоба Спасибо за ответ, но как-то все равно не все понятно :laughing: CIPDPDP: Понятно, что когда включен контроль (mode=1) то модуль проверяет что контекст активный и в случае его деактивации сетью выдает URC "+PDP: DEACT" Но почему в названии команды "Set Whether to Check State of GPRS Network Timing" есть слово Timing К чему оно тут? И параметры: timer - как часто проверять состояние контекста; interval - временной коридор для проверки (как долго). Что значит временной коридор? Как долго модуль ждет ответа от сети на специфичную команду проверки статуса PDP? Тогда по логике значение параметров должно быть обратным: interval - период проверки, а timer - время ожидания ответа. CIPRDTIMER: Тоже непонятно, от какого события/момента считается таймаут? Там по умолчанию rdsigtimer=2000 - для односокетного соединения, т.е. 2 секунды. И вкл/откл таймера нет, т.е. он всегда активен. А я подключаюсь через TCP к серверу, гоняю данные, потом выключаю сервер, пытаюсь послать данные с модуля (соединение-то только что было). Моя программа для модема ждет, потом шлет повтор данных, потом после 2 минут ожидания сама закрывает на модеме соединение. Никакого URC от модема так и не приходит. Так как этот CIPRDTIMER работает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться