AMS примеры готовых решений
Модератор: Alex
- ser009
- Сообщения: 595
- Зарегистрирован: Сб окт 13, 2012 9:55 am
- Благодарил (а): 4 раза
- Поблагодарили: 43 раза
Re: AMS примеры готовых решений
AMS для DUE
Ser009
Продолжение примера регулятора.
Вместо датчика сделал поле в которое вводится значения
3 режима:
- ручной;
- по значению;
- по времени;
Выходной сигнал D32.
Кратное описание работы:
Картинка
PS: код был написан буквально за несколько часов. Поэтому если заметите мелкие ошибки пишите будем править
DUE_0011.Исправил небольшую опечатку. С веб-странички не записывался параметр "значение выкл"[/color]
Ser009
Продолжение примера регулятора.
Вместо датчика сделал поле в которое вводится значения
3 режима:
- ручной;
- по значению;
- по времени;
Выходной сигнал D32.
Кратное описание работы:
СпойлерПоказать
В поле "значение датчика" вы можете передать любое значение по значениям которого необходимо выполнять действие
"Режим регулятора" - отображается текущий режим. Режим по умолчанию можно задать в параметре
Режим измениться после нажатия кнопки "Записать"
"Настройки времени" - при загрузке страничке (после запуска) передадутся значения по умолчанию. Можно вводить нужное время. Данные сохраняться после нажатия кнопки "Записать"
"Значение вкл" и "Значение выкл" - устанавливаются значения уставок. При достижении значения уставок выход D32 включиться или выключиться. Значения также вводятся и передаются после нажатия кнопки "Записать"
Если выбран режим работы ручной - управлять можно только кнопкой (синей). На ней отображается состояние реле. При нажатии состояние меняется на противоположное.
Если выбран режим по датчику - включаться и отключаться реле будет только по достижении значений вкл / выкл.
Если выбран режим по времени - включаться и отключаться реле будет только по времени.
Код: Выделить всё
int value = 10;
Код: Выделить всё
// 0 - ручной
// 1 - по значению датчика
// 2 - по времени
// 3 - not defined and not contXstatus
byte rele1mode = 1;
"Настройки времени" - при загрузке страничке (после запуска) передадутся значения по умолчанию. Можно вводить нужное время. Данные сохраняться после нажатия кнопки "Записать"
Код: Выделить всё
int r1hour_on = 19; int r1minute_on = 00;
int r1hour_off = 19; int r1minute_off = 15;
Если выбран режим работы ручной - управлять можно только кнопкой (синей). На ней отображается состояние реле. При нажатии состояние меняется на противоположное.
Если выбран режим по датчику - включаться и отключаться реле будет только по достижении значений вкл / выкл.
Если выбран режим по времени - включаться и отключаться реле будет только по времени.
СпойлерПоказать
DUE_0011.Исправил небольшую опечатку. С веб-странички не записывался параметр "значение выкл"
Код: Выделить всё
r1valoff - значение выкл
- Вложения
-
- Due_0011.rar
- (941.85 КБ) 262 скачивания
-
- DUE_001.rar
- (941.68 КБ) 267 скачиваний
- Рейтинг: 1.16%
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: AMS примеры готовых решений
Отлично! Вставил к себе и сразу появились вопросы.
1 С ручным режимом понятно - нажал - включил - нажал - выключил.
2 По датчику. Понятно что пример , и на картинке значение абстрактно
3 По времени. Еще не добрался , но уже хочу добавить сработку в модуль логирования.
Спасибо за проделанную работу! Буду пробовать добавить второе реле.
1 С ручным режимом понятно - нажал - включил - нажал - выключил.
2 По датчику. Понятно что пример , и на картинке значение абстрактно
В реальности видится привязка к реальному датчику , у меня влажность.В предыдущих версиях я выводил реальное значение датчика. Здесь то же хочется в поле "значение датчика" видеть его текущее значение. И пусть это будет прописано в коде жестко для одного реле./* значение по которому ведется регулирование
* в примере это значени будет задаваться вручную с web
*/
int value = 10;
3 По времени. Еще не добрался , но уже хочу добавить сработку в модуль логирования.
Спасибо за проделанную работу! Буду пробовать добавить второе реле.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
- ser009
- Сообщения: 595
- Зарегистрирован: Сб окт 13, 2012 9:55 am
- Благодарил (а): 4 раза
- Поблагодарили: 43 раза
Re: AMS примеры готовых решений
Просто во вкладках "savtoreg" и "server_ajax" замени value на имя в котором ты измеряешь свой параметр.serghei писал(а): 2. По датчику. Понятно что пример , и на картинке значение абстрактноВ реальности видится привязка к реальному датчику , у меня влажность.В предыдущих версиях я выводил реальное значение датчика. Здесь то же хочется в поле "значение датчика" видеть его текущее значение. И пусть это будет прописано в коде жестко для одного реле./* значение по которому ведется регулирование
* в примере это значени будет задаваться вручную с web
*/
int value = 10;
Могу подкорректировать код, чтобы менялось через CTRL+F -> заменить. Просто подменой.
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: AMS примеры готовых решений
Что то не могу найти куда вставить код для логирования вкл - выкл реле по времени
Где то в Ажаксе или в самом модуле реле ?
И к стати , что там с резистором? Стартует?
Наверное подкорректируй.
Код: Выделить всё
MessText = "Выход D32. Включение по времени";
MessLoger(String (MessText), String (Info));
// #ifdef EVENT_GH
Serial.println("Out D32. command ON to time");
// #endif
И к стати , что там с резистором? Стартует?
Наверное подкорректируй.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: AMS примеры готовых решений
Опять что то не доделал - в "avtoreg" заменил
В Ажаксе
В итоге на странице в поле "значение датчика" появилась влажность , но она не обновляется автоматом ,только перегрузкой страницы. Надо еще на самой странице что то поменять?
Добавлено
Если поменять
То влажность будет отображаться классически , но не работают остальные кнопки и выбор режимов.....
Хмм... Выбрал режим "по датчику" , влажность показывает 66 H . Установил включение на 66 , выключение на 64. Записал, считал. А в XML таблице значения
Код: Выделить всё
/* значение по которому ведется регулирование
* в примере это значени будет задаваться вручную с web
*/
//int value = 10;
int value = dht.readHumidity();
Код: Выделить всё
// s += makeTag("value", "", String(value));
s += makeTag("value", "", String(dht.readHumidity()));
Добавлено
Если поменять
Код: Выделить всё
<!--
<p>Значение датчика: <input type="number" class="textfield" min="0" max="100" size="2" name="value" value="-999"></p>
-->
<p>Значение датчика: <span class="value" id="value">...</span> H</p>
Хмм... Выбрал режим "по датчику" , влажность показывает 66 H . Установил включение на 66 , выключение на 64. Записал, считал. А в XML таблице значения
СпойлерПоказать
- <inputs>
<r1mode>0</r1mode>
<D32>0</D32>
<r1hon>15</r1hon>
<r1mon>0</r1mon>
<r1hoff>15</r1hoff>
<r1moff>10</r1moff>
<r1valon>10</r1valon>
<r1valoff>11</r1valoff>
<value>66.00</value>
</inputs>
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
- ser009
- Сообщения: 595
- Зарегистрирован: Сб окт 13, 2012 9:55 am
- Благодарил (а): 4 раза
- Поблагодарили: 43 раза
Re: AMS примеры готовых решений
редакция 002
На отдельную страничку вынесены настройки.
СпойлерПоказать
СпойлерПоказать
- За это сообщение автора ser009 поблагодарили (всего 2):
- serghei (Вс сен 24, 2017 11:33 pm) • noname_npc (Пн июл 23, 2018 11:57 am)
- Рейтинг: 2.33%
- ser009
- Сообщения: 595
- Зарегистрирован: Сб окт 13, 2012 9:55 am
- Благодарил (а): 4 раза
- Поблагодарили: 43 раза
Re: AMS примеры готовых решений
Поставил на тестирование модуль подсчета импульсов (электросчетчик или счетчик воды с импульсным выходом)
В модуле реализовано:
- общий подсчет импульсов;
- подсчет импульсов за текущий час;
- подсчет импульсов за текущий день;
- подсчет импульсов за предыдущий час;
- подсчет импульсов за предыдущий день;
- расчет мгновенного расхода;
- изменение показаний счетчика с web;
- архивирование данных ( за час, день и т.д.);
- настройка коэффициентов модуля в web;
...
В модуле реализовано:
- общий подсчет импульсов;
- подсчет импульсов за текущий час;
- подсчет импульсов за текущий день;
- подсчет импульсов за предыдущий час;
- подсчет импульсов за предыдущий день;
- расчет мгновенного расхода;
- изменение показаний счетчика с web;
- архивирование данных ( за час, день и т.д.);
- настройка коэффициентов модуля в web;
СпойлерПоказать
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: AMS примеры готовых решений
Реализацию выложишь ? И если это на прерываниях, то на ESP32 будет ли работать...
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 45
- Зарегистрирован: Вт окт 27, 2015 4:23 pm
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: AMS примеры готовых решений
Добрый день. Скачал DUE_002.rar, пытался запустить на Mega2560+W5100, сначала компилятор ругался на отсутствие библиотеки Time.h хотя у меня она подключена, я его честно уговаривал аж 20 минут, а потом в скетче заменил библиотеку на TimeLib.h компилятор согласился и тут же начал орать на hardware.ino мол нет malloc.h и т.д. Ну, нашел я ему malloc.h так ему внутренности библиотеки не понравились, короче, чем дальше в лес - тем толще партизаны. Устал я с ними бороться, я так понимаю, что готового решения под 0.17 версию Mega2560+W5100 нет. Тогда хотя бы можно обозначить какие конкретно файлы (участки кода в DUE_002.rar) отвечают за установку параметров с Веб-странички и их запись/чтение на SD, DUE у меня нет, запустить не на чем, а это решение мне очень понравилось, хотелось бы прикрутить его к Меге.