Полная версия этой страницы:
SIM900D переподключение
Dmitrii_24
Feb 22 2011, 08:04
Добрый день знатокам SIM900D.
Подскажите плиз в чем может быть проблема повторного переподключения к серверу, при не установившемся соединеии с сервером. Использую 6 версию прошивки.
Суть работы заключается в следующем: модуль инициализируется, и пытается подключиться к серверу, если CONNECT FAIL, то не закрывая сессии GPRS(что бы каждая попытка подключения к серверу не округлялась оператором) модуль должен 10 раз по пробывать подключиться к серверу и если попытки заканчиваются то заново инициализируем модуль после ATZ0. И по истечению 3 попыток с инициализацией (по 10 подключений каждая) делаем аппаратную перезагрузку отключением питания. Теже самые действия выполныем если был подключени к серверу но соединение закрылось по непонятным причинам.
Вот последовательность команд с инициализацией и подключением:
Вот он включился:
gsm8:IIIIюююю
gsm7:
RDY
gsm28:
+CFUN: 1
+CPIN: READY
Call Ready
Дождались Call Ready и начинаем инициализацию:
AT
OK
ATE0
OK
AT+IPR=115200
OK
AT+IFC=0,0
OK
AT+CLIP=1
OK
AT+CRC=1
OK
AT+CMGF=1
OK
AT+CIPMODE=1
OK
AT+CIPCCFG=5,2,300,0
OK
AT+CIPCSGP=1
OK
AT+CIPATS=0
OK
AT+CIPSRIP=0
OK
AT+CIPSHUT
OK
AT+CSTT="internet.beeline.ru","beeline","beeline"
OK
AT+CIPSHUT
OK
AT+CIPSTART="TCP","94.198.1.100","2790"
OK
CONNECT FAIL
//соединение не установлено, закрываем и заново надо повторить 10 попыток
AT+CIPCLOSE
ERROR
AT+CIPSHUT
OK
AT+CIPSTART="TCP","94.198.1.100","2790"
OK
CONNECT FAIL
// попытка не удачная и пробуем еще раз подключиться
AT+CIPCLOSE
ERROR
AT+CIPSHUT
OK
AT+CIPSTART="TCP","94.198.1.100","2790"
OK
и вот тут на этом модуль перестает отвечать CONNECT FAIL или OK. хотя на SIM300DZ все нормально отрабатывало. Причем количество попыток переподключений всегда разное, бывает что все 10 попыток проходят бывает только от 3-7, но в основном на 2 попытке он подвисает и по истечению некоторого таймаута он начинает заново включаться. Подскажите плиз что не так и что можно сделать?
Dmitrii_24
Feb 22 2011, 10:02
Ни кто не подскажет в чем дело?
Dmitrii_24
Feb 24 2011, 05:54
Может кто нибудь скинет 7-ю прошивку, проверить как с ней отрабатывает данная последовательность.?
Андрей190
Feb 24 2011, 06:23
Цитата(Dmitrii_24 @ Feb 22 2011, 11:04)

// попытка не удачная и пробуем еще раз подключиться
AT+CIPCLOSE
ERROR
AT+CIPSHUT
OK
AT+CIPSTART="TCP","94.198.1.100","2790"
OK
и вот тут на этом модуль перестает отвечать CONNECT FAIL или OK. хотя на SIM300DZ все нормально отрабатывало. Причем количество попыток переподключений всегда разное, бывает что все 10 попыток проходят бывает только от 3-7, но в основном на 2 попытке он подвисает и по истечению некоторого таймаута он начинает заново включаться. Подскажите плиз что не так и что можно сделать?
попробуйте еще добавить после АТ+СIPSHUT
AT+CGATT=0
и AT+CGATT=1
перед AT+CIPSTART="...
Dmitrii_24
Feb 24 2011, 07:29
Спасибо, щас по пробую и отпишусь. Заметил еще вот что. увеличил задержку перед командой AT+CIPSTART="TCP.... до 8 секунд приблизительно, и стал уже работать так как надо, но периодически всеравно подвисает и начинает заново включаться. но значительно реже (спустя 3-4 цикла по по 10 попыток подключения).
Цитата(Андрей190 @ Feb 24 2011, 09:23)

попробуйте еще добавить после АТ+СIPSHUT
AT+CGATT=0
и AT+CGATT=1
перед AT+CIPSTART="...
Вопрос: а отключение GPRS сервиса, разорвет текущую сессию или нет? если да то это не тот путь, так как оператор будет каждую попытку подключится будет округлять по 100кб где то, а это очень много набежит денег за весь день.
Андрей190
Feb 24 2011, 07:53
Цитата(Dmitrii_24 @ Feb 24 2011, 10:29)

Спасибо, щас по пробую и отпишусь. Заметил еще вот что. увеличил задержку перед командой AT+CIPSTART="TCP.... до 8 секунд приблизительно, и стал уже работать так как надо, но периодически всеравно подвисает и начинает заново включаться. но значительно реже (спустя 3-4 цикла по по 10 попыток подключения).
Вопрос: а отключение GPRS сервиса, разорвет текущую сессию или нет? если да то это не тот путь, так как оператор будет каждую попытку подключится будет округлять по 100кб где то, а это очень много набежит денег за весь день.
не проверял.
используйте тариф, где округление до 1 кБ
Dmitrii_24
Feb 24 2011, 08:33
Вроде пока работает нормально, щас еще уменьшу задержку между командами и еще по испытываю, за одно проверю как оператор сессии округляет.
ssokol
Feb 24 2011, 08:38
Цитата(Dmitrii_24 @ Feb 24 2011, 10:29)

Вопрос: а отключение GPRS сервиса, разорвет текущую сессию или нет? если да то это не тот путь, так как оператор будет каждую попытку подключится будет округлять по 100кб где то, а это очень много набежит денег за весь день.
Вообще-то cipshut уже округляется оператором. А по поводу округления до 100кб - смотрите тарифы для GPRS , у нас (мегафон) - каждое округление нам стоит 2 копейки (в килобайтах не помню)
Dmitrii_24
Feb 24 2011, 08:46
Цитата(ssokol @ Feb 24 2011, 11:38)

Вообще-то cipshut уже округляется оператором. А по поводу округления до 100кб - смотрите тарифы для GPRS , у нас (мегафон) - каждое округление нам стоит 2 копейки (в килобайтах не помню)
На SIM300dz при отсутствии cipshut оператор закрывал сессию и заново начинал при AT+START, а при CIPSHUT была одна сессия. как наSIM900 это происходит пока еще не знаю. Тариф используем телеметрия(билайн) как раз заточен под интернет., а про 100кб это я образно говорю, хотя есть и такие тарифы.
ssokol
Feb 24 2011, 10:15
Цитата(Dmitrii_24 @ Feb 24 2011, 11:46)

На SIM300dz при отсутствии cipshut оператор закрывал сессию и заново начинал при AT+START, а при CIPSHUT была одна сессия. как наSIM900 это происходит пока еще не знаю. Тариф используем телеметрия(билайн) как раз заточен под интернет., а про 100кб это я образно говорю, хотя есть и такие тарифы.
Если поточнее, то я хотел сказать, что наши все хитрые операторы при разрыве коннекта не восстанавливали связь до тех пор, пока не дать cipshut, а это уже округление.
Dmitrii_24
Feb 24 2011, 10:54
А как тогда сделать 10 попыток подключения в одну сессию?
Alechek
Feb 24 2011, 11:25
Ну так пробовал 7-ю прошивку?
Я на SIM900D c 5-й прошивкой примерно такое же наблюдаю....
В седьмой вроде
как исправилиЦитата
17.
Fixed the problem that it would fail easily when user activated GPRS context immediately after executing the AT+CIPSHUT command.
Dmitrii_24
Mar 4 2011, 07:55
Да я читал про это исправление. Но 7 версию еще не испытавали, так как когда обратились в службу поддержки(там где закупаем эти модули), нам сказали что последняя официальная версия это 6, про 7 еще пока ни чего не знают. А где найти не официальную версию я не знаю.
Я пока сделал при переподключении отключениее GPRS сервиса по совету Андрей190.
попробуйте еще добавить после АТ+СIPSHUT
AT+CGATT=0
и AT+CGATT=1
перед AT+CIPSTART="...
Но как реагирует на это оператор еще пока не проверял. Думаю что будет округлять каждую попытку AT+CIPSTART, надо будет думать как от этого уйти.
Я выложил в форуме ссылку на релиз-кандидат уже восьмой версии. Берите тестируйте.
Замечания в форум или мне письмом.
Извиняюсь - у вас SIM900D
Напишите мне на chip@microchip.ua я вышлю вам 7 версию для 900D - уже вышла официально
в теме письма укажите что запрос с форума.
Dmitrii_24
Mar 5 2011, 10:37
Хорошо, уже написал письмо. буду ждать прошивку.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.