Arduino Mega Server

Модератор: Alex

Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вс янв 17, 2016 8:41 am

Есть ли в планах API, с помощью которого стороннее веб приложение или любой другой сервер сможет получить данные в удобном виде для дальнейшего использования?
Идея интересная и здравая. Я планировал нечто подобное но в ручном режиме — что-то нужно — для каждого случая программируем отдельное взаимодействие. Идея организовать системное API мне нравится. Надо поставить в планы.
В односокетном режиме прогружается 2-3 картинки на странице, изредка не прогружается CSS файл, среднее время загрузки одного изображения - 300-330 мс
В двухсокетном режиме ситуация несколько лучше: 6-7 картинок, среднее время загрузки одного изображения - 170-190 мс
В многосокетном режиме соединение нестабильно - достаточно часто "Страница недоступна". Грузится 1-2 изображения, а иногда и nil изображений
Если вы имеете в виду эти режимы

FREE_SOCKETS_ZERO = 0;
FREE_SOCKETS_ONE = 1;
FREE_SOCKETS_TWO = 2;

то у меня картина другая

при FREE_SOCKETS_ZERO = 0; грузится всё и всегда

при FREE_SOCKETS_ONE = 1; грузится всё, кроме 1 графического файла на страницах партнёров где много графики

с родной немодифицированной библиотекой — просто кошмар — не грузится 3 — 4 картинки на страницу.

И это странно — получается родная библиотека ведёт себя самым неадекватным образом.

С первой библиотекой для 5100 таких проблем не наблюдается вообще. Это наводит на мысль, что они некорректно сделали библиотеку для 5500 из библиотеки для 5100. Остаётся только определить, где они накосячили.
alex946
Сообщения: 7
Зарегистрирован: Вт янв 05, 2016 9:11 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение alex946 » Вс янв 17, 2016 10:18 am

SPbDima писал(а):3. Доработка библиотеки dallastemperature, либо отказ от неё, т.к. она использует Delay - тем самым подвешивая систему по 1 секунде с каждого датчика.
В этой библиотеке есть асинхронный режим, пользуйтесь им и не будет проблем с задержками. См. примеры.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вс янв 17, 2016 10:25 am

В этой библиотеке есть асинхронный режим, пользуйтесь им и не будет проблем с задержками. См. примеры.
Ещё, кажется, есть разница во времени измерения в зависимости от точности (которую можно выставить), хотя не уверен, давно это было.
alex946
Сообщения: 7
Зарегистрирован: Вт янв 05, 2016 9:11 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение alex946 » Вс янв 17, 2016 10:34 am

nikita писал(а):Вопрос в количестве одновременных пользователей. Начиная с 2-х клиентов, система тормозит, некоторые элементы перестают прогружаться.
Просьба к разработчику и подопытным. Прочтите уже, пожалуйста, спецификации HTTP 1.0 хотя бы.
0. Сделайте дамп запросов к АМС, посмотрите на параллельность и общее их количество при каждом соединении.
1. Отдавайте правильные заголовки Last-Modified и Cache-control при отдаче статики. Это снизит нагрузки в десяток раз.
2. Настройте свои браузеры в соответствии с возможностями контроллера, (в Firefox это параметр network.http.max-connections-per-server в about:config и родственные ему.) Попробуйте работать при одном-двух коннектах.

Пока что, вы тыкаетесь по углам случайным образом как слепые котята, даже не пытаясь понять суть происходящего и определить источник проблем. Это увлекательно, конечно, но почти бесполезно.

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

Re: Arduino Mega Server

Сообщение Alex » Вс янв 17, 2016 11:14 am

1. Отдавайте правильные заголовки Last-Modified и Cache-control при отдаче статики. Это снизит нагрузки в десяток раз.
Если вы хотите помочь проекту, то оформите правильное решение в комментированный кусок кода. Покажите как надо на деле.
2. Настройте свои браузеры в соответствии с возможностями контроллера, (в Firefox это параметр network.http.max-connections-per-server в about:config и родственные ему.) Попробуйте работать при одном-двух коннектах.
Браузеры нельзя настраивать в соответствии с возможностями контроллера — мы делаем универсальное решение для всех, а не частное для себя.
Пока что, вы тыкаетесь по углам случайным образом как слепые котята, даже не пытаясь понять суть происходящего и определить источник проблем. Это увлекательно, конечно, но почти бесполезно.
Опять же конструктивым можно назвать один путь — комментированный кусок кода, который решает проблему.
alex946
Сообщения: 7
Зарегистрирован: Вт янв 05, 2016 9:11 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение alex946 » Вс янв 17, 2016 12:16 pm

Alex писал(а):Браузеры нельзя настраивать в соответствии с возможностями контроллера — мы делаем универсальное решение для всех, а не частное для себя.

Опять же конструктивным можно назвать один путь — комментированный кусок кода, который решает проблему.
Браузеры нужно настраивать, чтобы точно определить место сбоя и понять, возможно ли вообще обеспечить работу при текущей архитектуре. Если вы не хотите учиться и полностью понимать, что именно вы делаете - это ваш выбор. Если вы хотите подвергать своих подопытных риску преждевременной смерти из-за отсутствия гальванических развязок в интерфейсах - это ваш выбор. Если вы не читаете ПУЭ и при этом собираетесь управлять силовыми цепями - это ваш выбор. Если вы надеетесь развести специалистов на слабо и заставить их поработать на вас бесплатно - это ваш выбор. Все последствия - на вашей совести.

Переписывать за вас весь код АМС не планирую, там не в коде проблема а в изначальных идеях проекта, извините. Не хочу быть даже минимально причастным к возможным последствиям.
pastry777
Сообщения: 81
Зарегистрирован: Пт окт 02, 2015 7:47 pm
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Arduino Mega Server

Сообщение pastry777 » Вс янв 17, 2016 1:31 pm

библиотека DallasTemperature использует delay,да,вы правильно помните,задержка зависит от выставленной точности..если использовать точность 12бит,то время конвертации будет 750мс,если нам достаточно точности 9бит,это до 0.1*С,то время конвертации там всего около 150мс,точно не помню...SPBDima ошибался,когда сказал,что задержка 1с на каждый датчик в системе...команда на конвертацию дается широковещательная,сразу для всех устройств на шине,поэтому конвертация пройдет во всех датчиках одновременно..отказавшись от библиотеки Dallas оставив только OneWire,можно вообще уйти от задержки...к примеру если мы опрашиваем датчики раз в пять сек,то алгоритм будет такой:в 0 сек мы бросаем команду на конвертацию,пока они себе так конвертируются мы занимаемся своими делами,через пять сек забираем значения и снова даем команду на конвертацию...суть вы поняли,никаких задержек...
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вс янв 17, 2016 2:17 pm

Браузеры нужно настраивать, чтобы точно определить место сбоя и понять, возможно ли вообще обеспечить работу при текущей архитектуре. Если вы не хотите учиться и полностью понимать, что именно вы делаете - это ваш выбор. Если вы хотите подвергать своих подопытных риску преждевременной смерти из-за отсутствия гальванических развязок в интерфейсах - это ваш выбор. Если вы не читаете ПУЭ и при этом собираетесь управлять силовыми цепями - это ваш выбор. Если вы надеетесь развести специалистов на слабо и заставить их поработать на вас бесплатно - это ваш выбор. Все последствия - на вашей совести.

Переписывать за вас весь код АМС не планирую, там не в коде проблема а в изначальных идеях проекта, извините. Не хочу быть даже минимально причастным к возможным последствиям.
В отличие от других участников форума, я от вас не видел ни одной строчки кода и ни одного дельного предложения, одни «понтовые» заявления. Соответственно, ценность ваших заявлений для меня и сообщества ровна нулю.
За это сообщение автора Alex поблагодарили (всего 6):
VGorokhov (Вс янв 17, 2016 8:55 pm) • SPbDima (Вс янв 17, 2016 11:23 pm) • relict (Пн янв 18, 2016 9:37 am) • Xseon (Ср янв 20, 2016 12:21 am) • braserlaky (Ср фев 24, 2016 2:38 pm) • murkur (Пт июл 22, 2016 7:49 pm)
Рейтинг: 6.98%
VGorokhov
Сообщения: 51
Зарегистрирован: Пн фев 09, 2015 4:12 am
Откуда: г. Актау, Мангистауской области
Благодарил (а): 38 раз
Поблагодарили: 7 раз

Re: Arduino Mega Server

Сообщение VGorokhov » Вс янв 17, 2016 9:00 pm

Alex писал(а):
Браузеры нужно настраивать, чтобы точно определить место сбоя и понять, возможно ли вообще обеспечить работу при текущей архитектуре. Если вы не хотите учиться и полностью понимать, что именно вы делаете - это ваш выбор. Если вы хотите подвергать своих подопытных риску преждевременной смерти из-за отсутствия гальванических развязок в интерфейсах - это ваш выбор. Если вы не читаете ПУЭ и при этом собираетесь управлять силовыми цепями - это ваш выбор. Если вы надеетесь развести специалистов на слабо и заставить их поработать на вас бесплатно - это ваш выбор. Все последствия - на вашей совести.

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

Re: Arduino Mega Server

Сообщение Alex » Вс янв 17, 2016 9:36 pm

Alex, по ходу развития проекта еще много будет троллей, которые знают только аббревиатуру ПУЭ, а дальше только ноль или нуль... причем полный. Не обращайте на них и не тратьте нервы.
Вот это я называю дельным советом :) И спасибо на добром слове.
Ответить