|
Господа, а не пора ли уже забыть про встроенные стеки? |
|
|
|
Jul 24 2013, 08:54
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Ну вот подумайте STM32103RET стоит около 5$(в принципе хватит даже STM32103RСT). Порт FreeRTOS для этого контроллера есть, так-же есть порт lwip+ppp для freertos, т.е. практически все системное п.о. уже написано, только бери и кушай  . При этом мы получаем систему с которой работать на порядок удобней чем со встроенным стеком соответственно уменьшается время разработки. Кроме того возможности такой системы намного шире, например попробуйте открыть с помощью Simcom-вского встроенного стека пару серверних портов, с помощью стека от Telit вы сможете открыть несколько портов но при этом каждый серверный сокет может принять только одно соединение, а это не годиться, к примеру, для web-сервера, и.т.д. Кроме того, как бонус, отказавшись от встроенного стека мы получаем практически полную независимость от типа gsm модуля. Честно говоря вижу лишь один случай когда использование встроенного стека оправданно - когда программа работает на самом модуле(OpenAT, OpenCPU, phyton, java итд) ЗЫ Недавно пришлось преводить девайс на Sagem HILO NC на внешний стек по причине глючности внутреннего. И был приятно удивлен насколько это просто.
|
|
|
|
|
Jul 24 2013, 09:51
|
Знающий
   
Группа: Свой
Сообщений: 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К.
|
|
|
|
|
Jul 24 2013, 10:06
|
Знающий
   
Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163

|
Цитата Насколько большие? Точно не знаю, но lwIp у меня без буфера в 4K начинал внезапно чудить. И это клиент с одним сокетом. Сервер без 16K лишней ОЗУ я бы не рекомендовал делать.
|
|
|
|
|
Jul 24 2013, 10:40
|
Знающий
   
Группа: Свой
Сообщений: 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К это мало.
|
|
|
|
|
Jul 24 2013, 10:45
|

Гуру
     
Группа: Свой
Сообщений: 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
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Jul 24 2013, 12:27
|
Участник

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

|
TCP сервер тоже работает
P.S. поставлю смайлик на всякий случай : )
|
|
|
|
|
Jul 24 2013, 12:42
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Цитата(CADiLO @ Jul 24 2013, 14:48)  не переживайте, TCP тоже тестировали... спроса на мультиконнект нет, а делать "абы було" китайцев еще убедить надо. Да я и не переживаю и на simcom кстати не наезжаю. Основная мысль такова - если в проекте предполагается использование внешнего контроллера то зачем использовать внутренний стек модуля? Это даст экономию максимум пара $ зато потенциальной головной боли... причем боли с которой вообще ничего сделать нельзя(пример - Sagem чтоб его HILO). Цитата TCP сервер тоже работает Работает, один, поддерживает несколько соединений. Попробуйте создать 2 сервера один к примеру на 80 порту второй на 502. Да суть собственно не в том. Контроллер это не комп(даже на компе есть ограничения), ограничения будут в любом случае, но разница в том, что вы можете сами выбирать эти ограничения.
|
|
|
|
|
Jul 24 2013, 13:20
|
Участник

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

|
Цитата(=F8= @ Jul 24 2013, 15:42)  Работает, один, поддерживает несколько соединений. Попробуйте создать 2 сервера один к примеру на 80 порту второй на 502. Да суть собственно не в том. Контроллер это не комп(даже на компе есть ограничения), ограничения будут в любом случае, но разница в том, что вы можете сами выбирать эти ограничения. http://youtu.be/ezLFV-mZ8bE
|
|
|
|
|
Jul 24 2013, 14:47
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Цитата(AlexandrY @ Jul 24 2013, 17:04)  Что, и SSL прикрутили, или VPN ?  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)  Т.е. я тоже за отказ от встроенных в модули стеков, но аргументацию привел бы другую. Ну я не претендую на идеальную аргументацию. Если есть другие мысли на эту тему, то давайте...
|
|
|
|
|
Jul 24 2013, 15:10
|

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

|
Цитата(=F8= @ Jul 24 2013, 17:47)  к которым можно обратиться по modbus-tcp протоколу. Соответственно один порт открываем для работы с RS232, второй для работы с внутренними регистрами. А что до сканеров... такие девайсы обычно работают в закрытых сетях, там чужих нет. Я так и подозревал судя по номеру порта.  Но здесь большая опасность. Скажем HMI панели OMRON выдают запросы по modbus-tcp без интервалов. И там вообще нет регулировки этих интервалов. И если скажем дивайс успевает откликнуться 100 раз в секунду, то панель его столько раз и опрашивает. Т.е. беспроводную сеть такой modbus клиент просто зафлудит запросами. Сканеры тоже работают в локальных сетях провайдеров очень агресcивно. Сканированием например пользуются пакеты управления корпоративной инфраструктурой как HP OpenView. Это значит, что на открытых портах дивайсов в публичных сетях надо делать парсеры протоколов гораздо более защищенные чем в промышленных сетях.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|