Arduino Mega Server

Модератор: Alex

olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Arduino Mega Server

Сообщение olehs » Сб авг 08, 2015 12:33 pm

Не совсем понимаю, что вы называете буфером.
Под отрабатывает я понимаю следующее: без задержек подключается, кидает запрос, получает ответ и его отрубает. Дальше по кругу.

По фф ничего сказать не могу, но нагуглил, что в нем можно поменять к-во одновременных подключений на один хост.
In the address bar, type: about:config
Look for: network.http.max-connections-per-server
Попробуйте поиграться им, интересно как это отразится на временных диаграммах.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Сб авг 08, 2015 12:35 pm

Ну ладно, примем пока за рабочую модель и я буду иметь в виду предложенную схему оптимизации.

А именно, стараться укладываться в 3 соединения и уменьшать размер файлов, чтобы сокеты быстрее освобождались.
Может посмотреть в сторону websocket. И не запрашивать параметры а пусть сервак шлет раз в периуд и все статусы а не по одному. Темсамым вы убирете ваши проблемы
Идея интересная, а можно поподробнее об этой технологии и как её внедрить на практике?
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server

Сообщение uni » Сб авг 08, 2015 12:41 pm

По поводу буферов. В W5100 есть два буфера:
с адреса 0х4000 по адрес 0х5FFF — буфер передачи ( 8КБ), который вы можете распределить между сокетами по вашему усмотрению,
с адреса 0х6000 по адрес 0х7FFF — буфер приема ( 8КБ), который вы также можете распределить между сокетами по вашему усмотрению.
А как в AMS осуществляются ajax-запросы? Они независимы? Т.е. каждый компонент, если ему нужны данные, сам формирует запрос? Или есть общая очередь запросов? Хорошо бы навести статистику по этим 2000 запросов за 2 минуты при помощи сниффера и посмотреть есть ли там 3 сек задержки.
Россия навсегда!
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Arduino Mega Server

Сообщение olehs » Сб авг 08, 2015 12:43 pm

Websocket - идея интересная, но при 4-х сокетах может привести вообще к отказу от обслуживания.
Реализации вебсервера на W5100, в том числе и Alexа, даже Connection: keep-alive игнорируют и рвут коннект после каждого запроса.
Websocket же требут постоянного коннекта.

Тут появляется вопрос, а сколько клиентов будет работать с AMS одновременно?
utya
Сообщения: 8
Зарегистрирован: Сб авг 08, 2015 1:26 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение utya » Сб авг 08, 2015 3:56 pm

Добрый день. Заинтересовался вашим проектом, очень круто. спс. Ищу замену своей Vera. Хотел спросить, тыкните сылкой, как можно сделать AMS standalone от MajorDoMo
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Сб авг 08, 2015 5:14 pm

А как в AMS осуществляются ajax-запросы? Они независимы? Т.е. каждый компонент, если ему нужны данные, сам формирует запрос? Или есть общая очередь запросов? Хорошо бы навести статистику по этим 2000 запросов за 2 минуты при помощи сниффера и посмотреть есть ли там 3 сек задержки.
В AMS есть тематические сборники запросов ”dash”, “electro”, “control”, “ports” и так далее. На странице от 0 до 4-х сборников. Каждому сборнику задаётся период от 0.5 до 20 секунд и более, обычно 1 секунда.

Задержек нет даже при обычной работе. Но иногда они могут появиться и пропадают, но это нетипично. Задержки явно видны на файлах (может из-за размера).
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Сб авг 08, 2015 5:20 pm

Тут появляется вопрос, а сколько клиентов будет работать с AMS одновременно?
Программа минимум — один, но желательно чтобы несколько клиентов не выводили АМС из строя. Я проверял 12 страниц с Электро — всё работало.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Сб авг 08, 2015 5:27 pm

Добрый день. Заинтересовался вашим проектом, очень круто. спс. Ищу замену своей Vera. Хотел спросить, тыкните сылкой, как можно сделать AMS standalone от MajorDoMo
Как включить одиночный режим

Просто перемещаете CSS и JS файлы на SD карту (при помощи Arduino Serial Commander) и создаёте новую страничку (просто скопировав любую существующую) и в её заголовке удаляете ссылки на сторонний сервер (192.168.... и оставляете только имя файла). При заходе на эту страничку AMS будет выдавать всё с SD карты памяти, а не пользоваться услугами стороннего сервера. Процессинг библиотеку не грузим, она слишком большая (> 200 КБ).
Но на текущей версии это не имеет смысла. Скоро выйдет новая версия, которая работает в 6 раз быстрее.

И ещё. Чтобы работать с проектом нужна определённая квалификация или огромное желание всё делать своими руками.
utya
Сообщения: 8
Зарегистрирован: Сб авг 08, 2015 1:26 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение utya » Сб авг 08, 2015 5:41 pm

Спасибо. Готов пилить всё сам потихоньку, навыки в C/C++ есть. Буду ждать, новый релиз. Ещё хотел спросить, на Arduino Uno заведётся или совсем мало памяти?
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Сб авг 08, 2015 5:54 pm

Проект стартовал на Uno, но очень быстро достиг предела памяти и был перенесён на Мегу. Для Uno можно в дальнейшем сделать урезанную версию или запустить Мегу в качестве интерфейса для всех Uno в сети, т. е. каждой Uno личный сайт на Меге.
Ответить