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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> SIM900, TCP
Alex_TAV
сообщение May 21 2013, 10:43
Сообщение #16


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

Группа: Свой
Сообщений: 145
Регистрация: 12-01-07
Из: Россия, г. Омск
Пользователь №: 24 357



А вот вопрос как все же правильно открывать подключение по TCP? Раньше с SIM300 использовал алгоритм
Алгоритм подключения такой -
AT+CGATT? пока не прийдет CGATT:1
AT+IPR=115200
ATE0
AT+CIPCSGP=1,"internet","gdata","gdata" - точка доступа
AT+CIPSTART=="TCP","xxx.xxx.xxx.xxx","09003" подключится по TCP к серверу и ждем CONNECT OK


Внимательно перечитав доки для SIM900, увидел другой рекомендуемый набор команд, тогда сделал -
AT+CGATT? пока не прийдет CGATT:1
AT+IPR=115200
ATE0
AT+CSTT="internet","gdata","gdata" точка доступа
AT+CIICR
AT+CIFSR // локальный IP
AT+CIPSTART=="TCP","xxx.xxx.xxx.xxx","09003" подключится по TCP к серверу и ждем CONNECT OK

Как правильнее?
Go to the top of the page
 
+Quote Post
vassabi
сообщение May 21 2013, 14:10
Сообщение #17


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

Группа: Свой
Сообщений: 156
Регистрация: 18-02-13
Из: Киев
Пользователь №: 75 678



Цитата(Alex_TAV @ May 21 2013, 13:43) *
...
AT+IPR=115200
...
Как правильнее?

А зачем бодрейт дерагать то?
Правильнее так, как написано в рекомендациях на конкретный модуль.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 21 2013, 14:26
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(vassabi @ May 21 2013, 17:10) *
А зачем бодрейт дерагать то?

Чтобы автоопределение скорости отключить.
Например при передачи бинарных данных (AT+CIPSEND=xxx) модем пожет автоопределится на какую-нибудь другую скорость.
Go to the top of the page
 
+Quote Post
vassabi
сообщение May 21 2013, 14:36
Сообщение #19


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

Группа: Свой
Сообщений: 156
Регистрация: 18-02-13
Из: Киев
Пользователь №: 75 678



Цитата(_Артём_ @ May 21 2013, 17:26) *
Например при передачи бинарных данных (AT+CIPSEND=xxx) модем пожет автоопределится на какую-нибудь другую скорость.
Это где такое написано? Или это из опыта?
Конечно, зависит от задачи, но в 90% случаев бодрейт устанавливается один раз в жизни девайса (без учета аварийных ситуаций и перепрошивок)

Сообщение отредактировал vassabi - May 21 2013, 14:36
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 21 2013, 14:57
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(vassabi @ May 21 2013, 17:36) *
Это где такое написано? Или это из опыта?

Это из опыта (возможно уже устаревшего).

Цитата(vassabi @ May 21 2013, 17:36) *
Конечно, зависит от задачи, но в 90% случаев бодрейт устанавливается один раз в жизни девайса (без учета аварийных ситуаций и перепрошивок)

Вобщем да, к тому же можно запросить текущую скорость и если она устраивает можно не менять.
Цитата
AT+IPR?

+IPR: 19200

OK

AT+IPR=115200

OK
Go to the top of the page
 
+Quote Post
vassabi
сообщение May 21 2013, 15:55
Сообщение #21


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

Группа: Свой
Сообщений: 156
Регистрация: 18-02-13
Из: Киев
Пользователь №: 75 678



Цитата
AT+IPR?
+IPR: 19200
OK
AT+IPR=115200
OK

Такое врядли возможно, т.к. если модуль отзывался на скорости 19200, то вы о ней точно знаете.
А в режиме автоопределения бодрейта, команда AT+IPR? отвечает всегда +IPR: 0
Переключение в AT+IPR=115200 требует последующего рестарта, а так как AT+IPR попадает в список команд, которые сохраняются в NVRAM, то строки переопределения бодрейта теряют смысл.

Сообщение отредактировал vassabi - May 21 2013, 15:57
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 21 2013, 16:33
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(vassabi @ May 21 2013, 18:55) *
Такое врядли возможно

Что именно невозможно?

Цитата(vassabi @ May 21 2013, 18:55) *
если модуль отзывался на скорости 19200, то вы о ней точно знаете.

Отозваться-то он может, но при этом скорость может быть настоена на автоопределение.

Цитата(vassabi @ May 21 2013, 18:55) *
Переключение в AT+IPR=115200 требует последующего рестарта

Зачем рестарт? Скорость на лету вполне переключалась.

Цитата(vassabi @ May 21 2013, 18:55) *
а так как AT+IPR попадает в список команд, которые сохраняются в NVRAM

Возможно без рестарта новая настройка IPR не запомнится (но это проверять надо) или может AT&W её сохранить может.
Go to the top of the page
 
+Quote Post
vassabi
сообщение May 21 2013, 17:02
Сообщение #23


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

Группа: Свой
Сообщений: 156
Регистрация: 18-02-13
Из: Киев
Пользователь №: 75 678



Цитата
Отозваться-то он может, но при этом скорость может быть настоена на автоопределение.

В этом случае AT+IPR? вам не поможет, ответ будет +IPR: 0

Что вам мешает отловить RDY сразу после включения питания и если ее нет, отправить AT (для авто-бодрейта), а затем зафиксировать необходимую скорость навсегда?
Кстати, для этого вам не нужна AT&W, я же написал AT+IPR автоматически сохраняется в NVRAM.

Сообщение отредактировал vassabi - May 21 2013, 17:06
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 21 2013, 17:35
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(vassabi @ May 21 2013, 20:02) *
В этом случае AT+IPR? вам не поможет, ответ будет +IPR: 0

Если ответит +IPR: 0, значит скорость не настроена, а если +IPR: xxxxxx - то скорость задана и повторно её задавать не нужно.

Цитата(vassabi @ May 21 2013, 20:02) *
Что вам мешает отловить RDY сразу после включения питания и если ее нет, отправить AT (для авто-бодрейта), а затем зафиксировать необходимую скорость навсегда?

Можно и так.
Цитата(vassabi @ May 21 2013, 20:02) *
Кстати, для этого вам не нужна AT&W, я же написал AT+IPR автоматически сохраняется в NVRAM.

Да. Проверил - сохранять или слать AT&W не надо - запоминается и так.
Go to the top of the page
 
+Quote Post
Alex_TAV
сообщение May 23 2013, 12:39
Сообщение #25


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

Группа: Свой
Сообщений: 145
Регистрация: 12-01-07
Из: Россия, г. Омск
Пользователь №: 24 357



Цитата(vassabi @ May 21 2013, 21:10) *
А зачем бодрейт дерагать то?
Правильнее так, как написано в рекомендациях на конкретный модуль.

Т.к. в SIM900 по умолчанию установлено автоопределение скорости, то я предпочитаю подстраховатся и установить ее еще и вручную. А каждый раз - так как я для надежности в случае неудач при подключении, выключаю модуль и начинаю работу "с нуля".
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th June 2025 - 16:25
Рейтинг@Mail.ru


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