Arduino Mega Server

Модератор: Alex

Хиасмер
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение Хиасмер » Пт дек 18, 2015 6:28 pm

...
Последний раз редактировалось Хиасмер Вс апр 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

Сообщение savenko_egor » Пт дек 18, 2015 6:31 pm

Хиасмер писал(а):Alex, пиши faq по допиливанию сетевых шилдов к серверу )))
Думаю нужно в шапку закрепить. Так как проблема может быть глобальной.
allexmak1
Сообщения: 12
Зарегистрирован: Пт дек 18, 2015 8:28 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение allexmak1 » Пт дек 18, 2015 8:31 pm

Привет всем, в этом проекте уже работает отображение изменений аналогов в виде графиков и очень интересует с историей к примеру день или два?
SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am
Благодарил (а): 9 раз
Поблагодарили: 21 раз

Re: Arduino Mega Server

Сообщение SPbDima » Пт дек 18, 2015 9:53 pm

Выкладываю файлы не для публикации(красоту не навел, часть функции не доделано), а для ознакомления с функциями тех кто в 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
Вложения
arduino_mega_server(18122015).rar
(35.83 КБ) 410 скачиваний
sd.rar
(19.8 КБ) 399 скачиваний
Последний раз редактировалось SPbDima Сб дек 19, 2015 4:40 pm, всего редактировалось 6 раз.
За это сообщение автора SPbDima поблагодарили (всего 2):
SerVas333 (Вс дек 20, 2015 10:55 am) • pastry777 (Вт дек 29, 2015 8:48 am)
Рейтинг: 2.33%
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Сб дек 19, 2015 1:53 am

выяснилось при наличии в слоте SD карты перестает корректно работать сетевая часть
Тут как бы цифровая техника — при исправном железе дистрибутив должен работать. Самое простое решение — попробовать другой шилд. Если другого шилда нет, то можно долго гадать в чём дело.
Думаю нужно в шапку закрепить. Так как проблема может быть глобальной.
Нужно? - закрепим. :)
Привет всем, в этом проекте уже работает отображение изменений аналогов в виде графиков и очень интересует с историей к примеру день или два?
Пока — нет, но в будущем вполне возможно.

Хорошие новости: поработал я с Due и оказывается, с ней вполне реально вести разработку в одиночном режиме (что очень удобно), чего не скажешь о Меге.
За это сообщение автора Alex поблагодарил:
allexmak1 (Сб дек 19, 2015 2:51 pm)
Рейтинг: 1.16%
SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am
Благодарил (а): 9 раз
Поблагодарили: 21 раз

Re: Arduino Mega Server

Сообщение SPbDima » Сб дек 19, 2015 11:10 am

если необходима история, то это уже ведение логов.
За это сообщение автора SPbDima поблагодарил:
allexmak1 (Сб дек 19, 2015 2:51 pm)
Рейтинг: 1.16%
allexmak1
Сообщения: 12
Зарегистрирован: Пт дек 18, 2015 8:28 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение allexmak1 » Сб дек 19, 2015 2:50 pm

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

Re: Arduino Mega Server

Сообщение Alex » Сб дек 19, 2015 3:21 pm

Добавил поддержку беспроводного оборудования nooLite (движок). Можно управлять из интерфейса или автоматически. Культурная привязка/отвязка.

Всё это будет в 0.14 версии.
Вложения
noo2.jpg
bind
noo2.jpg (57.85 КБ) 13458 просмотров
noo1.jpg
control
noo1.jpg (36 КБ) 13458 просмотров
SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am
Благодарил (а): 9 раз
Поблагодарили: 21 раз

Re: Arduino Mega Server

Сообщение SPbDima » Сб дек 19, 2015 4:21 pm

добавил описание доработок
http://majordomo.smartliving.ru/forum/v ... 940#p28135
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Сб дек 19, 2015 7:54 pm

На Due не работает алгоритм определения свободной памяти от Меги (что понятно), кто-нибудь знает, как определить размер свободной памяти на Due?
Ответить