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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Господа, а не пора ли уже забыть про встроенные стеки?
=F8=
сообщение Jul 24 2013, 08:54
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Ну вот подумайте STM32103RET стоит около 5$(в принципе хватит даже STM32103RСT). Порт FreeRTOS для этого контроллера есть, так-же есть порт lwip+ppp для freertos, т.е. практически все системное п.о. уже написано, только бери и кушай sm.gif. При этом мы получаем систему с которой работать на порядок удобней чем со встроенным стеком соответственно уменьшается время разработки. Кроме того возможности такой системы намного шире, например попробуйте открыть с помощью Simcom-вского встроенного стека пару серверних портов, с помощью стека от Telit вы сможете открыть несколько портов но при этом каждый серверный сокет может принять только одно соединение, а это не годиться, к примеру, для web-сервера, и.т.д. Кроме того, как бонус, отказавшись от встроенного стека мы получаем практически полную независимость от типа gsm модуля.
Честно говоря вижу лишь один случай когда использование встроенного стека оправданно - когда программа работает на самом модуле(OpenAT, OpenCPU, phyton, java итд)
ЗЫ Недавно пришлось преводить девайс на Sagem HILO NC на внешний стек по причине глючности внутреннего. И был приятно удивлен насколько это просто.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Jul 24 2013, 09:04
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



А как смс принимать? А входящие звонки?
TCP стеку для стабильной работы нужны приёмные буферы приличных размеров. В simcom они влазят, а в ST 103 уже со скрипом.
Go to the top of the page
 
+Quote Post
=F8=
сообщение Jul 24 2013, 09:51
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Цитата(andrewlekar @ Jul 24 2013, 12:04) *
А как смс принимать? А входящие звонки?

Режим мультиплексирования(CMUX). Один порт на передачу данных, другой на SMS и прочие нужды.
Цитата(andrewlekar @ Jul 24 2013, 12:04) *
TCP стеку для стабильной работы нужны приёмные буферы приличных размеров. В simcom они влазят, а в ST 103 уже со скрипом.

Насколько большие?
В реальности хватило даже LPC2146 с ее 32 + 8К.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Jul 24 2013, 10:06
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Цитата
Насколько большие?

Точно не знаю, но lwIp у меня без буфера в 4K начинал внезапно чудить. И это клиент с одним сокетом. Сервер без 16K лишней ОЗУ я бы не рекомендовал делать.
Go to the top of the page
 
+Quote Post
=F8=
сообщение Jul 24 2013, 10:40
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Цитата(andrewlekar @ Jul 24 2013, 13:06) *
Точно не знаю, но lwIp у меня без буфера в 4K начинал внезапно чудить. И это клиент с одним сокетом. Сервер без 16K лишней ОЗУ я бы не рекомендовал делать.

Вы про MEM_SIZE? У меня установлен параметр MEM_LIBC_MALLOC, так-что вместо отдельной кучи для lwip используется общая системная размером 10К. Два серверных сокета, максимум 2 активных соединения. Занято 34 501 байт ram, это на все не только ip стек.
PS разумеется 32+8К это мало.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jul 24 2013, 10:45
Сообщение #6


Гуру
******

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



>>>например попробуйте открыть с помощью Simcom-вского встроенного стека пару серверних портов

ну дык сделали - тестировали еще год назад, даже в форуме было.
только никто не проявил интереса и валялась функция на полочке не добавленая....

UDP server function in Multi-connection mode
we add one more parameter <index> before the parameter <mode>

AT+CIPMUX=1

OK
AT+CIPUDPMODE=0,1 //0 is the <index>

OK

AT+CLPORT=0,"UDP",8888 //udp local port 8888

OK

AT+CIPHEAD=1

OK
AT+CIPSRIP=1

OK
AT+CSTT

OK
AT+Ciicr

OK
AT+Cifsr

10.4.64.80
AT+CIPSTART=0,"UDP","116.236.221.75",6666

OK

0, CONNECT OK
AT+CIPSEND=0

> test
0, SEND OK

+RECEIVE,0,9,"116.236.221.75:6666":
test 6666

AT+CIPUDPMODE=0,2,"116.236.221.75",3114

OK
AT+CIPSEND=0

> test
0, SEND OK

+RECEIVE,0,11,"116.236.221.75:3114":
werfafqfqwf

+RECEIVE,0,9,"116.236.221.75:6666":
test 6666


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
=F8=
сообщение Jul 24 2013, 11:02
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



2 CADiLO ну вы хоть-бы ":)" поставили. Разумеется речь идет tcp сервер. Не зря ведь там дальше про web-сервер написано.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jul 24 2013, 11:48
Сообщение #8


Гуру
******

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



не переживайте, TCP тоже тестировали... спроса на мультиконнект нет, а делать "абы було" китайцев еще убедить надо.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
yooj
сообщение Jul 24 2013, 12:27
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 29-01-10
Из: Украина
Пользователь №: 55 147



TCP сервер тоже работает

P.S. поставлю смайлик на всякий случай : )
Go to the top of the page
 
+Quote Post
=F8=
сообщение Jul 24 2013, 12:42
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Цитата(CADiLO @ Jul 24 2013, 14:48) *
не переживайте, TCP тоже тестировали... спроса на мультиконнект нет, а делать "абы було" китайцев еще убедить надо.

Да я и не переживаю и на simcom кстати не наезжаю. Основная мысль такова - если в проекте предполагается использование внешнего контроллера то зачем использовать внутренний стек модуля? Это даст экономию максимум пара $ зато потенциальной головной боли... причем боли с которой вообще ничего сделать нельзя(пример - Sagem чтоб его HILO).

Цитата
TCP сервер тоже работает

Работает, один, поддерживает несколько соединений. Попробуйте создать 2 сервера один к примеру на 80 порту второй на 502. Да суть собственно не в том. Контроллер это не комп(даже на компе есть ограничения), ограничения будут в любом случае, но разница в том, что вы можете сами выбирать эти ограничения.
Go to the top of the page
 
+Quote Post
yooj
сообщение Jul 24 2013, 13:20
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 29-01-10
Из: Украина
Пользователь №: 55 147



Цитата(=F8= @ Jul 24 2013, 15:42) *
Работает, один, поддерживает несколько соединений. Попробуйте создать 2 сервера один к примеру на 80 порту второй на 502. Да суть собственно не в том. Контроллер это не комп(даже на компе есть ограничения), ограничения будут в любом случае, но разница в том, что вы можете сами выбирать эти ограничения.


http://youtu.be/ezLFV-mZ8bE
Go to the top of the page
 
+Quote Post
=F8=
сообщение Jul 24 2013, 14:03
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Мда... в некоторых случаях медицина бессильна...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 24 2013, 14:04
Сообщение #13


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(=F8= @ Jul 24 2013, 11:54) *
... И был приятно удивлен насколько это просто.


Что, и SSL прикрутили, или VPN ? wink.gif

И зачем дивайсу с подключением по GPRS несколько слушающих портов?
Чтоб из него весь лимит выкачали всякие сетевые сканеры?

Т.е. я тоже за отказ от встроенных в модули стеков, но аргументацию привел бы другую.
Go to the top of the page
 
+Quote Post
=F8=
сообщение Jul 24 2013, 14:47
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Цитата(AlexandrY @ Jul 24 2013, 17:04) *
Что, и SSL прикрутили, или VPN ? wink.gif

SSL это да... прикрутить можно, например PolarSSL, но контроллер понадобиться со 128K RAM, что-то вроде STM32F207VCT. А это уже порядка 9$. По поводу VPN насколько знаю модулей со встроенным VPN нету(ну может у telit 863 которые с linux на борту но там цена...).

Цитата(AlexandrY @ Jul 24 2013, 17:04) *
И зачем дивайсу с подключением по GPRS несколько слушающих портов?
Чтоб из него весь лимит выкачали всякие сетевые сканеры?

Ну вот конкретный пример: есть девайс основное назначение которого передавать данные через RS232 от счетчиков, контроллеров и.т.д. через GPRS. На контроллере так-же есть цифровые входы, выходы, внутренние регистры к которым можно обратиться по modbus-tcp протоколу. Соответственно один порт открываем для работы с RS232, второй для работы с внутренними регистрами.
А что до сканеров... такие девайсы обычно работают в закрытых сетях, там чужих нет.

Цитата(AlexandrY @ Jul 24 2013, 17:04) *
Т.е. я тоже за отказ от встроенных в модули стеков, но аргументацию привел бы другую.

Ну я не претендую на идеальную аргументацию. Если есть другие мысли на эту тему, то давайте...


Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 24 2013, 15:10
Сообщение #15


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(=F8= @ Jul 24 2013, 17:47) *
к которым можно обратиться по modbus-tcp протоколу. Соответственно один порт открываем для работы с RS232, второй для работы с внутренними регистрами.
А что до сканеров... такие девайсы обычно работают в закрытых сетях, там чужих нет.


Я так и подозревал судя по номеру порта. wink.gif
Но здесь большая опасность.
Скажем HMI панели OMRON выдают запросы по modbus-tcp без интервалов. И там вообще нет регулировки этих интервалов.
И если скажем дивайс успевает откликнуться 100 раз в секунду, то панель его столько раз и опрашивает.

Т.е. беспроводную сеть такой modbus клиент просто зафлудит запросами.

Сканеры тоже работают в локальных сетях провайдеров очень агресcивно.
Сканированием например пользуются пакеты управления корпоративной инфраструктурой как HP OpenView.

Это значит, что на открытых портах дивайсов в публичных сетях надо делать парсеры протоколов гораздо более защищенные чем в промышленных сетях.
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 Текстовая версия Сейчас: 16th June 2025 - 18:47
Рейтинг@Mail.ru


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