Arduino Mega Server

Модератор: Alex

SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am

Re: Arduino Mega Server

Сообщение SPbDima »

Можете поделиться вторым изданием книги Виктора Петина?
Xseon
Сообщения: 51
Зарегистрирован: Ср сен 18, 2013 12:21 am

Re: Arduino Mega Server

Сообщение Xseon »

Низкий поклон и огромное спасибо товарищу Alex'y за великий труд, как и Сергею!
Я начал освоение АМС с 0.13 версии.
0.13 версия была крайне нестабильной, "работая" с сервером МД.
Перечитал всю ветку форума (более 100 страниц) в поисках стабильности, но только откомпилировав 0.14 увидел огромную разницу между ними.
0.14 версией я вообще не нарадуюсь, стабильно отправляет данные на сервер МД, но заметил тормоза при одновременном обращении с разных девайсов. Насколько я понимаю проблема в таймерах и сокетах сохранилась.
По мере возможности постараюсь помочь...
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

но заметил тормоза при одновременном обращении с разных девайсов. Насколько я понимаю проблема в таймерах и сокетах сохранилась.
Дело в том, что в W5100 всего 4 аппаратных сокета и родная библиотека так работает с ними, что задержки интерфейса АМС достигают 40 секунд, что совершенно неприемлемо. Одновременно, она корректно обслуживает множественные единичные соединения.

Модифицированная библиотека захватывает все 4 сокета для интерфейса, но не оставляет их для других сетевых сервисов. Что тоже неприемлемо.

В качестве временного компромиссного варианта было принято решение захватывать 3 сокета, а 1 оставлять для всех прочих нужд. Свободный остаётся всего 1 и поэтому тормозят множественные обращения.

Это ненормальная ситуация и она требует решения и, видимо, для этого нужно переделать библиотеку Ethernet. Мне это пока не удалось.

В качестве ещё одной временной меры пробовал организовать динамический захват сокетов — и тоже безуспешно. С 3 на 4 переходит корректно, а с 4 на 3 — виснет.

Решение этой проблемы было и остаётся главной задачей.
alex946
Сообщения: 7
Зарегистрирован: Вт янв 05, 2016 9:11 am

Re: Arduino Mega Server

Сообщение alex946 »

w5500

8 сокетов.
tto4ka
Сообщения: 5
Зарегистрирован: Пн янв 11, 2016 3:32 pm

Re: Arduino Mega Server

Сообщение tto4ka »

Прочитал всю тему, Автору спасибо огромное за проект, проект стоящий, планирую использовать его в постройке умного дома, только конечное видение немного отличается от видения автора :) Но это так сказать нормально, каждый видит по своему, у меня возник вопрос, третий день ищу способ реализации, может вы кто нибудь подскажите.
В каждой комнате планирую по небольшому контроллеру с ЛСД экраном и всеми датчиками, на котором будет допустим температура, время, ну и управление светом, температурой в комнате или еще какой либо автоматикой причем само управление будет идти с AMS, и мне нужно как то передавать данные на АМС, и вот тут самая огромная проблема, это либо ethernet, либо rs485 либо еще что то. По локалке все понятно, из минусов относительная дороговизна 200р за ENC28J60, занятие 4 пар витой пары, отдельный коммутатор, из плюсов гибкость, огромный запас по пропускной способности, возможность обновлять скетчи по сети, по rs485 опять же избыточность только в другом, куча запросов от мастера к слейвам что тоже не очень нравится, из минусов сложный мастер, односторонняя инициация запросов, можно воспользоваться допустим флагом изменения что уменьшит количество запросов но увеличит число необходимых проводов с 2(3) до 3(4), из плюсов дешевизна, надежность теоретически, так же есть возможность заливать скетчи удаленно(теоретически). i2c не хватит по расстояниям на сколь я понял, вайфай использовать не хочется, больше варантов нет, может кто еще какие варианты посоветует?
pastry777
Сообщения: 81
Зарегистрирован: Пт окт 02, 2015 7:47 pm

Re: Arduino Mega Server

Сообщение pastry777 »

Alex писал(а):

Модифицированная библиотека захватывает все 4 сокета для интерфейса, но не оставляет их для других сетевых сервисов. Что тоже неприемлемо..
поясните пожалуйста,что за другие сетевые сервисы? я видел это так,пришел запрос,обработали его,отдали страничку или что там еще,все,ждем запрос,будь то на страничку или ajax,не важно...какие еще сервисы?
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

w5500

8 сокетов.
Само-собой. Но у народа на 99.9% w5100. Кстати w5500 уже официально поддерживается 0.14 версией, но у неё другая проблема.

http://hi-lab.ru/arduino-mega-server/de ... -ethernet2
может кто еще какие варианты посоветует?
Да моя концепция немного нестандартная :)
поясните пожалуйста,что за другие сетевые сервисы? я видел это так,пришел запрос,обработали его,отдали страничку или что там еще,все,ждем запрос,будь то на страничку или ajax,не важно...какие еще сервисы?
Это вопрос насколько интересный, настолько и мутный. Тут имеется в виду, что если мы работаем с 4 сокетами, то запросы на М уже не отправляются и сетевые функции, кроме интерфейса, уже не работают.

Начинаем работать с 3 сокетами - запросы на М уже работают.

Я имел в виду под сервисами любую сетевую работу, кроме интерфейса.

Если вы можете прояснить этот момент или решить эту проблему то благодарность всех пользователей АМС (и моя тоже) не будет иметь границ.
tto4ka
Сообщения: 5
Зарегистрирован: Пн янв 11, 2016 3:32 pm

Re: Arduino Mega Server

Сообщение tto4ka »

Alex писал(а):
Да моя концепция немного нестандартная :)
Она более экономичная по ресурсам и более надежная так как все на одном контроллере, и поэтому тоже весьма оправдана, но я просто вижу совсем по другому, и теперь пытаюсь найти реализацию моего видения.
Пока что планирую заказать для rs485 платы, ну и 5500ка с ENC28J60 едет с ENC28J60 правда граблей тоже немало :) Да и сетевое решение тяжеловато опять таки.... хочется сделать что оптимальное :) И с запасом
alex946
Сообщения: 7
Зарегистрирован: Вт янв 05, 2016 9:11 am

Re: Arduino Mega Server

Сообщение alex946 »

Alex, это проблема выбранной архитектуры приложения.
Допустим, к "сокетам" подцепится два-три "интерфейса" - что будет? А если пять?
Я развлекался с telnet доступом на 5100 - да, оно работает, но... 4 коннекта и всё.
В этом смысле, вас спасёт только отказ от "сокетов" вообще.
Xseon
Сообщения: 51
Зарегистрирован: Ср сен 18, 2013 12:21 am

Re: Arduino Mega Server

Сообщение Xseon »

alex946 писал(а):Alex, это проблема выбранной архитектуры приложения.
Допустим, к "сокетам" подцепится два-три "интерфейса" - что будет? А если пять?
Я развлекался с telnet доступом на 5100 - да, оно работает, но... 4 коннекта и всё.
В этом смысле, вас спасёт только отказ от "сокетов" вообще.
Если использовать АМС в роли (отвязанного) самостоятельного контроллера, то естественно 4-х да и 8-ми соединений мало! Как правило для управления я бы использовал любой подручный девайс (IPad, Iphone, iMac и тд), коих в доме может быть довольно много.
Если гнать все через МД, то на данный момент я проблем не испытываю. Данные передаются на сервер стабильно, с сервера команды отправляются и обрабатываются АМС тоже без нареканий.
Конечно с момента аптайма прошло около суток и много чего еще может вылезти, но по сравнению с 0.13 просто космос!

to Alex
Если уклон больше делается на "самостоятельность" контроллера, то я бы на Вашем месте начал дополнять его "разумом", а еще лучше программируемым "разумом".
Я года два назад реализовывал 2-х стороннюю связь между Мегой и МД, то есть гарантированную доставку команд как из МД к Меге, так и обратно, Работало без сбоев.
Если кому нужно будет, смогу поделиться кодом для Меги.
Ответить