Оглавление:
Видео: Температура HRV до OpenHAB через ESP8266 (пример серийного кода!): 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:55
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.
Рекомендуемые:
Управление Led через приложение Blynk с помощью Nodemcu через Интернет: 5 шагов
Управление светодиодом через приложение Blynk с помощью Nodemcu через Интернет: Привет всем, сегодня мы покажем вам, как вы можете управлять светодиодом с помощью смартфона через Интернет
Комнатная температура через Интернет с BLYNK ESP8266 и DHT11: 5 шагов (с изображениями)
Комнатная температура через Интернет С BLYNK ESP8266 и DHT11: Привет, ребята, сегодня мы создадим монитор комнатной температуры, который мы сможем использовать для наблюдения за нашей комнатой из любой точки мира, и для этого мы будем использовать платформу BLYNK IoT, и мы будем использовать DHT11 для считывания комнатной температуры мы будем использовать ESP8266 для измерения
Обновление Motor Shield для робота SMARS Arduino - загрузка кода через Bluetooth: 20 шагов
Обновление Motor Shield для робота SMARS Arduino - загрузка кода через Bluetooth: есть несколько вариантов защиты двигателя, которые вы можете использовать с Arduino Uno в этом проекте роботов SMARS, очень часто с использованием Motor Shield V1 производства Adafruit или совместимого (клон из Китая), но недостатком этого щита нет у Блюто
Получение серийного номера DS18B20 с помощью Arduino: 5 шагов
Получение серийного номера DS18B20 с помощью Arduino: это краткое руководство о том, как получить индивидуальные серийные номера однопроводных датчиков температуры DS18B20. Это удобно для проектов, требующих нескольких датчиков. Что вам нужно: Arduino 5v ( UNO, Mega, Pro Mini и т. Д.) - Arduino UNO R3 - AliExpre
Управление устройствами через Интернет через браузер. (IoT): 6 шагов
Управление устройствами через Интернет через браузер. (IoT): в этой инструкции я покажу вам, как вы можете управлять такими устройствами, как светодиоды, реле, двигатели и т. Д., Через Интернет через веб-браузер. И вы можете безопасно получить доступ к элементам управления с любого устройства. Я использовал здесь веб-платформу RemoteMe.org visit