|
SIM900. Прием команд от TCP сервера., Transparent mode или командный режим? |
|
|
|
Apr 25 2014, 04:04
|
Участник

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

|
Господа! При разработке устройства с SIM900, которое должно уметь отправлять данные на сервер и получать команды с сервера, опробовал два режима работы: 1. Посылка данных в АТ режиме, командой CIPSEND - приглашение> - данные. В этом режиме при отправке команды с сервера легко нарваться на ситуацию, когда МК ждет ответ от SIM900, а приходит команда с сервера. Но это, в принципе, проблема решаемая. 2. Начал пробовать работу в Transparent mode.
Возник вопрос: Какой режим надежней? Поясню. Если, например в командном режиме ты послал данные, а в ответ не пришел ответ SEND OK, выдерживаешь таймаут и делаешь реконнект. А как в прозрачном режиме получить подтверждение? Только средствами сервера?
То что обмениваться данными в прозрачном режиме гораздо удобней, это факт. Но как с надежностью? Какие у вас мысли на этот счет?
|
|
|
|
|
 |
Ответов
|
Apr 25 2014, 15:30
|
Частый гость
 
Группа: Участник
Сообщений: 121
Регистрация: 17-04-09
Пользователь №: 47 838

|
Цитата(Иван Плетнев @ Apr 25 2014, 06:04)  ...послал данные, а в ответ не пришел ответ SEND OK... На сколько я знаю, еще не значит, что команда дошла до сервера. После отправки сообщения серверу жду от него подтверждения приема. Если после трех попыток передачи его нет, делаю реконнект. Командный режим удобнее, т.к. сим продолжает выдавать сообщения о входящих звонках, смсах, уровне сигнала, наличии регистрации. В прозрачном режиме надо мониторить пин ри, думаю это неудобно.
|
|
|
|
|
Apr 25 2014, 19:02
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Apr 25 2014, 19:06
|
Знающий
   
Группа: Свой
Сообщений: 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 вам правильно сказал, я это подтверждаю, просто поверьте наслово.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|