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

 
 
 
Reply to this topicStart new topic
> Нужен совет по организации работы TCP соединений., wismo228, TCP клиент и выход из режима сна
stapleman
сообщение Jan 22 2014, 11:22
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 9-11-08
Пользователь №: 41 482



Здравствуйте.
Сделано устройство с аккумуляторным питанием. Устройство содержит модем wismo228 и обменивается данными с сервером по gprs.
Через какое-то время, когда обмена данными не требуется соединение закрывается, и устройство переходит в спящий режим, переводя модем в режим Idle.
Далее, у сервера появляются данные, которые ему необходимо передать устройству.
Я планирую сделать так: сервер звонит устройству и оно уже просыпается и устанавливает соединение с сервером.
В этом случае время между появлением необходимости обмена данными и самим обменом будет минимально.

У меня есть сомнения, может есть какой-либо более красивый способ решения этой задачи?
Go to the top of the page
 
+Quote Post
viakon
сообщение Jan 22 2014, 11:30
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Цитата(stapleman @ Jan 22 2014, 17:22) *
Здравствуйте.
Сделано устройство с аккумуляторным питанием. Устройство содержит модем wismo228 и обменивается данными с сервером по gprs.
Через какое-то время, когда обмена данными не требуется соединение закрывается, и устройство переходит в спящий режим, переводя модем в режим Idle.
Далее, у сервера появляются данные, которые ему необходимо передать устройству.
Я планирую сделать так: сервер звонит устройству и оно уже просыпается и устанавливает соединение с сервером.
В этом случае время между появлением необходимости обмена данными и самим обменом будет минимально.

У меня есть сомнения, может есть какой-либо более красивый способ решения этой задачи?


Под IDLE понимается AT+CFUN режим? Тогда зачем звонки, переводите модем в IDLE и все, он должен продолжать работать по GPRS. А микроконтроллер устройства пусть просыпается по приему байтов от модема.
Go to the top of the page
 
+Quote Post
stapleman
сообщение Jan 22 2014, 11:41
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 9-11-08
Пользователь №: 41 482



Цитата(viakon @ Jan 22 2014, 15:30) *
Под IDLE понимается AT+CFUN режим? Тогда зачем звонки, переводите модем в IDLE и все, он должен продолжать работать по GPRS. А микроконтроллер устройства пусть просыпается по приему байтов от модема.


Я использую вот этот IDLE:
When the AirPrime WISMO228 has a location update with a live network but with no
GSM/GPRS connection, while the UART interface is in sleep mode.

В этом режиме, если позвонить на устройство, то оно примет звонок.
Если в этот режим перейти, не разорвав соединение, то скорее всего при приеме пакета TCP, оно проснётся (не проверял). Но есть подозрение, что если соединение долго не используется, то его разорвёт сотовый оператор (отдаст ip другому телефону), и тогда серверу уже не достучаться до устройства.
Возможно имеет смысл иногда просыпаться и пинговать сервер, но тут становиться критичным потребление, да и как часто пинговать не понятно.
Go to the top of the page
 
+Quote Post
viakon
сообщение Jan 23 2014, 06:49
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Цитата(stapleman @ Jan 22 2014, 17:41) *
Я использую вот этот IDLE:
When the AirPrime WISMO228 has a location update with a live network but with no
GSM/GPRS connection, while the UART interface is in sleep mode.


Какой командой модуль вводится в этот режим? Большая экономия по сравнению с режимом по команде AT+CFUN=7?
Go to the top of the page
 
+Quote Post
stapleman
сообщение Jan 23 2014, 09:49
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 64
Регистрация: 9-11-08
Пользователь №: 41 482



Цитата(viakon @ Jan 23 2014, 10:49) *
Какой командой модуль вводится в этот режим? Большая экономия по сравнению с режимом по команде AT+CFUN=7?

Настроен режим AT+PSSLEEP=0.
В этом режиме, если установить DTR, то модем переходит в спящий режим.
А что такое =7? Что в этом случае выключается у модема?
И даже если соединение при этом не рвётся, неужели оператор дает поддерживать длительное соединение и не рвёт его сам?
Go to the top of the page
 
+Quote Post
viakon
сообщение Jan 23 2014, 10:25
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Цитата(stapleman @ Jan 23 2014, 15:49) *
Настроен режим AT+PSSLEEP=0.
В этом режиме, если установить DTR, то модем переходит в спящий режим.
А что такое =7? Что в этом случае выключается у модема?
И даже если соединение при этом не рвётся, неужели оператор дает поддерживать длительное соединение и не рвёт его сам?


Выключается приемник, он включется только на момент прослушивания базовой станции. Посылать в модем можно только если CTS активный. Насчет того насколько долго продержится неактивная сессия, не отвечу, надо экспериментировать. У меня обмен мнимум 1 раз в 5 мин что-нибудь пролетает.
Go to the top of the page
 
+Quote Post

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

 


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


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