Arduino Mega Server
Модератор: Alex
Re: Arduino Mega Server
...
Последний раз редактировалось Хиасмер Вс апр 08, 2018 12:14 am, всего редактировалось 2 раза.
- За это сообщение автора Хиасмер поблагодарили (всего 2):
- savenko_egor (Пт дек 18, 2015 6:30 pm) • SerVas333 (Пт дек 18, 2015 7:28 pm)
- Рейтинг: 2.33%
- savenko_egor
- Сообщения: 705
- Зарегистрирован: Вс авг 03, 2014 8:17 pm
- Откуда: Украина, Запорожье
- Благодарил (а): 108 раз
- Поблагодарили: 147 раз
- Контактная информация:
Re: Arduino Mega Server
Думаю нужно в шапку закрепить. Так как проблема может быть глобальной.Хиасмер писал(а):Alex, пиши faq по допиливанию сетевых шилдов к серверу )))
-
- Сообщения: 12
- Зарегистрирован: Пт дек 18, 2015 8:28 pm
- Благодарил (а): 4 раза
- Поблагодарили: 0
Re: Arduino Mega Server
Привет всем, в этом проекте уже работает отображение изменений аналогов в виде графиков и очень интересует с историей к примеру день или два?
-
- Сообщения: 113
- Зарегистрирован: Пн окт 19, 2015 8:27 am
- Благодарил (а): 9 раз
- Поблагодарили: 21 раз
Re: Arduino Mega Server
Выкладываю файлы не для публикации(красоту не навел, часть функции не доделано), а для ознакомления с функциями тех кто в AMS разбирается.
Что нового:
1. upload файлов на сервер.
2. Информация для даш-панели:
2.1. разделена на 2 части:
2.1.1. при загрузке страницы получаем состояние системы(индикаторы/кнопки в даш)
2.1.2. постоянно обновляем только изменяемые данные, как загрузка системы, свободное место, uptime, температура, напряжение, время
2.2. данные получаем от сервера в формате json, что существенно сокращает размер постоянно получаемых данных от сервера
2.3. частота запросов уменьшается на время upload
3. глобальная переделка работы с температурными датчиками
3.1. теперь в переменных скетча не надо указывать руками id датчиков температуры, т.к. вся необходимая информация, при старте системы, берется из конфигов. Которые, при их отсутствии, создаются с параметрами датчиков по умолчанию.
3.2. создан новый класс (переменная с параметрами датчиков) для датчиков температуры, который используется сервером для работы.
3.3. конфигурация датчиков производит клиент на веб сервере, т.е. при открытии страницы "сенсоры" в таблицу подгружается файл-конфиг датчиков. При необходимости, в таблице данные правятся и отправляются обратно на сервер, где удаляется старый конфиг-файл и создаётся новый с полученными данными. Далее происходит повторная инициализация датчиков, и если, есть ошибки в конфиг-файле, то они исправляются. Далее, конфиг-файл отправляется клиенту.
3.4. ведется лог датчиков. Для каждого датчика пишется свой лог. Имя лога имеет следующие идентификаторы: второй и третий байты id датчиков, месяц и год в hex.
3.5. веб-клиент строит график изменения температуры по запрашиваемым логам.
3.6. логи и конфиг хранятся в формате json
4. добавлена в скетч переменная, которая определяет первый проход по loop, т.к. у Алекса там временной диапазон, который срабатывал только после третьего прохода по loop.
Что не доделано:
1. т.к. для работы с SD используем урезанную библиотеку (не sdfat), то файлы сохраняются с датой создания 01.01.1970 - видимо так и останется
2. в скетче осталось много соплей формирующих XML
3. не оптимизирован парсинг json в скетче
4. пока конфиг содержит только 2 параметра датчиков
5. таблица конфига в веб-клиенте без возможности редактирования - показан только принцип работы
6. отправка с веб-клиента новой конфигурации датчиков температуры без контроля целостности данных
7. до конца не реализована загрузка в график логов
8. нужно причесать скетч от оставшихся соплей
Развитие:
1. для upload нужно сделать отдельную страницу, где выводить файлы с размерами, которые находятся на SD
2. много-поточная отправка
3. докачка файлов
4. сделать красивым прогресс-бар
ВНИМАНИЕ!!!
1. все доработки проверялись на странице сенсоры
2. для нормальной загрузки сайта необходимо АЛЕКСУ доделать скетч, чтобы небыло дополнительно подгружаемых файлов. Сейчас при работе со страницей "сенсоры" в браузер подгружается 3 файла: sensors.htm, sensor.js и CSS-файл. Из-за слабости интернет шилда: sensor.js и CSS-файл - подгружаются через раз. Для устранения данной проблемы необходимо файлы <страница>.js и CSS-файл включать в <страница>.htm
Что нового:
1. upload файлов на сервер.
2. Информация для даш-панели:
2.1. разделена на 2 части:
2.1.1. при загрузке страницы получаем состояние системы(индикаторы/кнопки в даш)
2.1.2. постоянно обновляем только изменяемые данные, как загрузка системы, свободное место, uptime, температура, напряжение, время
2.2. данные получаем от сервера в формате json, что существенно сокращает размер постоянно получаемых данных от сервера
2.3. частота запросов уменьшается на время upload
3. глобальная переделка работы с температурными датчиками
3.1. теперь в переменных скетча не надо указывать руками id датчиков температуры, т.к. вся необходимая информация, при старте системы, берется из конфигов. Которые, при их отсутствии, создаются с параметрами датчиков по умолчанию.
3.2. создан новый класс (переменная с параметрами датчиков) для датчиков температуры, который используется сервером для работы.
3.3. конфигурация датчиков производит клиент на веб сервере, т.е. при открытии страницы "сенсоры" в таблицу подгружается файл-конфиг датчиков. При необходимости, в таблице данные правятся и отправляются обратно на сервер, где удаляется старый конфиг-файл и создаётся новый с полученными данными. Далее происходит повторная инициализация датчиков, и если, есть ошибки в конфиг-файле, то они исправляются. Далее, конфиг-файл отправляется клиенту.
3.4. ведется лог датчиков. Для каждого датчика пишется свой лог. Имя лога имеет следующие идентификаторы: второй и третий байты id датчиков, месяц и год в hex.
3.5. веб-клиент строит график изменения температуры по запрашиваемым логам.
3.6. логи и конфиг хранятся в формате json
4. добавлена в скетч переменная, которая определяет первый проход по loop, т.к. у Алекса там временной диапазон, который срабатывал только после третьего прохода по loop.
Что не доделано:
1. т.к. для работы с SD используем урезанную библиотеку (не sdfat), то файлы сохраняются с датой создания 01.01.1970 - видимо так и останется
2. в скетче осталось много соплей формирующих XML
3. не оптимизирован парсинг json в скетче
4. пока конфиг содержит только 2 параметра датчиков
5. таблица конфига в веб-клиенте без возможности редактирования - показан только принцип работы
6. отправка с веб-клиента новой конфигурации датчиков температуры без контроля целостности данных
7. до конца не реализована загрузка в график логов
8. нужно причесать скетч от оставшихся соплей
Развитие:
1. для upload нужно сделать отдельную страницу, где выводить файлы с размерами, которые находятся на SD
2. много-поточная отправка
3. докачка файлов
4. сделать красивым прогресс-бар
ВНИМАНИЕ!!!
1. все доработки проверялись на странице сенсоры
2. для нормальной загрузки сайта необходимо АЛЕКСУ доделать скетч, чтобы небыло дополнительно подгружаемых файлов. Сейчас при работе со страницей "сенсоры" в браузер подгружается 3 файла: sensors.htm, sensor.js и CSS-файл. Из-за слабости интернет шилда: sensor.js и CSS-файл - подгружаются через раз. Для устранения данной проблемы необходимо файлы <страница>.js и CSS-файл включать в <страница>.htm
- Вложения
-
- arduino_mega_server(18122015).rar
- (35.83 КБ) 410 скачиваний
-
- sd.rar
- (19.8 КБ) 399 скачиваний
Последний раз редактировалось SPbDima Сб дек 19, 2015 4:40 pm, всего редактировалось 6 раз.
- Рейтинг: 2.33%
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
Тут как бы цифровая техника — при исправном железе дистрибутив должен работать. Самое простое решение — попробовать другой шилд. Если другого шилда нет, то можно долго гадать в чём дело.выяснилось при наличии в слоте SD карты перестает корректно работать сетевая часть
Нужно? - закрепим.Думаю нужно в шапку закрепить. Так как проблема может быть глобальной.
Пока — нет, но в будущем вполне возможно.Привет всем, в этом проекте уже работает отображение изменений аналогов в виде графиков и очень интересует с историей к примеру день или два?
Хорошие новости: поработал я с Due и оказывается, с ней вполне реально вести разработку в одиночном режиме (что очень удобно), чего не скажешь о Меге.
- Рейтинг: 1.16%
-
- Сообщения: 113
- Зарегистрирован: Пн окт 19, 2015 8:27 am
- Благодарил (а): 9 раз
- Поблагодарили: 21 раз
-
- Сообщения: 12
- Зарегистрирован: Пт дек 18, 2015 8:28 pm
- Благодарил (а): 4 раза
- Поблагодарили: 0
Re: Arduino Mega Server
Проект отличный, посмотрел, очень понравился.
Реально вы молодцы, развиваете его...
Реально вы молодцы, развиваете его...
слежу за темой, буду ждать графиков)Пока — нет, но в будущем вполне возможно.
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
Добавил поддержку беспроводного оборудования nooLite (движок). Можно управлять из интерфейса или автоматически. Культурная привязка/отвязка.
Всё это будет в 0.14 версии.
Всё это будет в 0.14 версии.
- Вложения
-
- bind
- noo2.jpg (57.85 КБ) 13458 просмотров
-
- control
- noo1.jpg (36 КБ) 13458 просмотров
-
- Сообщения: 113
- Зарегистрирован: Пн окт 19, 2015 8:27 am
- Благодарил (а): 9 раз
- Поблагодарили: 21 раз
Re: Arduino Mega Server
добавил описание доработок
http://majordomo.smartliving.ru/forum/v ... 940#p28135
http://majordomo.smartliving.ru/forum/v ... 940#p28135
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
На Due не работает алгоритм определения свободной памяти от Меги (что понятно), кто-нибудь знает, как определить размер свободной памяти на Due?