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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> TCP соединение через SIM900, производительность передачи данных
Hoodwin
сообщение Sep 5 2012, 10:26
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Имеем типовую задачку для телеметрии и удаленного обмена данных прибор-сервер. Ранее у нас реализован был вполне развитый протокол управляющих сообщений, бегающих по RS-485. Теперь вот хотим вставить новый кирпичик - GSM-концентратор. Уперлись в следующий вопрос.

Можно ли средствами SIM900 установить TCP соединение с помощью AT команд, после чего перевести все это в прозрачный режим, выбрав конкретное (оно у нас единственное) TCP соединение в качестве терминала? Просто наш собственный протокол и так не очень сложен, и вписывается в подмножество ASCII 32-127. Нам и этого (небольшого впрочем) оверхеда хватит sm.gif

Несколько напрягает алгоритм приема IP-пакетов через AT-команды. Получается, что прием утяжелен оверхедом в виде +CIPRXGET в различных комбинациях, и кушает до 80% трафика. То есть на скорости UART 115200 останется не более 1-2КБ/с, маловато, как мне кажется.

В режиме терминала теоретически можно было бы все 100% трафика по UART использовать, ну или хотя бы близко приблизится к потолку трафика по GPRS (вроде 85.6Кб). Но нас вообще больше закачка на сервер интересует, а там вроде только 42.8Кбит/с обещано. Но это все равно больше, чем получится при возне с АТ командами...

Сообщение отредактировал Hoodwin - Sep 5 2012, 10:31
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Sep 5 2012, 10:50
Сообщение #2


Гуру
******

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



Цитата(Hoodwin @ Sep 5 2012, 13:26) *
там вроде только 42.8Кбит/с обещано

Ну, возможно придётся "закатать обратно"....

тут про sim900&GPRS

Или вы не согласны?
Go to the top of the page
 
+Quote Post
Aner
сообщение Sep 5 2012, 11:12
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



Да, это проблема и она не одна, из-за которой, например мы во многих проектах ставим проц и пользуем стек внутри этого проца.
В SIM900 стек хоть и хорош, но из-за AT команд применение стека ограничено.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Sep 5 2012, 11:15
Сообщение #4


Гуру
******

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



Цитата(Aner @ Sep 5 2012, 14:12) *
Да, это проблема и она не одна, из-за которой, например мы во многих проектах ставим проц и пользуем стек внутри этого проца.
В SIM900 стек хоть и хорош, но из-за AT команд применение стека ограничено.

И каких скоростей удаётся добится?
Какой стек используете, если не секрет?
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Sep 5 2012, 11:17
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 624
Регистрация: 15-06-10
Из: Россия
Пользователь №: 57 939



А что прозрачный режим не катит?
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Sep 5 2012, 11:29
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Да я и спрашиваю про прозрачный режим, как его включить то?
Хочется как с модемом раньше было, получил CONNECT и пиши себе все что хочешь, потом +++ и обратно к AT командам. Такое можно сделать?
Ну, я понимаю, что при интерфейсе, поддерживающем потенциально несколько соединений, это не всегда возможно сделать, но может быть можно сказать, что вот хочу превратить соединение X в простой терминал, и после этого прозрачный доступ как по модему.

Сообщение отредактировал Hoodwin - Sep 5 2012, 11:30
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Sep 5 2012, 11:38
Сообщение #7


Гуру
******

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



Цитата(Hoodwin @ Sep 5 2012, 14:29) *
Да я и спрашиваю про прозрачный режим, как его включить то?


Из SIM900_TCPIP_Application Note_V1.02.pdf:
Цитата
AT+CIPMODE=1 //Enable transparent mode

OK
AT+CGATT?
+CGATT: 1
OK
AT+CSTT=”CMNET”

OK

AT+CIICR


AN_SIM900_TCPIP_V1.02 1 1 2011.04.01
Smart Machine Smart Decision
OK

AT+CIFSR

10.76.157.180

AT+CIPSTART=”TCP”,”116.228.221.51”,”8500”

OK

CONNECT
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Sep 5 2012, 11:48
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Ага, спасибо. Пну программистов, чтоб попробовали...
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Sep 6 2012, 08:01
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 624
Регистрация: 15-06-10
Из: Россия
Пользователь №: 57 939



Цитата(Hoodwin @ Sep 5 2012, 14:48) *
Ага, спасибо. Пну программистов, чтоб попробовали...


Чо там пробывать - всё прекрасно работает. Только +++ советую заменить на ногу DTR
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Sep 6 2012, 08:15
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



Это да - аппаратно через DTR лучше работает чем +++


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Sep 6 2012, 09:31
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Верю, что нога DTR лучше. Но в design guide про нее написано только в отношении sleep, про режим терминала ничего не сказано. Вообще странно, что там все как-то половинчато расписано. DTR можно использовать для перевода модуля в спящий режим, но для этого надо сначала включить эту фичу (AT+CSCLK=1), а можно ее не включать и переводить в спячку с помощью AT+CFUN. Аналогично, расписаны фичи сигнала RING, а потом выясняется, что статусы звонков и СМС прекрасно валятся по UART. Спрашивается, зачем тогда пин анализировать. Почитав этот документ я сделал вывод, что больше пользы будет от RING, и сейчас подключены три сигнала RING, TXD, RXD. Вопрос сводится к тому, действительно ли DTR имеет функцию входа выхода из режима команд AT и простого терминала, и можно ли его тогда подключить к МК вместо RING. Дело в том, что выводов свободных у МК уже нет, и нужно искать компромис.

Go to the top of the page
 
+Quote Post
CADiLO
сообщение Sep 6 2012, 10:03
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



>>> Но в design guide про нее написано только в отношении sleep, про режим терминала ничего не сказано. Вообще странно, что там все как-то половинчато расписано.

А кроме design guide что-то пользовали??? Например апнотесы? Там поболее написано.....

По первому вопросу
SIM900_TCPIP_Application Note_V1.02.pdf

По DTR
SIM900_Serial Port_Application Note_V1.03.pdf

http://microchip.ua/simcom/?link=/SIM900x/AppNotes


Я обычно исхожу из того что разработчик просмотрел всю доступную документацию и не нашел ответ или не допонял его.
Ваши вопросы просто не возникли бы после прочтения апнотесов. Тем более что все доки в свободном доступе.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Sep 6 2012, 11:03
Сообщение #13


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Да, действительно, есть такие документы sm.gif Почитаем, спасибо. Я не против чтения док, просто культурные фирмы ссылаются обычно из главного документа на дополнительные. Читать вообще все доки, чтобы воспользоваться 10% - это неправильно. Ну, видимо, у SIMCOM такая нетривиальная организация док, не совсем привычно, мягко говоря.

Например, глянул бегло в Serial port AN. Оказывается, там приведены схемы подключения к МК со сдвигом уровней. Зато в design guide их нет, и даже нет ссылки, что есть подробный мануал на Serial port, в котором повторено все, что есть в design guide.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Sep 6 2012, 11:46
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



Поверьте это еще хорошие доки. Если бы вы Modulestek посмотрели, то вообще ахнули.
Китайцы.... И самое интересное что есть у фирм даже красиво оформленые документы, а информативности еще меньше....

Да и у брендовых производителей не всегда все радужно - в свое время Altera пользовали, так там тоже в доках можно было запутаться.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Sep 6 2012, 12:38
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Ну, я привык к градациям док от TI. У них доки, в которых расписана столбовая дорога, называются user guide, иногда reference guide. Но никогда (!) не application notes. В Application notes они публикуют труды своих инженеров (с указанием авторства), которые могут быть полезны кому-то, например, практическая реализация какого-то алгоритма, справка по использованным для него ресурсам, и т.п. То есть это весьма такие второстепенные документы, которых может быть много, и которые могут никогда не пригодиться. При этом документ, в котором описаны absolute maximum ratings, electrical characteristics, AC timing characteristics, назначение выводов и чертеж, коды для заказа, обычно называется datasheet, а не hardware design.

Конечно это все не фатально, научимся, будет работать, никуда не денется sm.gif.

Go to the top of the page
 
+Quote Post

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

 


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


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