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

 
 
> Передача данных по TCP, не могу понять, Передача данных по TCP, не могу понять
unKind
сообщение May 13 2011, 10:46
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 3-02-08
Пользователь №: 34 712



Здравствуйте нужно перередаваты данные по TCP / IP, работаю с модулями sim300C, Sim300d.
С одной стороны стандартный симкомовський кит с другой программа server.exe, скачал с сайта Гаммы. Программа работает, проверял клиентом написанным на С #.
При соединении с сервером с кита после команды
at + cipstart = "tcp", "46.211.75.141", "2020"
получаю только слово ОК, но не получаю CONNECT OK. И не могу передавать данные. в чем ошибка? smile3046.gif

Call Ready
13:44:24
at

OK
13:44:26
at+cgatt=1

OK
13:44:31
at+cipcsgp=1,"www.kyivstar.net"

OK
13:44:35
at+cdnsorip=0

OK
13:44:38
at+cstt

OK
13:44:41
at+ciicr
13:44:43

OK
13:44:46
at+cifsr

178.137.232.20
13:44:49
at+cipstart="tcp","46.211.75.141","2020"

OK
13:44:58

Сообщение отредактировал unKind - May 13 2011, 10:48
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 44)
unKind
сообщение May 13 2011, 12:37
Сообщение #2





Группа: Новичок
Сообщений: 6
Регистрация: 3-02-08
Пользователь №: 34 712



Использую котрактную карточку Киевстар.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение May 13 2011, 13:39
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(unKind @ May 13 2011, 14:46) *
При соединении с сервером с кита после команды
at + cipstart = "tcp", "46.211.75.141", "2020"
получаю только слово ОК, но не получаю CONNECT OK. И не могу передавать данные. в чем ошибка? smile3046.gif

"OK" - команда принята. А дальше нужно ждать установления соединения. Может быть, сервер недоступен ? Порт не проброшен ? В любом случае - ждать результата ("OK" - не результат, это лишь подтверждение приема команды). "CONNECT FAIL" - не смог соединиться, тогда копать дальше (попробовать с каким-нибудь другим сервером, хоть с google.com по порту 80). Ждать надо достаточно долго, уж 10-15 секунд таймаут это как минимум, я бы предложил секунд 30.
Go to the top of the page
 
+Quote Post
shootnik911
сообщение May 13 2011, 13:54
Сообщение #4





Группа: Участник
Сообщений: 5
Регистрация: 23-03-11
Пользователь №: 63 819



Я бы добавил проверку AT+CGATT? чтобы убедится что он действительно в 1.
Разве не надо использовать AT+CGDCONT для определения PDP контекста (APN, login, password) для оператора?
И точно ли сервер на этом порту принимает соединения извне?


Go to the top of the page
 
+Quote Post
rx3apf
сообщение May 13 2011, 14:00
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(shootnik911 @ May 13 2011, 17:54) *
Я бы добавил проверку AT+CGATT? чтобы убедится что он действительно в 1.

А я ее вообще вместе с +cipstart сунул, потому как отваливалось иногда...
Цитата
Разве не надо использовать AT+CGDCONT для определения PDP контекста (APN, login, password) для оператора?

Можно и через +cipcsgp
Цитата
И точно ли сервер на этом порту принимает соединения извне?

О ! Потому при сомнениях надо попробовать сунуться куда-нибудь на общедоступный сервер. Но для начала хоть ответа дождаться...
Go to the top of the page
 
+Quote Post
demaven
сообщение May 15 2011, 04:37
Сообщение #6


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

Группа: Свой
Сообщений: 108
Регистрация: 10-05-05
Из: Киргизия Бишкек
Пользователь №: 4 886



У меня при обмене внутри одного сотового оператора по ТСР ожидание ответа доходит до 5 минут
Go to the top of the page
 
+Quote Post
unKind
сообщение May 15 2011, 16:07
Сообщение #7





Группа: Новичок
Сообщений: 6
Регистрация: 3-02-08
Пользователь №: 34 712



Да, проблема была в том, что я использовал карточки одного оператора. Поставив другую все решылось.

Теперь нужно отслежывать состояние подключения. Как ето делать удобно? какие команды использовать?
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение May 15 2011, 19:05
Сообщение #8


Знающий
****

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



Вывод DCD в "прозрачном" режиме. Проще некуда.
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Jul 30 2011, 13:41
Сообщение #9


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

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



Столкнулся с похожей проблемой как у автора (sim900 8-ая прошивка):
Код
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.166.74
AT+CIPSTART="TCP","***.***.***.***","80"
OK
Жду минуту, затем
AT+CIPCLOSE
CLOSE OK - т.е. соединение было установлено???
AT+CIPSHUT
SHUT OK
И повторяю все снова.
Даже перезагрузка с отключением питания иногда не помогает...
CONNECT OK не приходит около 1-5 раз, затем все хорошо.
Пытался найти зависимость: звонил, получал/отправлял SMS во время GPRS-передачи, затем заново переподключался. Но зависимости от каких-либо действий не заметил, один раз из двадцати CONNECT OK не приходит...
Что можно придумать?
Спасибо.

Сообщение отредактировал Alt.F4 - Jul 30 2011, 15:08
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Jul 30 2011, 14:05
Сообщение #10


Знающий
****

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



Кстати тоже вопросик в тему
Зачем использовать вот эти команды?

AT+CSTT
OK
AT+CIICR
OK
AT+CIFSR

Если работает даже так?
AT+CIPCSGP=1,"internet.life.com.by"
OK
AT+CIPSTART="TCP","***.***.***.***","80"
OK
Т.е. только для контроля? APN вводится через AT+CIPCSGP, а AT+CIPSTART поднимает соединение автоматом . Или нет?
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Jul 30 2011, 14:12
Сообщение #11


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

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



Цитата
Зачем использовать вот эти команды?
AT+CSTT
AT+CIICR
AT+CIFSR
Для инициализации PDP-контекста, запуска GPRS-соединения и получения IP-адреса.

Попробовал выйти из положения поста #9, чудеса прямо какие-то...
Код
AT+CIPSTART="TCP","***.***.***.***","80"
OK                    - не дождались CONNECT OK, но попробуем дальше
AT+CIPSEND
ERROR                - установим соединение еще раз
AT+CIPSTART="TCP","***.***.***.***","80"
ERROR
ALREADY CONNECT        - хм, уже законнектились???
AT+CIPSEND
ERROR                - значит нет...
Что же делать? sad.gif

Сообщение отредактировал Alt.F4 - Jul 30 2011, 14:20
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Jul 30 2011, 14:31
Сообщение #12


Знающий
****

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



Цитата(Alt.F4 @ Jul 30 2011, 18:12) *
Для инициализации PDP-контекста, запуска GPRS-соединения и получения IP-адреса.

Ну так оно и так неплохо работает в 2 команды вместо 5 !!! Мне казалось что запуском AT+CIPCSGP и AT+CIPSTART все инициализации и подключения автоматом происходят.

По поводу вашей проблемы
А дольше подождать не резон? Попробуйте законектица просто на ya.ru
Кстати а почему вы не устанавливаете AT+CIPMODE ? Или он раньше установлен?

Сообщение отредактировал MKdemiurg - Jul 30 2011, 14:32
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Jul 30 2011, 15:04
Сообщение #13


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

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



Цитата
Ну так оно и так неплохо работает в 2 команды вместо 5 !!! Мне казалось что запуском AT+CIPCSGP и AT+CIPSTART все инициализации и подключения автоматом происходят.
SIM900_TCPIP_Application Note_V1.02.pdf
Цитата
По поводу вашей проблемы. А дольше подождать не резон?
Пробовал дольше, CONNECT OK не приходит. Дело 100% в модеме или в оборудовании опсоса, сервер всегда доступен.
Цитата
Кстати а почему вы не устанавливаете AT+CIPMODE ? Или он раньше установлен?
Я использую непрозрачный режим.

Сообщение отредактировал Alt.F4 - Jul 30 2011, 15:06
Go to the top of the page
 
+Quote Post
ap77
сообщение Jul 30 2011, 15:23
Сообщение #14


Участник
*

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



Цитата(Alt.F4 @ Jul 30 2011, 20:41) *
Столкнулся с похожей проблемой как у автора (sim900 8-ая прошивка):
...
Спасибо.

Предлагаю проверять
AT+CIPSTATUS
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение Jul 30 2011, 15:38
Сообщение #15


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

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



Цитата
Предлагаю проверять AT+CIPSTATUS
Проверять можно, только смысл?

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

Сообщение отредактировал Alt.F4 - Jul 30 2011, 15:55
Go to the top of the page
 
+Quote Post
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
MKdemiurg
сообщение Aug 9 2011, 08:43
Сообщение #31


Знающий
****

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



Цитата(ap77 @ Aug 9 2011, 11:31) *
По 1) тоже пытаюсь так работать
По 2) наблюдаю аналогичное поведение, но если закрывать сессию на сервере, то повторное соединение (со сбросом CIPSHUT) восстанавливает связь.


1) я ещё с sim300 такую ветку подключения перенёс.
2) Не понял, а как сервер разорвёт соединение, если он к нему и не подключился? Или имеется ввиду отключение от точки доступа оператора?
Go to the top of the page
 
+Quote Post
ap77
сообщение Aug 9 2011, 09:34
Сообщение #32


Участник
*

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



Цитата(MKdemiurg @ Aug 9 2011, 15:43) *
2) Не понял, а как сервер разорвёт соединение, если он к нему и не подключился? Или имеется ввиду отключение от точки доступа оператора?

Нет, имеется ввиду закрытие сессии по инициативе сервера (того, с которым установлено TCP соединение).

У меня сессия после отправки пакета не закрывается, т.е. один раз CIPSTART и много CIPSTATUS+CIPSEND, а когда CIPSTATUS возвращает не CONNECT OK, тогда пытаюсь сделать CIPCLOSE, CIPSHUT (которые не помогают в некоторых случаях).
Но у меня по таймауту, если небыло сообщений, сервер закрывает подключение.. и соответственно, тогда CIPSHUT с повторным подключением к серверу нормально срабатывают.

Это конечно не вариант нормальной работы, но как пища для размышлений )
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Aug 9 2011, 09:59
Сообщение #33


Знающий
****

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



Цитата(ap77 @ Aug 9 2011, 12:34) *
Нет, имеется ввиду закрытие сессии по инициативе сервера (того, с которым установлено TCP соединение).

У меня сессия после отправки пакета не закрывается, т.е. один раз CIPSTART и много CIPSTATUS+CIPSEND, а когда CIPSTATUS возвращает не CONNECT OK, тогда пытаюсь сделать CIPCLOSE, CIPSHUT (которые не помогают в некоторых случаях).
Но у меня по таймауту, если небыло сообщений, сервер закрывает подключение.. и соответственно, тогда CIPSHUT с повторным подключением к серверу нормально срабатывают.

Это конечно не вариант нормальной работы, но как пища для размышлений )


Нет, у меня при подключении к серверу CIPCLOSE CIPSHUT срабатывает всегда.
А когда при CIPSTART вывыливается ..STATE: PDP DEACT....CONNECT FAIL..( причём сразуже после подачи cipstart) - просто перегружаю модем ( PDP уже отключён, а к серверу не подсоеденилось). Но проблема в том , что ресет тоже не всегда срабатывает и ..STATE: PDP DEACT.. вываливается до 3х раз подряд.

PS перешёл на "длинный" вариант - буду тестить.


Go to the top of the page
 
+Quote Post
ap77
сообщение Aug 9 2011, 10:22
Сообщение #34


Участник
*

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



Цитата(MKdemiurg @ Aug 9 2011, 16:59) *
Нет, у меня при подключении к серверу CIPCLOSE CIPSHUT срабатывает всегда.
А когда при CIPSTART вывыливается ..STATE: PDP DEACT....CONNECT FAIL..( причём сразуже после подачи cipstart) - просто перегружаю модем ( PDP уже отключён, а к серверу не подсоеденилось). Но проблема в том , что ресет тоже не всегда срабатывает и ..STATE: PDP DEACT.. вываливается до 3х раз подряд.

PS перешёл на "длинный" вариант - буду тестить.

Да, почитал свое сообщение, изложил неточно. т.е. ситуация как и у вас.. в конечном счете. CIPSHUT тоже типа срабатывает всегда, имелось ввиду - возвращает SHUT OK, но при этом статус в IP INITIAL не устанавливается. И вот тогда при попытке повторного CIPSTART тоже возвращает STATE: PDP DEACT....CONNECT FAIL. ну и далее.. через некоторое время, сервер закрывает сессию, у меня модем присылает CLOSED и жизнь налаживается... как-то так.

...с интересом жду результатов тестирования "длинного варианта"
Go to the top of the page
 
+Quote Post
Варяг
сообщение Aug 9 2011, 11:01
Сообщение #35


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

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



Цитата(Aurochs @ Jul 31 2011, 22:35) *
Пауза 15 сек. для CIPSTART - этого мало.
Нужно ожидать ответа в течение 3 минут. За это время должно прийти либо CONNECT OK либо CONNECT FAIL.
Если же вообще ничего не пришло, то это нужно рассматривать уже как аварийную ситуацию (зависание модема, отказ UARTа или еще что-то)


У меня приборы в одной VPN сети Билайна. Если обе подключились к GPRS нормально, то CONNECT OK приходит за 1,5-4 секунды, не больше. Когда ничего не приходит в ответ на CIPSTART то это 100% завис сервер, по крайней мере у меня. При рестарте сервера, он начинает опять принимать сообщения.

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

И еще второй вопрос. Что выгоднее при передаче коротких сообщении - ТСР соединение или UDP? И верно ли, что в режиме UDP EXTENDED MODE модуль принимает все что ему пошлют, и его не надо настраивать как сервер?
чем отличаютсо TCP oT UDP?


Кто-нибудь ответить?
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Aug 9 2011, 11:04
Сообщение #36


Знающий
****

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



ap77
Цитата
Да, почитал свое сообщение, изложил неточно. т.е. ситуация как и у вас.. в конечном счете. CIPSHUT тоже типа срабатывает всегда, имелось ввиду - возвращает SHUT OK, но при этом статус в IP INITIAL не устанавливается. И вот тогда при попытке повторного CIPSTART тоже возвращает STATE: PDP DEACT....CONNECT FAIL. ну и далее.. через некоторое время, сервер закрывает сессию, у меня модем присылает CLOSED и жизнь налаживается... как-то так.

...с интересом жду результатов тестирования "длинного варианта"


Нашёл я в чём загвоздка и разница 2х веток, всё оказалось банально.


22:30:05 AT+CIPCSGP=1,"www.kyivstar.net","",""....OK.. // "ОК" приходит с разницей меньше 200мс.
22:30:08 AT+CIPSTART="TCP","xxx.xxx.xxx.xxx","5678"....OK..

Вообщем пока между этими командами стояла задержка в 5 секунд - всё работало. Мне показалось долго и я урезал до 2 секунд.

В свяске же :

13:42:35.765 AT+CIICR..
13:42:40.453 ..OK..
Видно что GPRS подымается около 5 секунд(может и дольше), в общем всё встало на свои места с ожидаем OK на команду CIICR. Вот подумываю всё равно проверять CIPSTATUS.

вообщем "курить мануалы" и не жмотится на задержки в критических местах есть очень разумная вещь biggrin.gif

ЗЫ Хотя буду ждать, может всётаки не в этом дело...

Сообщение отредактировал MKdemiurg - Aug 9 2011, 11:17
Go to the top of the page
 
+Quote Post
Варяг
сообщение Aug 9 2011, 11:11
Сообщение #37


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

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



Цитата(MKdemiurg @ Aug 9 2011, 14:04) *
ap77


Нашёл я в чём загвоздка и разница 2х веток, всё оказалось банально.


22:30:05 AT+CIPCSGP=1,"www.kyivstar.net","",""....OK.. // "ОК" приходит с разницей меньше 200мс.
22:30:08 AT+CIPSTART="TCP","xxx.xxx.xxx.xxx","5678"....OK..

Вообщем пока между этими командами стояла задержка в 5 секунд - всё работало. Мне показалось долго и я урезал до 2 секунд.

В свяске же :

13:42:35.765 AT+CIICR..
13:42:40.453 ..OK..
Видно что GPRS подымается около 5 секунд(может и дольше), в общем всё встало на свои места с ожидаем OK на команду CIICR. Хотя вот подумываю всё равно проверять CIPSTATUS.

вообщем "курить мануалы" и не жмотится на задержки в критических местах есть очень разумная вещь biggrin.gif

ЗЫ Хотя буду ждать, может всётаки не в этом дело...


На AT+CIICR ОК придет в любом случае, но надо иногда долго ждать. У меня тоже стоит большая задержка после AT+CIICR, но иногда её не хватает, и модуль не хавает последующие команды. Тогда есть Вариант перед каждым CIPSTART давать AT+CIFSR, потому что без AT+CIFSR не дается айпишник и соответственно не получается передать данные.
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Aug 9 2011, 11:14
Сообщение #38


Знающий
****

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



Цитата(Варяг @ Aug 9 2011, 14:11) *
На AT+CIICR ОК придет в любом случае, но надо иногда долго ждать. У меня тоже стоит большая задержка после AT+CIICR, но иногда её не хватает, и модуль не хавает последующие команды. Тогда есть Вариант перед каждым CIPSTART давать AT+CIFSR, потому что без AT+CIFSR не дается айпишник и соответственно не получается передать данные.


Я завёл таймер на полторы минуты. Если ОК не приходит таймер перегружает модем.
Go to the top of the page
 
+Quote Post
Варяг
сообщение Aug 9 2011, 11:19
Сообщение #39


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

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



Цитата(MKdemiurg @ Aug 9 2011, 14:14) *
Я завёл таймер на полторы минуты. Если ОК не приходит таймер перегружает модем.


Сейчас стабильно укладываюсь в пять секунд. Раньше не укладывался, потому что антенна хреновая была и не всегда даже GPRS подрубался.
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Aug 9 2011, 11:34
Сообщение #40


Знающий
****

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



К вопросу о времени.

14:30:01.015 AT+CIICR..
14:30:13.312 ..OK..

Оператор MTS-UA. Такие вот пироги


Go to the top of the page
 
+Quote Post
ap77
сообщение Aug 10 2011, 04:02
Сообщение #41


Участник
*

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



Цитата(MKdemiurg @ Aug 9 2011, 18:04) *
Нашёл я в чём загвоздка и разница 2х веток, всё оказалось банально.


22:30:05 AT+CIPCSGP=1,"www.kyivstar.net","",""....OK.. // "ОК" приходит с разницей меньше 200мс.
22:30:08 AT+CIPSTART="TCP","xxx.xxx.xxx.xxx","5678"....OK..

Вообщем пока между этими командами стояла задержка в 5 секунд - всё работало. Мне показалось долго и я урезал до 2 секунд.

В свяске же :

13:42:35.765 AT+CIICR..
13:42:40.453 ..OK..
Видно что GPRS подымается около 5 секунд(может и дольше), в общем всё встало на свои места с ожидаем OK на команду CIICR. Вот подумываю всё равно проверять CIPSTATUS.

вообщем "курить мануалы" и не жмотится на задержки в критических местах есть очень разумная вещь biggrin.gif

ЗЫ Хотя буду ждать, может всётаки не в этом дело...

Мне не понятно другое,

1) у меня задержек никаких нет вообще. работаю по получению ответа или таймауту. Т.е. предполагаю, что когда команда присылает ответ (OK или ERROR + что-то еще по мануалу) можно двигаться дальше. Это не всегда так? Не для всех команд?

2) в мануале написано, что CIPCSGP+CIPSTART можно подавать, когда статус возвращает IP INITIAL. Именно так и делаю... и все-же иногда возвращается PDP:DEAC... вот это тоже странно... только что статус вернул IP INITIAL, а при старте уже неактивный контекст?

А задержки, они вообще для чего? если у нас диалог...
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Aug 10 2011, 08:10
Сообщение #42


Знающий
****

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



Цитата(ap77 @ Aug 10 2011, 08:02) *
Мне не понятно другое,

1) у меня задержек никаких нет вообще. работаю по получению ответа или таймауту. Т.е. предполагаю, что когда команда присылает ответ (OK или ERROR + что-то еще по мануалу) можно двигаться дальше. Это не всегда так? Не для всех команд?

2) в мануале написано, что CIPCSGP+CIPSTART можно подавать, когда статус возвращает IP INITIAL. Именно так и делаю... и все-же иногда возвращается PDP:DEAC... вот это тоже странно... только что статус вернул IP INITIAL, а при старте уже неактивный контекст?

А задержки, они вообще для чего? если у нас диалог...


1) Я также работаю. ОК получил - двигаем дальше. Только я команды отправляю с интервалом в 0.5-1 сек. Так вот когда у меня стояла задержка между cipcsgp и cipstart в 5 секунд( при 0.5-1 секунды выбивало PDP:DEAC всегда ) - всё было пучком -> взял и урезал до 2 секунд - начало выбивать 50\50. Это мои наблюдения. По AT+CIPSTATUS не проверял.
2)теперь перешёл на схему
10:52:46.562 AT+CGATT=1....OK..
10:52:48.609 AT+CGATT?....+CGATT: 1....OK..
10:52:54.343 AT+CIPMODE=1....OK..
10:52:56.078 AT+CIPCSGP=1,"internet","",""....OK..
10:52:57.109 AT+CSNS=4....OK..
10:52:59.171 AT+CSTT="internet","",""....OK..
10:53:00.203 AT+CIICR..
10:53:03.015 ..OK..
10:53:04.055 AT+CIFSR....xxx.xxx.xxx.xxx..
10:53:05.031 AT+CIPSTART="TCP","xxx.xxx.xxx.xxx","5678"....OK..

5 макетов уже сутки передают без PDP:DEAC. Вот думаю ещё ввести проверки по CIPSTATUS.

Сообщение отредактировал MKdemiurg - Aug 10 2011, 08:14
Go to the top of the page
 
+Quote Post
ap77
сообщение Aug 10 2011, 09:27
Сообщение #43


Участник
*

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



Цитата(MKdemiurg @ Aug 10 2011, 15:10) *
5 макетов уже сутки передают без PDP:DEAC. Вот думаю ещё ввести проверки по CIPSTATUS.

полезная информация, спасибо!

еще бы в причинах разобраться )
некомфортно, когда только методом тыка подобрано
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 10 2011, 16:34
Сообщение #44


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(ap77 @ Aug 10 2011, 08:02) *
2) в мануале написано, что CIPCSGP+CIPSTART можно подавать, когда статус возвращает IP INITIAL. Именно так и делаю... и все-же иногда возвращается PDP:DEAC... вот это тоже странно... только что статус вернул IP INITIAL, а при старте уже неактивный контекст?

Вот если дать +CIPSHUT и тут же +CIPSTART - то гарантированно DEACT. И статус проверяю - "IP INITIAL", но без задержки гарантированно вылетает. Вроде в восьмой версии пофиксено - сейчас возобновляю разборки со своим проектом, так эти проблемы при рестарте сессии уже замучали. Причем и с задержками тоже не гарантированно - при PDP DEACT выдаю +CIPSHUT, через минуту проверяю статус и делаю старт - и опять то же самое. Двести раз - и все одно. Перерегистрация - и то же самое бывает. Правда, МТСовский GPRS у меня тут работает отвратительно... Перешью, поиграюсь...
Go to the top of the page
 
+Quote Post
ap77
сообщение Aug 11 2011, 02:18
Сообщение #45


Участник
*

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



Цитата(rx3apf @ Aug 10 2011, 23:34) *
Вот если дать +CIPSHUT и тут же +CIPSTART - то гарантированно DEACT. И статус проверяю - "IP INITIAL", но без задержки гарантированно вылетает. Вроде в восьмой версии пофиксено - сейчас возобновляю разборки со своим проектом, так эти проблемы при рестарте сессии уже замучали. Причем и с задержками тоже не гарантированно - при PDP DEACT выдаю +CIPSHUT, через минуту проверяю статус и делаю старт - и опять то же самое. Двести раз - и все одно. Перерегистрация - и то же самое бывает. Правда, МТСовский GPRS у меня тут работает отвратительно... Перешью, поиграюсь...

У меня EAT, второй версии... тоже самое. Поставлю третью версию, может полегчает
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 - 10:59
Рейтинг@Mail.ru


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