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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Передача данных по TCP, не могу понять, Передача данных по TCP, не могу понять
MKdemiurg
сообщение Jul 30 2011, 15:57
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 624
Регистрация: 15-06-10
Из: Россия
Пользователь №: 57 939



Цитата(Alt.F4 @ Jul 30 2011, 19:04) *


Читал !!! Но мне не надо знать свой айпи. А APN я ввожу через AT+CIPCSGP. И сразу запускаю AT+CIPSTART. Работает , уже 2 месяц устройство на тесте стоит с такой последовательностью. На форуме видел люди и так и так подключаются... надо будет у CADILO уточнить.

Цитата
Пробовал дольше, CONNECT OK не приходит. Дело 100% в модеме или в оборудовании опсоса, сервер всегда доступен.


Скорее всего.


Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Jul 30 2011, 16:28
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Причина определена:
Если начинать работу с GPRS после прихода SMS, то ответа "CONNECT OK" от модема не дождаться...
Теперь надо определиться как поступать в этом случае.
Одиночная AT+CIPCLOSE не помогает.
Дуэт AT+CIPCLOSE и AT+CIPSHUT помогает, но не всегда с первого раза...
Код
.......
AT+CIPSTART="TCP","***.***.***.***","80"
OK - жду 15сек
AT+CIPCLOSE
CLOSE OK
AT+CIPSTART="TCP","***.***.***.***","80"
OK - жду 15сек
AT+CIPCLOSE
CLOSE OK
AT+CIPSHUT
SHUT OK
AT+CGATT=1
OK
AT+CGREG?
+CGREG: 0,1
OK
AT+CIPCSGP=1,"internet.life.com.by"
OK
AT+CSTT
OK
AT+CIICR
OK
AT+CIFSR
109.126.189.74
AT+CIPSTART="TCP","***.***.***.***","80"
OK - жду 15сек
AT+CIPCLOSE
CLOSE OK
AT+CIPSTART="TCP","***.***.***.***","80"
OK - жду 15сек
AT+CIPCLOSE
CLOSE OK
AT+CIPSHUT
SHUT OK
AT+CGATT=1 OK
AT+CGREG?
+CGREG: 0,1
OK
AT+CIPCSGP=1,"internet.life.com.by"
OK
AT+CSTT
OK
AT+CIICR
OK
AT+CIFSR
178.154.61.19
AT+CIPSTART="TCP","***.***.***.***","80"
OK
CONNECT OK - получен через 1сек

Потестил еще несколько раз:
поспешил я с причиной, все-таки СМС не влияет...

Сообщение отредактировал Alt.F4 - Jul 31 2011, 11:59
Go to the top of the page
 
+Quote Post
ap77
сообщение Jul 31 2011, 05:33
Сообщение #18


Участник
*

Группа: Свой
Сообщений: 63
Регистрация: 18-01-11
Из: Новосибирск
Пользователь №: 62 313



Цитата(Alt.F4 @ Jul 30 2011, 22:38) *
Проверять можно, только смысл?

Ошибка плавающая, и потестить все довольно сложно, уже полчаса пытаюсь повторить сценарий, но безуспешно...
Может секрет в паузах между ответом модема и следующей командой? Было 100мс, увеличил местами до 200/300мс.

Смысл, в однозначном определении статуса "CONECT OK"
Если после CIPSTATUS возвращается "CONECT OK" - можно отправлять данные.
Если нет, устанавливаем таймаут и опрашиваем статус в цикле, либо до "CONECT OK", либо до таймаута.
После таймаута - сбрасываем соединение (CIPSHUT)
Go to the top of the page
 
+Quote Post
=F8=
сообщение Jul 31 2011, 06:46
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Ну во-первых ответ CLOSE OK говорит лишь о том, что соединение было успешно закрыто т.е. перешло в состояние CLOSED, а чтоб проверить в каком состоянии оно находилось CONNECTING или CONNTCTED, как уже говорили, нужно использовать команду AT+CIPSTATUS(естественно до подачи AT+CIPCLOSE).
Во-вторых чтоб не гадать в чем проблема в модуле, сети или в сервере поставьте сим-карту в обычный GSM-модем и попробуйте установить соединение с сервером с компа. Если будут те-же проблемы, что и с модулем - значит дело в сервере или в сети.
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Jul 31 2011, 11:56
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Цитата
Смысл, в однозначном определении статуса "CONECT OK"
Если после CIPSTATUS возвращается "CONECT OK" - можно отправлять данные.
Если нет, устанавливаем таймаут и опрашиваем статус в цикле, либо до "CONECT OK", либо до таймаута.
Когда работает, то сервер отвечает максимум 2сек. Я ждал минуту, смысла в запросе CIPSTATUS'а просто не вижу, если соединение проходит успешно, "CONECT OK" приходит и после AT+CIPSTART, а если появляется этот "глюк", я все равно более 15сек ждать не буду.
Цитата
После таймаута - сбрасываем соединение (CIPSHUT)
В том то и дело, что оно не помогает!!! см. 17пост
Цитата
чтоб не гадать в чем проблема в модуле, сети или в сервере поставьте сим-карту в обычный GSM-модем и попробуйте установить соединение с сервером с компа.
Ошибка плавающая, вчера пол дня считай убил, а сценарий повторился с десяток раз...
Может у кого-то просто было подобное или есть мнение как решить проблему?
Спасибо.

Сообщение отредактировал Alt.F4 - Jul 31 2011, 11:57
Go to the top of the page
 
+Quote Post
Aurochs
сообщение Jul 31 2011, 19:35
Сообщение #21


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Пауза 15 сек. для CIPSTART - этого мало.
Нужно ожидать ответа в течение 3 минут. За это время должно прийти либо CONNECT OK либо CONNECT FAIL.
Если же вообще ничего не пришло, то это нужно рассматривать уже как аварийную ситуацию (зависание модема, отказ UARTа или еще что-то)
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Aug 1 2011, 06:03
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Цитата
Нужно ожидать ответа в течение 3 минут. За это время должно прийти либо
CONNECT OK либо CONNECT FAIL.
Если считать, что сервер всегда доступен и у модема нет багов в прошивке, то получается по приходу CONNECT FAIL "тормозит" оборудование опсоса.
Тогда почему после переинициализации GPRS ошибка повторяется?
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Aug 1 2011, 06:10
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 624
Регистрация: 15-06-10
Из: Россия
Пользователь №: 57 939



Alt.F4

А передёргивание питания убирает этот баг?
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Aug 1 2011, 06:22
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Цитата
А передёргивание питания убирает этот баг?
Пробовал делать рестарт модема с отключением питания, но это не решало проблемы...
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Aug 1 2011, 06:48
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 624
Регистрация: 15-06-10
Из: Россия
Пользователь №: 57 939



А смена оператора?
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Aug 1 2011, 07:06
Сообщение #26


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Попробую сменить оператора. Только потестить получится аж через выходные...
Просто смущает это:
Код
AT+CIPSTART="TCP","***","80"
OK - недождались CONNECT OK , но попробуем установить соединение еще раз
AT+CIPSTART="TCP","***","80"
ЕRROR
ALREADY CONNECT - хм , уже законнектились???
AT+CIPSEND
ЕRRОR - значит нет...
Почему пишет "ALREADY CONNECT"?
Go to the top of the page
 
+Quote Post
Aurochs
сообщение Aug 1 2011, 08:53
Сообщение #27


Ортодокс
***

Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775



Цитата(Alt.F4 @ Aug 1 2011, 09:03) *
Если считать, что сервер всегда доступен и у модема нет багов в прошивке, то получается по приходу CONNECT FAIL "тормозит" оборудование опсоса.
Тогда почему после переинициализации GPRS ошибка повторяется?

В таком случае нужно "брать за вымя" оператора.
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Aug 8 2011, 07:20
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 624
Регистрация: 15-06-10
Из: Россия
Пользователь №: 57 939



Гуру sim900 помогите пожалуйста разобраться в паре вопросов по gprs и стеку.

1) Является ли ошибкой использование такой последовательности ? :
22:29:54 AT+CGATT=1....OK..
22:29:56 AT+CGATT?.... //анализ состояния ... запрос 5 раз с интервалом в 2 секунды
22:30:02 AT+CIPMODE=1....OK..
22:30:05 AT+CIPCSGP=1,"www.kyivstar.net","",""....OK..
22:30:11 AT+CIPSTART="TCP","xxx.xxx.xxx.xxx","5678"....OK..

или же обязательно нужно работать через последовательность ? :
...
AT+CIPMODE
AT+CIPCSGP
AT+CSTT
AT+CIICR
AT+CIFSR
AT+CIPSTART

2)Соответсвенно иногда(раз на 10-20 подключений) вываливается такая штука:
22:32:11.531 AT+CIPSTART="TCP","xxx.xxx.xxx.xxx","5678"....OK..
22:32:12.093 ..STATE: PDP DEACT....CONNECT FAIL..
Иногда не лечится даже полным перезапуском с отрывом питания. Это оператор или же всётаки надо менять последовательность подключения ?

3) НА что влияет последний параметр AT+CIPCCFG ?

Сообщение отредактировал MKdemiurg - Aug 8 2011, 07:21
Go to the top of the page
 
+Quote Post
Варяг
сообщение Aug 9 2011, 08:13
Сообщение #29


Частый гость
**

Группа: Участник
Сообщений: 95
Регистрация: 4-04-11
Из: челябинск
Пользователь №: 64 111



Цитата(MKdemiurg @ Aug 8 2011, 10:20) *
22:29:54 AT+CGATT=1....OK..
22:29:56 AT+CGATT?.... //анализ состояния ... запрос 5 раз с интервалом в 2 секунды
22:30:02 AT+CIPMODE=1....OK..
22:30:05 AT+CIPCSGP=1,"www.kyivstar.net","",""....OK..
22:30:11 AT+CIPSTART="TCP","xxx.xxx.xxx.xxx","5678"....OK..


я, к сожалению не гуру, но именно в такой последовательности я подключался к ya.ru. Теперь подключаюсь по второму варианту.

У меня такой вопрос... Есть два модуля. Один в режиме клиента, другой в режиме сервера. Клиент постоянно передает данные серверу с периодом 15 секунд. В таком режиме сервер (sim900d) принимает все данные без ошибок. Но примерно через 15 минут перестает принимать сигналы напроч, и даже при переподключении как сервера тоже не принимает. Начинает продолжать принимать данные только после сброса питания на модуле. В чем может быть проблема?

И еще второй вопрос. Что выгоднее при передаче коротких сообщении - ТСР соединение или UDP? И верно ли, что в режиме UDP EXTENDED MODE модуль принимает все что ему пошлют, и его не надо настраивать как сервер?
Go to the top of the page
 
+Quote Post
ap77
сообщение Aug 9 2011, 08:31
Сообщение #30


Участник
*

Группа: Свой
Сообщений: 63
Регистрация: 18-01-11
Из: Новосибирск
Пользователь №: 62 313



Цитата(MKdemiurg @ Aug 8 2011, 14:20) *
2)Соответсвенно иногда(раз на 10-20 подключений) вываливается такая штука:
22:32:11.531 AT+CIPSTART="TCP","xxx.xxx.xxx.xxx","5678"....OK..
22:32:12.093 ..STATE: PDP DEACT....CONNECT FAIL..
Иногда не лечится даже полным перезапуском с отрывом питания. Это оператор или же всётаки надо менять последовательность подключения ?

По 1) тоже пытаюсь так работать
По 2) наблюдаю аналогичное поведение, но если закрывать сессию на сервере, то повторное соединение (со сбросом CIPSHUT) восстанавливает связь.
Go to the top of the page
 
+Quote Post

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

 


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


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