Агуулгын хүснэгт:

Таны хуучин термостатыг үүрлэх: 4 алхам (зурагтай)
Таны хуучин термостатыг үүрлэх: 4 алхам (зурагтай)

Видео: Таны хуучин термостатыг үүрлэх: 4 алхам (зурагтай)

Видео: Таны хуучин термостатыг үүрлэх: 4 алхам (зурагтай)
Видео: 🔥 Монтаж Теплого Пола без Стяжки: Укладка Плитки и Ламината в Один День! 🛠️ Инструкция с АквилонПро 2024, Долдугаар сарын
Anonim
Image
Image
Термостат хэрхэн ажилладаг
Термостат хэрхэн ажилладаг

Манай байшингийн халаалтын систем нь байшингийнх шиг хуучин байж магадгүй юм. Энэ нь 30 орчим настай бөгөөд энэ нь байшингийн хувьд сайн боловч технологийн хувьд мөстлөгийн үед бараг л гацсан байдаг. Арилжааны шийдэлтэй холбоотой 2 үндсэн асуудал байдаг.

  • хориглох үнэ
  • бүтээгдэхүүнийг үйлчилгээ болгон

Бид бүгд Револвт юу болсныг санаж байгаа бөгөөд өвлийн дунд надад ийм зүйл тохиолдохыг тийм ч их хүсдэггүй. Үүнтэй холбогдуулан би танд сэжигтэй харагддаг боловч хуучин термостатынхаа NEST-Alike шиг ажиллагаатай хянагчийг санал болгож байна. Санаа зоволтгүй, би удахгүй нэмж оруулах илүү сайн хашаа барихаар төлөвлөж байна!

Онцлог:

  • одоо байгаа термостатыг ашиглах чадвар (хэрэв эхнэр нь энэ талаар гаслах юм бол)
  • алсын хандалт
  • AWAY горим
  • оновчтой температурын үзүүлэлт
  • Alexa -тай хамтран ажилладаг

Удахгүй (шинэчлэлтийг эндээс үзнэ үү)

  • Google Нүүр хуудас
  • Google Календарь
  • Олон мэдрэгч
  • Радиаторын хяналт
  • IFTT интеграци
  • Tasker -ийн дэмжлэг
  • HTTP хүсэлт
  • Илүү сайн харагдахуйц хашлага

Алхам 1: Термостат хэрхэн ажилладаг

Термостат хэрхэн ажилладаг
Термостат хэрхэн ажилладаг
Термостат хэрхэн ажилладаг
Термостат хэрхэн ажилладаг

Термостат нь өндөр хүчдэлтэй холбогдсон байх магадлалтай! Хэрэв та хэлхээг унтраасан эсэхийг шалгаагүй бол юу ч хийх гэж бүү оролдоорой. Та өөртөө хохирол учруулж, холбогдсон төхөөрөмжид гэмтэл учруулж болзошгүй. Таны аюулгүй байдлыг хангахын тулд мэргэшсэн цахилгаанчинтай зөвлөлдөх хэрэгтэй

Honeywell термостат нь хананд суурилуулсан төхөөрөмж бөгөөд сүлжээгээр тэжээгддэг (Sonoff -ийн үндсэн зарчмууд нь хамгийн багадаа 90В байх ёстой, миний хэлхээ 230В). Хайрцаг нь үндсэн хяналтын нэгжид холбогдсон (илүү дэвшилтэт хайрцаг) бөгөөд температур зорилтот түвшингээс доош буухад дохио илгээдэг. Таны нэгж өөр байж болох ч зарчим нь ижил байх магадлалтай. Хэрэв та 3 утастай бөгөөд хананд суурилуулсан төхөөрөмжийн хооронд радио холболт байхгүй бол энэ нь танд зориулсан заавар юм.

3 утастай термостат нь зарчмын хувьд хэрхэн ажилладагийг би мэднэ, энэ нь санамсаргүй байдлаар 2 утсыг богиносгож гал хамгаалагчаа асаахад минь саад болоогүй юм! Би төхөөрөмжид холбогдсон 3 утастай (4 -р нь дэлхий юм). Миний Honeywell термостат утасгүй биш тул дохиог солихын тулд би Sonoff Basic -ийг ашиглаж болно. Үүнийг салгаж, дохиог төхөөрөмж рүү хэрхэн яаж илгээж байгааг харах цаг болжээ. Нарийвчилсан үзлэгээр терминалыг дараах байдлаар холбоно.

  1. (цэнхэр) - Газар
  2. (шар) - дохио, өндөр татахад халаалт асаалттай байна
  3. ашиглагдаагүй байна
  4. (улаан) - дохиог өндөр татахад ашигладаг амьд утас

Зорилгодоо хүрэхийн тулд би халаалтаа асаахыг хүссэн үедээ дохионы утастай шууд утсыг богиносгох ёстой. Хэрэв танд ижил төстэй термостат байгаа бол Sonoff Basic -ийг ашиглахад хангалттай байх болно.

Алхам 2: Sonoff -ийг анхан шатны бэлтгэлтэй болгох

Sonoff -ийн анхан шатны бэлтгэлийг хангаж байна
Sonoff -ийн анхан шатны бэлтгэлийг хангаж байна
Sonoff -ийн анхан шатны бэлтгэлийг хангаж байна
Sonoff -ийн анхан шатны бэлтгэлийг хангаж байна
Sonoff -ийн анхан шатны бэлтгэлийг хангаж байна
Sonoff -ийн анхан шатны бэлтгэлийг хангаж байна

Утас холбож эхлэхээсээ өмнө температур мэдрэгч (DHT11) -ийг хольцонд нэмэх ёстой. Та Tasmota програмыг Sonoff төхөөрөмж дээрээ асааж байгаа эсэхийг шалгаарай (надад энд маш сайн анивчдаг гарын авлага байна), мөн таны Tasmota идэвхжүүлсэн Sonoff зөв тохируулагдсан байгаа эсэхийг шалгаарай. Одоо танд DHT11 мэдрэгчийг Sonoff -тэй холбож, температурын тайланг тохируулах л үлдлээ.

DHT11 нь 3 голтой утастай ирдэг: Дохио - GPIO14Vcc - 3.3VGND - GND

Би нүх гаргав, одоо яаж харагдаж байгаа нь надад санаа зовохгүй байна, надад зөвхөн үзэл баримтлалын баталгаа, баталгаажуулалт хэрэгтэй. Миний 3D принтер ирмэгц би сайхан, гялалзсан хашлага хийх болно. Би Соноффын төхөөрөмжийн нөгөө үзүүрт байгаа цахилгаан утас холбосон эсэхийг шалгах ёстой тул би Sonoff -ийг хэрхэн холбох талаар илүү их анхаарал хандуулсан. Honeywell нэгж нь ачааллыг эсэргүүцэгч (R) дотор гүйдлийг хязгаарладаг. Уг хэлхээ нь 3А гал хамгаалагчаар хамгаалагдсан боловч нэмэлт хамгаалалт авахын тулд ижил эсэргүүцэлтэй нийцэх нь ухаалаг хэрэг юм. Утаснуудаа бэлэн болгосны дараа үндсэн тэжээлээ унтрааж, Соноффыг буцааж залгах цаг болжээ.

Sonoff Tasmota - Honeywell термостат

INPUT Live - 4 -р терминал Live

INPUT GND - 1 -р терминал GND

OUTPUT дохио - 2 -р терминал дохио

Би өмнө нь энэ талаар дурдсан тул би түүний гадаад төрхийг онцлон тэмдэглэхгүй байна. Эхнэр нь итгэлтэй байсан бөгөөд би функциональ байдал, гарч болзошгүй алдааг арилгахад анхаарлаа төвлөрүүлж чадна. Сайн зүйл бол анхны термостат ажиллаж байгаа хэвээр байна. Хэрэв би үүнийг асаах юм бол Sonoff Tasmota дээр суурилсан нэгийг хүчингүй болгоно. Энэ нь гэнэтийн үйл явдлын гайхалтай нөөц бололцоо байх ёстой.

Алхам 3: NodeRED

NodeRED
NodeRED
NodeRED
NodeRED
NodeRED
NodeRED

Видео нь NodeRed -ийн хуучин лавлагаа агуулсан байж болохыг анхаарна уу, би дизайныг сайжруулахын тулд байнга ажиллаж байна. Эдгээр нь жижиг өөрчлөлтүүд бөгөөд нийтлэлийн файлуудыг байнга шинэчилж байдаг

Би энэ загварыг интернетээс олж харсан. Энэ нь гайхалтай харагдаж байна, гэхдээ сайтар судалж үзэхэд виджет нь NodeRED -д үнэхээр тохирохгүй байна. Үүнийг тохируулахын тулд 5 ачааны ачаалал хэрэгтэй бөгөөд энэ нь зангилааны дизайн адилхан ажилладаггүй. Виджетийг шинэчлэх, ажиллагаатай байлгахын тулд энэ бүх мэдээллийг дамжуулах хамгийн сайн арга замыг олоход надад хэсэг хугацаа шаардагдлаа. Цаг хугацаа өнгөрөхөд би дизайнд илүү их цаг зарцуулах болно, ингэснээр шаардлагатай бүх шинэчлэлтийг ганцхан msg объектоор түлхэж чадна. Одоогийн байдлаар энэ нь байгаагаараа л байна.

Температурын урсгал

DHT11 нь X секунд тутамд NodeRED серверт мэдээлдэг. Би энэ давтамжийг Тасмота консолоор нэмэгдүүлсэн. Давтамжийг секундын дотор тохируулахын тулд тушаалыг ажиллуулна уу.

TelePeriod Телеметрийн хугацааг 10-3600 секундын хооронд тохируулна

Энэ нь ихэвчлэн туршилтын хувьд хийгддэг, учир нь миний алдааны засварууд ажилласан эсэхийг харахын тулд хэдэн минут хүлээхийг хүсэхгүй байна. Давтамжийг өндөр байлгах нь халаалтыг богино хугацаанд илүү олон удаа галладаг тул туршилтын зориулалтаас бусад тохиолдолд 10 сек хүртэл тохируулахаас татгалзаарай. MQTT зангилаа нь өгөгдлийг дараахаас татаж авдаг.

sonoff/tele/SENSOR

мөн хамгийн ашигтай өгөгдлийг дараах объектуудад хадгалдаг.

msg.payload. DHT11. Дулаан msg.payload. DHT11. Чийгшил

Алдааг хязгаарлахын тулд үр дүнг дундаж болгохын тулд гөлгөр зангилааг нэмж, урсгалын хувьсагчийг шинэчилсэн: NodeRED:

Функцийн зангилаа - 'TempAmbient' -ийг шинэчлэх

flow.set ('TempAmbient', msg.payload. DHT11. Temperature); буцах мессеж;

Виджетийн шинэчлэлт

Би 5 секунд бол сайн шинэчлэлтийн хурд гэж шийдсэн тул энэ давтамжтайгаар шаардлагатай бүх утгыг түлхэж байна. Цорын ганц үл хамаарах зүйл бол гулсагч бөгөөд тодорхой шалтгааны улмаас тэр даруй хариу өгдөг.

Холбогдох зангилаа бүр өгөгдсөн сэдвээр ачаа үүрээ ижил виджет рүү илгээдэг.

  • өнгө (халаалт | хөргөх*| унтраасан & hvac_state)
  • навч (үнэн | худал & навч_)
  • хол (үнэн | худал & хол)
  • Орчны температур (тоо & ambient_temperature)
  • Зорилтот температур (тоо & target_temperature)

*ашиглагдаагүй

NodeRED: Функцийн зангилаа - Виджетийн шинэчлэлт

өнгө

x = flow.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); // хүрээлэн буй орчин

хэрэв (z = x) {

flow.set ('heatState', "off"); flow.set ('heatSwitch', "OFF"); } msg.payload = z; msg.topic = "ambient_temperature"; msg буцах;

навч

x = flow.get ('TempAmbient'); if (x> 17 && x <23) {flow.set ('leaf', true); msg.payload = үнэн; msg.topic = "has_leaf"; msg буцах; } өөр {flow.set ('навч', худал); msg.payload = худал; msg.topic = "has_leaf"; msg буцах; }

Өнгийг дарах

x = flow.get ('хол'); хэрэв (x === үнэн) {msg.topic = "hvac_state"; msg.payload = "унтраалттай"; msg буцах; }

msg.topic = "hvac_state";

msg.payload = flow.get ('heatState');

msg буцах;

Холдсон

x = flow.get ('хол'); if (x === true) {flow.set ('heatSwitch', "OFF"); flow.set ('heatState', "off"); }

msg.topic = "хол";

msg.payload = flow.get ('хол'); msg буцах;

Зорилтот температур

if (msg.topic === "update") {msg.topic = "target_temperature"; msg.payload = flow.get ('TempTarget'); msg буцах; }

хэрэв (msg.command === "SetTargetTemperatureRequest") {

flow.set ('хол', худал); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }

хэрэв (msg.topic === "гулсагч") {

flow.set ('хол', худал); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }

хэрэв (msg.command === "GetTemperatureReadingRequest") {}

msg буцах;

Таны харж байгаагаар би урсгалын хувьсагчдыг сонгосон тул хүссэн үедээ утгыг эргэн санах боломжтой байв. Надад хадгалагдсан бүх утгыг уншдаг дибаг хийх урсгал бий.

  • 'TempAmbinet' - одоогийн температурыг хадгалдаг
  • 'TempTarget' - түр зорилтот утгыг хадгална
  • 'Навч' - шаардлагатай бол навчийг харуулна
  • "Хол" - шаардлагатай бол хол байгаа байдлыг харуулна
  • 'HeatState' - дэлгэцийн өнгийг өөрчилдөг
  • 'HeatSwitch' - релений төлөвийг хянадаг.

Асуудал нь мэдээллийг "шинэчлэх" болон бусад аргаар (Alexa гэх мэт) ашиглах үед шинэчлэгдсэн эсэхийг шалгах явдал байв. Тиймээс та JavaScript дээр өөр өөр нөхцлийг харах болно. Утга шинэчлэгдэх бүрт урсгал хувьсагч руу илгээгдэж, виджет шинэчлэгддэг.

Гулсагч

Туршилтын явцад гулсагчийн нэмэлт шинэчлэлт (гулсагч нь зорилтот температурыг дарах) шаардлагатай байгааг тогтоожээ. Слайдер нь ачааг (дугаарыг) зөөвөрлөхөд холбогдох "гулсагч" сэдвээр илгээдэг. Үүн дээр олон вэб интерфэйсүүд байгаа бол гулсагчийг зөв байрлалд оруулахыг хүсч байна. Үүнийг хийхийн тулд 5 секунд тутамд би гулсагчийн байрлалыг одоогийн зорилтот температурт шинэчилдэг.

NodeRED: Функцийн зангилаа - Гулсагчийг шинэчлэх

msg.payload = flow.get ('TempTarget'); msg буцах;

Релений хяналт

Реле хянагч нь энгийн бөгөөд хоёр оролт шаардагдана. Alexa -ийн үнэн | худал ба "халаалтын унтраалга" урсгалын хувьсагчийн шинэчлэлтийн дараах харилцан үйлчлэл. Шуурхай үйлдэл хийх шаардлагагүй тул энгийн байхын тулд энэ нь бусад урсгалын адил 5 секундын шинэчлэлтийн давтамж дээр ажилладаг.

Реле нь MQTT -ээр холбогдсон байна. Node нь сэдэвт ON | OFF командыг байршуулж байна.

sonoff/cmnd/POWER1

Функцийн зангилаа нь Alexa -аас үнэн | худал гэж хүлээн зөвшөөрч, мөн 'heatSwitch' урсгалын хувьсагчийн дагуу оролтын төлөвийг өөрчилдөг.

NodeRED: Функцийн зангилаа - Хяналтын реле

if (msg.command === "TurnOffRequest") {msg.payload = "OFF"; msg буцах; }

хэрэв (msg.command === "TurnOnRequest") {

msg.payload = "ON"; flow.set ('TempTarget', 21); msg буцах; } if (msg.topic === "update") {msg.payload = flow.get ('heatSwitch'); } msg буцах;

Alexa интеграцчлал

Энэ бол миний "автоматаар хүлээн зөвшөөрөх" -ийг унтраасан анхны төхөөрөмж юм. Хариултыг автоматаар авахын оронд би тогтоосон температурыг асуух чадвартай байхыг хүсч байна. Зарчмын хувьд, msg.payload = true | false нь хүсэлт амжилттай болсон эсэхийг харуулдаг бөгөөд эндээс олдсон загварууд үлдсэнийг нь хийдэг. Хэрэв та Alexa болон NodeRed -д шинээр орсон бол үүнийг заавал уншаарай.

Би бүх зүйлийг арай илүү сайн хянах боломжтой байхын тулд мэдэгдлээ тусад нь өгөхөөр шийдсэн (энэ бол хамгийн сайн арга биш гэдгийг би мэднэ). Зөв хариулт бүрийг командын хэлхээний төгсгөлд өгөх ёстой. Эдгээр алдаа гарсан тохиолдолд миний хувьд алдаагаа буцааж өгөхгүй байх эрсдэлтэй. Тохиромжтой байхын тулд би зөвхөн хувьсагчдыг шинэчилдэг бол шинэчлэх давталт нь шинэ утгуудыг виджет рүү түлхдэг.

NodeRED: Функцийн зангилаа - Alexa хариултуудыг боловсруулах

// Термостатын зорилтот температур гэж юу вэ (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"утга": x}, "applianceResponseTimestamp": шинэ огноо (). toISOString ()}; msg.payload = үнэн; msg буцах; } // Хэрэв (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10.0, max: 30.0} msg.payload = худал; msg.extra = муж; } өөр {msg.extra = {targetTemperature: {утга: msg.payload}}; msg.payload = үнэн; } msg буцах; } // Хэрэв идэвхжүүлбэл (msg.command === "TurnOnRequest") {msg.payload = true; flow.set ('хол', худал); flow.set ('TempTarget', 21); msg буцах; } // Хэрэв (msg.command === "TurnOffRequest") {msg.payload = true; flow.set ('хол', үнэн); msg буцах;

Алхам 4: Дүгнэлт

Дүгнэлт
Дүгнэлт

Хэрэв та NodeRED хяналтын самбарыг WAN -д оруулбал халаалтын системийг бүхэлд нь алсаас удирдах боломжтой. NodeRED болон NodeRED -ийн аюулгүй байдлыг сайжруулахын тулд дараах нийтлэлүүдийг уншихыг танд зөвлөж байна.

  • Эхлэгчдэд зориулсан NodeRED
  • NodeRED аюулгүй байдал

Нэмж дурдахад, хэрэв та энэ төслийн шинэчлэлтийн талаар мэдээлэл авахыг хүсч байвал намайг сонгосон платформ дээрээ дагаж үзээрэй.

  • Facebo зүгээр
  • Хоёр давхар
  • Инстаграм
  • Та байх

Хэрэв та надад кофе худалдаж авах эсвэл намайг тасралтгүй дэмжихийг хүсч байвал:

  • Paypal
  • Патреон

Танд төсөл таалагдсан гэж найдаж байна!

Зөвлөмж болгож буй: