Оглавление:

Температура HRV до OpenHAB через ESP8266 (пример серийного кода!): 3 шага
Температура HRV до OpenHAB через ESP8266 (пример серийного кода!): 3 шага

Видео: Температура HRV до OpenHAB через ESP8266 (пример серийного кода!): 3 шага

Видео: Температура HRV до OpenHAB через ESP8266 (пример серийного кода!): 3 шага
Видео: Гроуконтроллер 2024, Ноябрь
Anonim
Температура HRV для OpenHAB через ESP8266 (пример серийного кода!)
Температура HRV для OpenHAB через ESP8266 (пример серийного кода!)
Температура HRV для OpenHAB через ESP8266 (пример серийного кода!)
Температура HRV для OpenHAB через ESP8266 (пример серийного кода!)
Температура HRV для OpenHAB через ESP8266 (пример серийного кода!)
Температура HRV для OpenHAB через ESP8266 (пример серийного кода!)

HRV - Беспроводное подключение к OpenHAB

Это руководство предназначено специально для тех, у кого есть система HRV (вентиляция с рециркуляцией отопления), хотя части печатной платы, конфигурация openhab или код Arduino (например, чтение последовательных данных TTL) могут быть полезны для ваших собственных проектов или полезны для обучения. Предполагается, что у вас есть достаточные знания об Arduino IDE и о том, что такое чип ESP8266.

Вступление

Ниже описано, как создать ESP8266, который подключается к системе HRV и отправляет температуру крыши и дома, температуру панели управления и скорость вентилятора через сообщения MQTT в OpenHAB. Это предназначено для работы с платой ESP8266-01 (хотя должно работать с любой версией ESP8266 3,3 В). Если у вас есть аналогичная система типа HRV от альтернативного поставщика, вам нужно будет определить, отправляются ли данные как последовательный TTL, и если да, в какой структуре отправляются данные.

OpenHAB и Mosquitto

Код ESP8266 был написан специально для работы с OpenHAB (программное обеспечение домашней автоматизации с открытым исходным кодом) и брокером MQTT, таким как Mosquitto (протокол типа подписки / публикации для обмена сообщениями, который является легким и отлично подходит для связи между устройствами). Не позволяйте именам или аббревиатуры пугают вас, они действительно довольно просты в использовании, если вы узнаете, как они работают. Я использую OpenHAB на NTC C. H. I. P (компьютер за 9 долларов США), однако многие люди используют Raspberry Pi или аналогичный. В этом руководстве предполагается, что вы реализовали OpenHAB (если вам нужна помощь в настройке OpenHAB, следуйте этой отличной статье с веб-сайта makeuseof). Вам также необходимо загрузить и установить Mosquitto (брокер MQTT) и соответствующую привязку OpenHAB. Вы можете установить его в другом месте в своей сети, однако большинство людей просто устанавливают его на том же компьютере, что и OpenHAB, чтобы было проще.

Чтобы установить Mosquitto, перейдите по этой ссылке, затем выберите тип устройства, которое вы используете, и следуйте инструкциям. Поскольку C. H. I. P работает под управлением Debian (Jessie), вы можете следовать инструкциям Raspberry Pi, если используете C. H. I. P для своего устройства домашней автоматизации (также обратите внимание, что лучше всего перенастроить CHIP для загрузки из интерфейса командной строки. Инструкции для этого приведены здесь)

После запуска OpenHAB и Mosquitto необходимо подготовить IDE Arduino для ESP8266 и кода. Во-первых, вам нужно добавить библиотеку PubSubClient. В среде Arduino IDE из меню выберите «Скетч», «Включить библиотеку», «Управление библиотеками». В поле поиска фильтра введите PubSubClient, затем выделите результат поиска и нажмите «Установить» (на момент написания последней версии является 2.6.0). также необходимо добавить плату ESP8266 в IDE Arduino, что можно сделать, следуя инструкциям здесь

Что это мне дает?

Как указывалось ранее, этот проект позволит вам просматривать крышу панели управления HRV, дом, температуру панели управления и скорость вращения вентилятора в графическом интерфейсе OpenHAB (в реальном времени!). Изображения показывают, как это выглядит с моего iPhone, а также графики, которые вы получим, углубившись в различные температуры.

Чтобы получить графики, вам также необходимо установить и настроить привязку RRD4J (это очень просто). Это позволит вам щелкнуть либо «Дом», либо «Крыша» и получить историю температур ВСР для каждого из них за прошлый период. час, день или неделя (или дольше, если вы измените конфигурацию по своему усмотрению). Показанные изображения даны в градусах Цельсия, и ясно, что сейчас зима в южном полушарии, когда я сделал это!

Кроме того, я создал представление OpenHAB, которое показывает сравнение между внешней температурой (предоставляемой надстройкой привязки Weather, в моем случае с использованием Wunderground) с температурой крыши и дома, щелкнув опцию `` Control '' (на рисунке показан график с построены графики температуры дома, крыши и наружного воздуха). Я планирую использовать эти данные в правилах для включения нагревательных приборов по мере необходимости. Просто добавьте элемент Погода к URL-адресу изображения в файле карты сайта и включите его в тот же график (например:… items = houseTemp, roofTemp, weatherTemp…)

Шаг 1: Необходимые детали / сборка

Необходимые детали / сборка
Необходимые детали / сборка
Необходимые детали / сборка
Необходимые детали / сборка
Необходимые детали / сборка
Необходимые детали / сборка

Вам понадобятся следующие детали

  • Разветвитель RJ11 (он разделяет сигнал от контроллера на крыше на панель управления и ESP8266)
  • Немного ленточного кабеля и вилки RJ11 (для прокладки проводов от разветвителя до ESP8266)
  • ESP8266-01 (другие версии 3.3V должны работать)
  • Преобразователь логического уровня TTL (для изменения данных от 5 В до 3,3 В)
  • Регулятор напряжения AMS1117 3,3 В (или аналогичный, для изменения напряжения с HRV 5 В на> 3,3 В на питание ESP8266)
  • 1N5817 диод Шоттки (почему-то помог остановить сброс панели управления HRV при включении ESP)
  • Резистор 10 кОм (подтягивающий резистор между регулятором напряжения 3.3 и ESP CH_PD)
  • Конденсатор 10 В 10 мкФ (или аналогичный, для сглаживания и стабилизации входящей мощности от HRV)
  • Конденсатор 10 В 1 мкФ (или аналогичный, для сглаживания и стабилизации исходящей мощности к ESP)
  • Необязательная ползунковая кнопка для программирования ESP (в противном случае для программирования необходимо вручную подтянуть GPIO0 к GND)
  • Адаптер FTDI (для программирования ESP, преобразует USB в последовательный)

Соберите согласно схеме

На изображении макета показано, как нужно собирать детали. Обратите внимание, что на ленточном кабеле от блока контроллера HRV в потолке есть 6 контактов:

Контакты 1 и 6 - 5V VCC.

Контакты 2 и 5 - GND

Контакты 3 и 4 - данные.

Вам нужно использовать только контакты 1, 2, 3 и 6 (1 и 6 VCC питают ESP8266 и верхнюю сторону логического преобразователя TTL, 2 - это общая земля, а 3 - для чтения последовательных данных TTL)

Разветвитель, который вам нужен, будет просто разветвителем RJ11, просто убедитесь, что это разветвитель, в котором контакты проходят прямо (например: контакт 1 идет к контакту 1, контакт 2 - к контакту 2 и т. Д.). Обратите внимание, что дополнительные гнездовые контакты (как показаны на изображениях) предназначены для подключения FTDI для последующего перепрограммирования ESP, а показанный переключатель переводит его в режим «программирования». Это необязательно, но рекомендуется (например: если вы измените свой пароль Wi-Fi, поскольку точка доступа и пароль Wi-Fi жестко запрограммированы в коде, который вам нужно будет загрузить после сборки ESP8266)

Шаг 2. Загрузка кода и тестирование

Загрузка кода и тестирование
Загрузка кода и тестирование
Загрузка кода и тестирование
Загрузка кода и тестирование
Загрузка кода и тестирование
Загрузка кода и тестирование
Загрузка кода и тестирование
Загрузка кода и тестирование

Изменения кода

Альтернативная ссылка для скачивания кода Arduino ЗДЕСЬ

Откройте в Arduino IDE, убедитесь, что установлена плата ESP, а также PubSubClient и что вы выбрали плату ESP8266 (Инструменты, Плата, Стандартная плата ESP8266). Отредактируйте код и измените имя и пароль точки доступа WiFi, а также IP-адрес ваш брокер MQTT (это единственное, что вам нужно изменить), как показано ниже. Нажмите кнопку «Проверить», чтобы убедиться, что он компилируется нормально, затем убедитесь, что выбран правильный COM-порт (Инструменты, Порт), и загрузите код в свой ESP8266. О том, как это сделать, написано множество статей, здесь я не буду изобретать велосипед.

// Вай фай

const char * ssid = "your_wifi_ssid_here"; const char * password = "ваш_wifi_password_here"; // IP-адрес брокера MQTT MQTT_SERVER (192, 168, 222, 254);

Тестирование MQTT

Для тестирования вы можете оставить свой адаптер FTDI подключенным и открыть Serial Monitor в Arduino IDE, вы должны увидеть сообщения, печатающие информацию о температуре в консоли. Если вам нужно устранить неполадки входящих сообщений MQTT от ESP8266 к вашему брокеру MQTT, то на сервере Mosquitto выполните одну из следующих команд, чтобы подписаться на входящие сообщения:

mosquitto_sub -d -t openhab / HRV / статус

Вы должны видеть входящие сообщения PUBLISH, приходящие от ESP8266 каждые 30 секунд или около того с цифрой «1» (что означает «Я жив»). Если вы видите постоянные «0» (или вообще ничего), то связи нет. Как только вы видите цифру 1, это означает, что ESP8266 обменивается данными с брокером MQTT (выполните поиск по запросу «MQTT Last Will and Testament» для получения дополнительной информации о том, как это работает, или посмотрите эту действительно хорошую запись в блоге)

Теперь вы можете отслеживать данные о температуре и скорости вращения вентилятора, подписавшись на одну из следующих подписок. Однако обратите внимание, что код отправляет данные о температуре только в том случае, если какие-либо данные были изменены. Он отслеживает последние отправленные данные о температуре, скорости вращения вентилятора и т. Д., Поэтому вы можете не увидеть информацию, поступающую сразу же.

mosquitto_sub -d -t openhab / HRV / температура крыши

mosquitto_sub -d -t openhab / hrv / housetemp

mosquitto_sub -d -t openhab / hrv / controltemp

mosquitto_sub -d -t openhab / hrv / fanpeed

Подсказка: подпишитесь на указанную выше температуру панели управления, затем нажмите кнопку температуры на самой панели управления, и вы должны увидеть новую настройку температуры.

Когда вы приступите к пайке, печатная плата размером 3 x 7 см отлично поместится в коробке для смыва за панелью управления HRV. Я бы рекомендовал делать это только в том случае, если это пластиковая коробка для смыва, поскольку металлическая коробка может мешать сигналам Wi-Fi или, возможно, закорачивать соединения на плате PCB. В качестве альтернативы вы можете распечатать пластиковый 3D-корпус для установки платы.

Шаг 3. Изменения OpenHAB

Конфигурация OpenHAB

Требуются следующие изменения OpenHAB:

файл 'items':

/ * HRVNumber hrvStatus "Статус HRV [MAP (status.map):% d]" (gHRV) {mqtt = "<[mqttbroker: openhab / hrv / status: state: default]"} Номер houseTemp "Дом [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / housetemp: state: default] "} Number houseTemp_Chart_Period" Chart Period "Number roofTemp" Roof [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / rooftemp: state: default] "} Число roofTemp_Chart_Period" Период графика "Число controlTemp" Control [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / controltemp: state: default] "} Строка fanSpeed" Fan Speed [% s] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / FanSpeed: state: default] "} * /

файл sitemap:

Frame label = "Температура ВСР" {Text item = roofTemp {Frame {Switch item = roofTemp_Chart_Period label = "Period" mappings = [0 = "Hour", 1 = "Day", 2 = "Week"] url изображения = "https:// localhost: 8080 / rrdchart-p.webp

Включены дополнительные значки для OpenHAB (щелкните правой кнопкой мыши и сохраните изображения)

Сохраните эти файлы в папке.. / OpenHAB Home / webapps / images на вашем сервере OpenHAB.

Рекомендуемые: