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

 
 
> SIM900. Прием команд от TCP сервера., Transparent mode или командный режим?
Иван Плетнев
сообщение Apr 25 2014, 04:04
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 12-04-14
Пользователь №: 81 340



Господа!
При разработке устройства с SIM900, которое должно уметь отправлять данные на сервер и получать команды с сервера, опробовал два режима работы:
1. Посылка данных в АТ режиме, командой CIPSEND - приглашение> - данные. В этом режиме при отправке команды с сервера легко нарваться на ситуацию, когда МК ждет ответ от SIM900, а приходит команда с сервера. Но это, в принципе, проблема решаемая.
2. Начал пробовать работу в Transparent mode.

Возник вопрос: Какой режим надежней? Поясню. Если, например в командном режиме ты послал данные, а в ответ не пришел ответ SEND OK, выдерживаешь таймаут и делаешь реконнект. А как в прозрачном режиме получить подтверждение? Только средствами сервера?

То что обмениваться данными в прозрачном режиме гораздо удобней, это факт. Но как с надежностью? Какие у вас мысли на этот счет?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zebrox
сообщение Apr 25 2014, 15:30
Сообщение #2


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

Группа: Участник
Сообщений: 121
Регистрация: 17-04-09
Пользователь №: 47 838



Цитата(Иван Плетнев @ Apr 25 2014, 06:04) *
...послал данные, а в ответ не пришел ответ SEND OK...

На сколько я знаю, еще не значит, что команда дошла до сервера.
После отправки сообщения серверу жду от него подтверждения приема.
Если после трех попыток передачи его нет, делаю реконнект.
Командный режим удобнее, т.к. сим продолжает выдавать сообщения о входящих звонках, смсах, уровне сигнала, наличии регистрации.
В прозрачном режиме надо мониторить пин ри, думаю это неудобно.
Go to the top of the page
 
+Quote Post
Иван Плетнев
сообщение Apr 25 2014, 19:02
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 12-04-14
Пользователь №: 81 340



Цитата(zebrox @ Apr 25 2014, 23:30) *
На сколько я знаю, еще не значит, что команда дошла до сервера.
После отправки сообщения серверу жду от него подтверждения приема.
Если после трех попыток передачи его нет, делаю реконнект.
Командный режим удобнее, т.к. сим продолжает выдавать сообщения о входящих звонках, смсах, уровне сигнала, наличии регистрации.
В прозрачном режиме надо мониторить пин ри, думаю это неудобно.


Если мы говорим про TCP (не UDP) то SEND OK как раз значит, что команда дошла до сервера, потому что это на самом деле - подтверждение ACK (Acknowledge), формируемое на сервере средствами TCP протокола. Бывает, что команда до сервера дошла, а SEND OK нет. Но наоборот быть не может. Если UDP, то действительно, SEND OK просто говорит о факте отправки, потому что в UDP подтверждение не предусмотрено.

Сообщение отредактировал Иван Плетнев - Apr 25 2014, 19:03
Go to the top of the page
 
+Quote Post
ssokol
сообщение Apr 25 2014, 19:06
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 615
Регистрация: 14-02-08
Из: г. Рыбинск, Ярославская область
Пользователь №: 35 028



Цитата(Иван Плетнев @ Apr 25 2014, 23:02) *
Если мы говорим про TCP (не UDP) то SEND OK как раз значит, что команда дошла до сервера, потому что это на самом деле - подтверждение ACK (Acknowledge), формируемое на сервере средствами TCP протокола. Бывает, что команда до сервера дошла, а SEND OK нет. Но наоборот быть не может. Если UDP, то действительно, SEND OK просто говорит о факте отправки, потому что в UDP подтверждение не предусмотрено.

zebrox вам правильно сказал, я это подтверждаю, просто поверьте наслово.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 05:14
Рейтинг@Mail.ru


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