Съдържание:

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.3V) Ако имате подобна система тип 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 за зареждане от CLI. Има инструкции за това тук)

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

Какво ми дава това?

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

За да получите графиките, ще трябва също да инсталирате и конфигурирате обвързването RRD4J (това е много право напред) Това ще ви позволи да кликнете върху „Къща“или „Покрив“и да получите история на температурите на HRV за всеки през миналото час, ден или седмица (или повече, ако промените конфигурацията според себе си) Показаните изображения са в градуси по Целзий и ясно е зимата им в южното полукълбо, когато направих това!

Освен това създадох изглед на OpenHAB, който показва сравнение между външната температура (предоставена от добавката за обвързване на времето, в моя случай използвайки Wunderground) спрямо температурите на покрива и къщата, като щракнете върху опцията „Контрол“(снимката показва графиката с къща, покрив и външна температура. Планирам да използвам тези данни в правилата за включване на отоплителни уреди според нуждите. Просто добавете елемента Weather към URL адреса на вашето изображение във файла на картата на сайта и го включете в същата графика (например:… items = houseTemp, roofTemp, weatherTemp…)

Стъпка 1: Необходими части / Монтаж

Необходими части / монтаж
Необходими части / монтаж
Необходими части / монтаж
Необходими части / монтаж
Необходими части / монтаж
Необходими части / монтаж

Ще ви трябват следните части

  • Сплитер RJ11 (това разделя сигнала от контролера на покрива към контролния панел и ESP8266)
  • Някакъв лентов кабел и щепсел RJ11 (за прокарване на проводници от сплитер към ESP8266)
  • ESP8266-01 (други версии 3.3V трябва да работят)
  • TTL преобразувател на логическо ниво (за промяна на данни от 5V -> 3.3V)
  • AMS1117 3.3V регулатор на напрежение (или подобен, за промяна на напрежението от HRV 5V -> 3.3V към захранване ESP8266)
  • 1N5817 диод Шоттки (по някаква причина това помогна да се спре нулирането на контролния панел на HRV при включване на ESP)
  • 10K ом резистор (издърпващ резистор между 3.3 регулатор на напрежение и ESP CH_PD)
  • 10V 10uF кондензатор (или подобен, за изглаждане и стабилизиране на входящата мощност от HRV)
  • 10V 1uF кондензатор (или подобен, за изглаждане и стабилизиране на изходящото захранване към ESP)
  • По избор плъзгащ бутон за програмиране на ESP (в противен случай трябва да изтеглите GPIO0 до GND ръчно, за да програмирате)
  • FTDI адаптер (за програмиране на ESP, преобразува USB в сериен)

Сглобете според схемата

Изображението на чертежа показва как трябва да се сглобяват частите. Обърнете внимание, че има 6 пина, които слизат по лентовия кабел от контролера HRV в тавана:

Изводи 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 по -късно и показаният превключвател го поставя в режим „програмиране“. Те са незадължителни, но препоръчителни (напр.: ако промените паролата си за WiFi, тъй като WiFi AP и паролата са трудно програмирани в кода, който ще трябва да качите, след като вашият ESP8266 бъде изграден)

Стъпка 2: Качване на код и тестване

Качване на код и тестване
Качване на код и тестване
Качване на код и тестване
Качване на код и тестване
Качване на код и тестване
Качване на код и тестване
Качване на код и тестване
Качване на код и тестване

Промени в кода

Алтернативна връзка за изтегляне към кода на Arduino ТУК

Отворете в Arduino IDE, уверете се, че платката ESP е инсталирана, както и PubSubClient и че сте избрали платката ESP8266 (Инструменти, платка, обща платка ESP8266) Редактирайте кода и променете името и паролата на WiFi AP и IP адреса на вашия MQTT брокер (това са единствените неща, които трябва да промените), както е показано по -долу. Щракнете върху бутона „Провери“, за да се уверите, че е компилиран добре, след което се уверете, че е избран правилния COM порт (Инструменти, Порт) и качете кода на вашия ESP8266. Има много статии за това как да направите това, няма да преоткривам колелото тук.

// Wifi

const char* ssid = "your_wifi_ssid_here"; const char* password = "your_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/status

Трябва да виждате входящи ПУБЛИКАЦИОННИ съобщения, идващи от ESP8266 на всеки 30 секунди с номер „1“(което означава „жив съм“). Ако виждате постоянни „0“(или изобщо нищо), тогава няма комуникация. След като видите, че номер 1 идва, това означава, че ESP8266 комуникира с брокера на MQTT (потърсете „MQTT Last Will and Testament“за повече информация как работи това, или вижте този наистина добър запис в блога)

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

mosquitto_sub -d -t openhab/hrv/rooftemp

mosquitto_sub -d -t openhab/hrv/housetemp

mosquitto_sub -d -t openhab/hrv/controltemp

mosquitto_sub -d -t openhab/hrv/fanspeed

Съвет: абонирайте се за температурата на контролния панел по -горе, след това натиснете бутона за температура на самия контролен панел, трябва да видите новата настройка на температурата.

Когато пристъпите към запояване на това, PCB с размери 3 cm x 7 cm се вписва добре в кутията за промиване зад контролния панел на HRV. Бих препоръчал да правите това само ако това е пластмасова кутия за промиване, тъй като металната кутия може да попречи на Wifi сигналите или евентуално да прекъсне връзките на платката. Като алтернатива можете да отпечатате пластмасов 3D калъф, в който да монтирате дъската.

Стъпка 3: Промени в OpenHAB

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

Изискваните промени в OpenHAB са както следва:

'items' файл:

/* HRVNumber hrvStatus "HRV Status [MAP (status.map):%d]" (gHRV) {mqtt = "<[mqttbroker: openhab/hrv/status: state: default]"} Number houseTemp "House [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/housetemp: състояние: по подразбиране] "} Number houseTemp_Chart_Period" Период на диаграма "Number roofTemp" Покрив [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} Number roofTemp_Chart_Period" Период на диаграма "Number controlTemp" Контрол [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp: state: default] "} String fanSpeed" Скорост на вентилатора [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/

файл на „sitemap“:

Етикет на рамка = "HRV Температура" {Текстов елемент = roofTemp {Рамка {Превключване на елемент = roofTemp_Chart_Period label = "Период" картографиране = [0 = "Час", 1 = "Ден", 2 = "Седмица"] URL адрес на изображението = "https:// localhost: 8080/rrdchart-p.webp

Включени са допълнителни икони за OpenHAB (щракнете с десния бутон и запазете изображения)

Запазете тези файлове в папката.. / OpenHAB Home / webapps / images на вашия OpenHAB сървър

Препоръчано: