Контроль влажности и температуры в погребе, подвале.

Внимание! На ардуино.ру аналогичный проект и даже пришпилен, чтобы не потеряться. Ардуинщикам сюда: http://arduino.ru/forum/proekty/kontrol-vlazhnosti-podvala-arduino-pro-mini

Или вот еще от тех же пастухов сферических коней: http://arduino.ru/forum/proekty/kontrol-vlazhnosti-podvala-ver20-stm32-set 🙂


Тема для поддержки проекта на ESP32, если он кому-то будет интересн.

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

Глобально:

Если в подземелье с WiFi проблем нет — все упрощается. Основное устройство подготовлено к работе с брокером напрямую:

Ниже плюсы и минусы не показаны. Трик: плюсы соединять с плюсами, минусы — с минусами.

И главное. В целом, не нужно устройству никакой связи ни с чем. Тот блок, что в подвале работает сам без всякого внешнего управления. Сам анализирует обстановку, принимает решение о включении вентилятора или нагревателя. Связь предназначена для познания ситуации под землей, но для управления абсолютно не нужна.

Рабочий код лежит по адресу: https://github.com/igorkkk/cellar

Вопросы здесь. Ответы путем редактирования этой заметки.


Здравствуйте. На каком железе лучше собрать (esp32 или esp8266) . Возможно применить bme280.

В целом, это устройство состоит из двух железок. В подвале находится ESP32, помогает ему пробиться наружу — ESP8266. Обе железки переговариваются через HC-12.

То что в погребе — ESP32. Там железно два UART, что сильно радует. По одному — настройка, кодинг, по другому — связь, которая тоже требует наблюдения.

ESP8266 имеет только один UART, софтверный работает, ИМХО, так себе. Можно обойтись и им, но лучше заняться чем-то более полезным в то время, которое потребуется для настройки.

Читать далее «Контроль влажности и температуры в погребе, подвале.»

ESP8266 Multi Broker

Ситуация нечастая, но если происходит, то выбешивает зверски.

Устройства на даче «висят» на брокере, находящемся в городской квартире. За последние лет десять, если и были сбои в этой связке, то на стороне дачного интернета.

Читать далее «ESP8266 Multi Broker»

ESP-8266: отправка многих данных на брокер MQTT.

Решение простое, почему раньше не додумался — ума не приложу.

Исходная обстановка — делаем таблицу для отправки на брокер. Вариантов два:

data = {
    t = 25.0,
    hume = 45
}

Второй

data = {
    {"t", 25.0},
    {"hume", 45}
}

В чем смысл? Пишем обычную функцию отправки данных на брокер и вызываем в callback(е) рекурсивно саму себя. Данные из таблицы извлекаем путем удаления элементов:

Читать далее «ESP-8266: отправка многих данных на брокер MQTT.»

Модуль антидребезга для ESP-8266 (lua debounce)

Руки дошли, накидал модуль. Оный узнает три длительности нажатия, короткое, среднее и (никогда не догадаетесь!) длинное.

Короткое до секунды, среднее — более секунды, длинное — более 2,5. Или сами настроите.

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

Вот модуль с именем debMod.lua:

Читать далее «Модуль антидребезга для ESP-8266 (lua debounce)»

nooLite F: MTRF-64, SLF-1-300. Часть 8. SLF-1-300 — попытка въехать в ситуацию.

Про MTRF-64 много, про  SLF-1-300 — еще ничего толком.

Перечислим отличия этого блока от всех остальных:

  1. шифрованный протокол, параноики могут вздремнуть;
  2. ответ на запрос о состоянии, а также подтверждение состояния, если команда пришла от MTRF-64;
  3. «Управление с адаптера или модуля MTRF-64. Блок SLF-1-300 может принимать команды управления/настройки от указанных устройств. Для настройки используется специальное сервисное ПО, которое позволяет выполнять настройку силового блока.»
  4. «возможно подключение клавишного выключателя или кнопки к блоку, … режим работы входа можно изменить, отправив на блок команду с новыми настройками. Доступны следующие режимы: кнопка; выключатель; переключающий выключатель; отключение входа.»
  5. дистанционная привязка/отвязка;

Прогуляемся по пунктам.

Читать далее «nooLite F: MTRF-64, SLF-1-300. Часть 8. SLF-1-300 — попытка въехать в ситуацию.»

nooLite F: MTRF-64, SLF-1-300. Часть 7. Применяем бестолковые пульты.

Совсем дешево, мимоходом (ну, да. виноват) приобрел вот такой пульт:

77722114

Он предназначен для управления rgb-лентами с соответствующим силовым блоком. Этого блока у меня нет, а пульт- есть.

Дорабатываем слегка файл analiaze.lua и вот у нас  новая возможность применить этот пульт, например, в сценариях или как обычный выключатель.

Привязываем на прием к ячейке 61 и работать это станет так:

7773003

То есть при нажатии правых кнопок (коротком, длинном) мы получим четыре посылки на mqtt брокер типа fromnoo01/61/scen17, где 61 — ячейка привязки, а scen16 — scen19 четыре топика, в которые выдается сообщение «ON».

Мне нужен был дополнительный выключатель света в коридоре (тот, что в предыдущем посте), причем из такого места, где текущее состояние силового блока видно не будет. Следовательно, левой нижней кнопкой изменения состояния блока я воспользоваться не могу. Решение — на правую верхнюю сделать включение, на правую нижнюю — выключение.

Делаем итем:

Читать далее «nooLite F: MTRF-64, SLF-1-300. Часть 7. Применяем бестолковые пульты.»

nooLite F: MTRF-64, SLF-1-300. Часть 5. Обзор железок для новичков и заключительное изменение кода.

scheme7

Итак, после изготовления устройства, раскрытого в части 4, возвращаюсь к первоначальной концепции с определенными уточнениями.

Код уже прилично переработан. Основные изменения:

  1. другой алгоритм публикации сообщений, повышена стабильность и исключены пропуски;
  2. добавлен модуль имитации рассвета;
  3. добавлена обработка команд от датчиков на временное включение силовых блоков.

Но пока постараюсь коротко изложить свое видение ситуации с устройствами nooLite. Надеюсь, оно будет полезно, в первую очередь, вновь прибывшим, тем, кто решает браться за железо этой марки, или поискать что-то другое. Да и сам для себя попробую окончательно уточнить концепцию.

Что есть у nooLite для умного дома.

В самой первой части заметок о nooLite я не мог не сказать (и повторю это сейчас), что компания Ноотехника выпускает качественное железо, которое можно приспособить для работы в умном доме.

Что бы не говорилось на сайте производителя, железо проектируется исходя из необходимости решения двух вопросов, которые, по-видимому, постоянно сидят в голове производителя:

  • сокращение количества проводов;
  • легкий перенос выключателей освещения с места на место.

Эти две задачи устройства nooLite решают великолепно.

Работа железа была организована путем передачи команд по воздуху на частоте 433 МГц и, по-видимому, кто-то сообразил, что эта система ПДУ (пульт дистанционного управления, древнее название, пришедшее из времен, когда телевизоры нужно было включать, а также переключать каналы руками!!!) может быть названа модным словом «умный дом».

Ставить в вину такой ход мыслей сотрудникам не стоит — у нас каждая розетка, управляемая СМС, называется «умной», а тут целое стадо устройств, которые…

Читать далее «nooLite F: MTRF-64, SLF-1-300. Часть 5. Обзор железок для новичков и заключительное изменение кода.»

nooLite F: MTRF-64, SLF-1-300. Часть 4.

Продолжим в другом направлении . Скомпонуем файлы таким обазом:

schem3

Проведем эксперимент: что будет, если на одну и ту же ячейку привязать на прием пульт управления, а на передачу — силовой блок? Ответ — привязка пройдет успешно.

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

Читать далее «nooLite F: MTRF-64, SLF-1-300. Часть 4.»

nooLite F: MTRF-64, SLF-1-300. Часть 3.

Предыдущая часть.

Проверка работоспособности.

Все файлы залиты, и, нажав на пару кнопок, следует увидеть такую картину:

noo27325

Все дальнейшие махинации будем осуществлять с помощью MqttSpy.

Если вы изменяли что-то в коде — коннектимся к своему брокеру, нет — iot.eclipse.org.

Подписываемся:

noo27320

И еще раз:

Читать далее «nooLite F: MTRF-64, SLF-1-300. Часть 3.»