Добрый день! Давно пользовался следующей последовательностью: При загрузке AT+CIPCSGP=1,"apn","un","pw" AT+CGATT? если 0 то подача AT+CGATT=1
затем при соединении: AT+CIPSHUT и AT+CIPSTART="TCP","ip" (для старого sim300 ip без кавычек)
и далее после получения CONNECT и пары секунд AT+CIPSEND=длина ожидание > и отправка пакета.
Но оказалось что в некоторых регионах России модули отказываются соединяться по GPRS (периодически, либо вообще). Все перевернул, причин не нашел. Запросил в МТ-Систем Москва, сказали что соединяться нужно по другому алгоритму:
тогда тут скорее всего дело вот в чем. Когда подключаетесь к серверу проделывайте такой путь: CREG? CGATT? (если 0, то подать CGATT=1, если 1 то идти дальше) - нельзя подавать CGATT=1 когда он уже и так 1. CSTT CIICR CIFSR - обязательно, принудительно запросите IP CIPSTART
Затем завершаем соединение по AT+CIPCLOSE
Реализовал. первое соединение - работает. При всех повторных - на +CSTT валится ERROR Какую команду надо подать? CIPSHUT ?
Также у меня есть подозрение что на 115200 модуль не успевает работать и при загрузке от сети пропускает символы идущие подряд (размер буфера тут похоже не влияет т.к. даже команду длиной около 20 символов не воспринимает). Контроль RTS/CTS не помогает. Установка задержек по 1мс между байтами лечит ситуацию пропадания ответов на команды и молчания. Кто на какой скорости с модулем работает?
|