AMS примеры готовых решений

Модератор: Alex

serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: AMS примеры готовых решений

Сообщение serghei » Пн апр 24, 2017 6:29 pm

С разрешения автора и в продолжение темы добавлен блок логирования температуры. Код модуля DATALOG_FEATURE и страницу Chart.htm написал ledmax . Я только добавил вкладку в общий код. Начало обсуждения ТУТ.
Внимание! Все библиотеки лежат на сторонних серверах , поэтому для нормальной работы необходим доступ в интернет. На самом АМС должна корректно работать синхронизация времени.

Реализовано:

1. Логирование двух температур tempSTR и tempHOM
2. Логирование влажности с сенсора NRF24
3. Вывод результатов (построение графиков) на странице chart.htm
4. Отображение модуля логирования (LOG) в Даш-панели вместе с другими модулями в системе.

С последним где то закралась ошибка и модуль не подсвечивается синим цветом.
Как это работает. После заливки скетча в ЕСП автоматически создается файл gotdata.css с данными Дата , время и значения. В коде оставлены вывод трех графиков. Можно уменьшить или увеличить самостоятельно.
Ввиду ограниченности памяти у ЕСП , желательно удалить все не используемые файлы и особенно картинки. Интервалы записи можно увеличить до 5 минут. При этом в базу влезает около 800 записей, что соответствует двум дням.
Логировать можно любое значение. Комментарии в коде. В последствии со страницы chart.htm средствами самой библиотеки можно скачать в файл Экселя данные и анализировать уже на компе.
Единственная проблема - не скачивается время температуры.
В дальнейшем попробую перенести код на SD карту. После этого станет возможным хранить библиотеки локально в АМС.
Вложения
Node_DHT_MD_vol_46_log.rar
(753.49 КБ) 260 скачиваний
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: AMS примеры готовых решений

Сообщение serghei » Вт май 09, 2017 2:58 pm

ser009 писал(а): Небольшой пример терморегулятора.
Данные для включения и отключения вносятся с Веб-странички.
Выходной сигнал D28.
Перенёс к себе на Due. Завелось , но не совсем понятно, как это работает :?: . В файлах не вижу "boiler.htm" , зато есть " termos.htm " и " termost.htm".
В блоке "отопление" отобразил температуру с Дуи ( у Вас с сенсора ). Верхняя и нижняя уставки заданы жестко в коде и отображаются. Логично предположить , что они управляют реле. Но нажатие на кнопку OFF ни к чему не приводит.
Вообще идея терморегулятора здравая , но все реализации для ардуино базируются на записи желаемых уставок температуры в EEPROM и потом уже щелкаются релюшки. Но в Дуе этой памяти нет. Да и то , что гуляет в интернете , управляется с кнопок и смотрится результат на экране LCD (уже прикручено ). То что это устанавливается со страницы - очень здорово. Но не понятно как пользоваться ((
Да, и запись архивных сообщений. В таблице около 50 сообщений , но время одно и тоже - 5 секунд с начала работы ( у меня нет синхронизации времени).
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: AMS примеры готовых решений

Сообщение ser009 » Пт май 12, 2017 2:31 pm

Ручной или авто - режим управления выходным реле.
Если стоит ручной - выходным реле управлять можно кнопками управления.
Если стоит авто - вкл/откл происходит при достижении пороговых значений (нижнего / верхнего). Набросал все довольно наглядно просто для примера.
Значения можно задавать с веба.

По поводу хранения уставок логично использовать SD-карту с файлом конфигурации
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: AMS примеры готовых решений

Сообщение ser009 » Сб май 27, 2017 2:35 pm

Небольшой модуль позволяющий вести сохранение сообщений по событию на карту памяти.
СпойлерПоказать
massege.gif
massege.gif (186.66 КБ) 6282 просмотра
---> ВЕРСИЯ ТЕСТОВАЯ <----
Для запуска скопировать файлы на карту памяти.

Для Ардуино

Код: Выделить всё

sd_massege.ino
Добавить глобальные переменные

Код: Выделить всё

// Переменная для текста сообщения
String MessText = "";
// Переменная для типа сообщения
String Info =  "информационное";
String Alarm = "аварийное"; 
Для записи в архив сообщения достаточно добавить пару строк.
Например:

Код: Выделить всё

Serial.print("AMS WORK ");
MessText = "Перезапуск AMS";
MessLoger(String (MessText), String(Info));
После каждого перезапуска AMS в архиве будет добавляться запись
Пример добавления записи при срабатывании реле

Код: Выделить всё

   if (rele1state != old_rele1state){old_rele1state = rele1state;
      if (rele1state == 1) {rele1objectState = RELE_ON;
        digitalWrite(rele1pin, HIGH); 
        printAndSend(rele1object, rele1onMess);
        #ifdef MAJORDOMO_FEATURE
          sendRequestM(rele1object, RELE_ON);
        #endif
        MessText = "Выход D32. Включено";
        MessLoger(String (MessText), String (Info)); 
:cry: Немного дёгтя:
- не реализовано чтение из подкаталогов, поэтому файлы хранятся в корне карты памяти
- не забываем про ограничения в именах файлов 8.3 символов

PS: Модуль писался совместно с пользователем alexsis_76.
:!: За реально оказанную помощь со скриптами БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО
Вложения
Message.zip
(37.52 КБ) 215 скачиваний
За это сообщение автора ser009 поблагодарил:
Coolblaster (Пн мар 29, 2021 10:03 pm)
Рейтинг: 1.16%
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: AMS примеры готовых решений

Сообщение serghei » Сб май 27, 2017 3:17 pm

При первом прочтении вроде одного </div> <!-- block --> не хватает. И полную версию для Дуи выложишь ?

UPS.... Отлично ! Работает ! Только надо еще в Ажакс добавить работу с *.csv

Код: Выделить всё

void sendCsvAnswer (EthernetClient cl) {cl.println(makeAnswer(F("text/csv")));}
-----------------------------------------
else if (StrContains(HTTP_req, ".csv"))  {if (openWebFile()) {sendCsvAnswer(cl);}  else {sendErrorAnswer("", cl);}} 
А календарь это это вообще жесть )) !
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: AMS примеры готовых решений

Сообщение serghei » Сб май 27, 2017 11:33 pm

Быстро нарисовал страницу с архивом. Вроде работает , но хочется ограничить вывод текста в рамку " высота и ширина " , а то ползёт ниже плинтуса. Прокрутка понятно появится, можно замаскировать картинкой. Как это сделать ? С текстовыми файлами понятно и работает , так же и на странице с *.pdf .
А вот интересно - в 24.00 файл продолжится записываться или создастся новый ? Наверное календарем просто выберется нужная дата. :?: Понаблюдаю.....
СпойлерПоказать
Arhiv.jpg
Arhiv.jpg (187.03 КБ) 6228 просмотров
Ну и страничка
arh.rar
(977 байт) 225 скачиваний
Понаблюдал..... В полночь календарь переключился. Нажимаю (при открытом браузере) "показать" и в ответ "error". Обновляю страницу и все нормально. Это ажакс не работает? Насколько я понимаю архив должен сам обновляться.....
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: AMS примеры готовых решений

Сообщение ser009 » Вс май 28, 2017 3:46 am

если за целый день не будет событий файл не создается
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: AMS примеры готовых решений

Сообщение serghei » Вс май 28, 2017 7:11 am

Ну это зависит от фантазии - если логгировать все клацания светом, то список будет внушительным.Собственно для этого модуль и нужен.
Заметил еще один косяк , но он на совести Винды. Под XP и Оперой не отображается календарь, соответственно не видно всего лога. Зато работают аналоговые часы в плиточном интерфейсе. Которых не видно под семеркой. Если их вывести на отдельную страницу - все нормально.
Так же под XP не правильно показывают размер SD карты на начальной странице. Вместо 32 гигов рисует 1.5 гига. Подобная беда была и год назад. 8-ми гиговую карту Винда видела как 3.7 гига.
Потихоньку это начинает напрягать :evil: Кстати станица Chart тоже обрезана ((.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: AMS примеры готовых решений

Сообщение ser009 » Вс май 28, 2017 7:47 am

serghei писал(а):... но хочется ограничить вывод текста в рамку
надо в табличку однозначно. Там css файл есть его нужно править. Если есть умельцы придайте данным красивый вид
пример
СпойлерПоказать
данные.JPG
данные.JPG (178.16 КБ) 6198 просмотров
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: AMS примеры готовых решений

Сообщение alexsis_76 » Вс май 28, 2017 4:58 pm

как вам такой
по моему чересчур яркий
Безымянный.jpg
Безымянный.jpg (400.69 КБ) 6158 просмотров
Ответить