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

 
 
 
Reply to this topicStart new topic
> UDP Extended Mode в SIM900, Одновременный прием и отправка данных
maxgrind
сообщение Oct 1 2012, 06:25
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 12-03-10
Пользователь №: 55 911



Поднимаю UDP соединение в режиме Extended (AT+CIPUDPMODE=1). До тех пор, пока не пошлю данные, прием идет нормально. Стоит только сделать AT+CIPSEND и уже ничего не читается. Приходится закрывать соединение (AT+CIPCLOSE) и заново открывать его(AT+CIPSTART=...), тогда чтение работает, но опять пока не будет что-нибудь отправлено.

Ход действий:
AT+CGATT=1
AT+CSTT="FixedIP.nw","megafon","megafon"
AT+CIICR
AT+CLPORT="UDP",55554
AT+CIPUDPMODE=1
AT+CIFSR
AT+CIPSTART="UDP","х.х.х.х",уууу

В аппноуте есть пример, но там как как будто специально сначала идет прием с разных IP, а потом рассылка на разные IP. Нет такого, что после приема идет посылка, а потом опять прием и все в как надо работает, без переоткрытия соединения.
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Oct 1 2012, 07:53
Сообщение #2


Местный
***

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



Причина может быть как в модуле, так в во вне.
Какой IP назначается модулю? По идее, должен быть внешний "белый". И даже в этом случае у многих сисопов пакеты из сети не доходят до модуля, если он не проявляет сетевой активности (по любому протоколу и в любом направлении). Думаю, связано это с временем жизни arp-таблиц и блокировкой arp на каких-либо транзитных узлах сисопа. Поэтому при организации слушающего UDP-сокета может потребоваться хотя-бы раз в 10-20 сек посылать с модуля куда-то любой пакет.
У вас же противоположная ситуация, но в любом случае перед тем как грешить на прошивку модуля, надо бы исключить внешние причины. И еще - попробуйте порт ниже взять, высокие порты используются NAT, могут быть всякие непредвиденные эффекты
Go to the top of the page
 
+Quote Post
maxgrind
сообщение Oct 1 2012, 10:02
Сообщение #3





Группа: Участник
Сообщений: 12
Регистрация: 12-03-10
Пользователь №: 55 911



Цитата(GeGeL @ Oct 1 2012, 12:53) *
Причина может быть как в модуле, так в во вне.
Какой IP назначается модулю? По идее, должен быть внешний "белый". И даже в этом случае у многих сисопов пакеты из сети не доходят до модуля, если он не проявляет сетевой активности (по любому протоколу и в любом направлении). Думаю, связано это с временем жизни arp-таблиц и блокировкой arp на каких-либо транзитных узлах сисопа. Поэтому при организации слушающего UDP-сокета может потребоваться хотя-бы раз в 10-20 сек посылать с модуля куда-то любой пакет.
У вас же противоположная ситуация, но в любом случае перед тем как грешить на прошивку модуля, надо бы исключить внешние причины. И еще - попробуйте порт ниже взять, высокие порты используются NAT, могут быть всякие непредвиденные эффекты

Да, IP внешний статический. Порты взял пониже - что то не помогло(

Причем такое ощущение что модуль все таки принимает данные, но мне их не показывает. Т.к. дроссель в блоке питания платы жужжит когда я посылаю с компа в модуль пакетик. На AT+CIPRXGET=4 (сколько принятых байтов лежит в буфере) модуль отвеачает ERROR. В UDP extended mode так и должно быть.
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Oct 1 2012, 18:47
Сообщение #4


Местный
***

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



Ну, если так, то тогда баг модуля, и вопрос к саппорту.
Я не пользовал сим900 в таком виде, поднимал ррр извне и использовал свой стек, так что конкретно не скажу. А вобще то ждем обновленную ЕАТ, чтобы не заниматься извращениями, а использовать линукс-подобные функции для работы с сокетами, как сейчас в Quectel OCPU.

Сообщение отредактировал GeGeL - Oct 1 2012, 18:48
Go to the top of the page
 
+Quote Post

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

 


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


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