
Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59



Šildymo sistema mano namuose tikriausiai tokia pat sena kaip ir pats namas. Jam yra apie 30 metų, o tai yra gerai, kalbant apie namų metus, tačiau, kalbant apie technologiją, jis beveik įstrigo ledynmetyje. Yra 2 pagrindinės komercinių sprendimų problemos:
- draudžiamos kainos
- produktas kaip paslauga
Mes visi prisimename, kas nutiko Revolvui, ir aš nelabai noriu, kad tai nutiktų man vidury žiemos. Turėdamas tai omenyje, pristatau jums neįtikėtinai įtartinai atrodantį, bet funkcionalų NEST-Alike valdiklį, skirtą jūsų senam termostatui. Nesijaudinkite, planuoju netrukus pridėti daug geresnį korpusą!
Funkcijos:
- galimybė naudoti esamą termostatą (jei žmona dėl to dejuoja)
- Nuotolinis prisijungimas
- AWAY režimas
- optimalus temperatūros indikatorius
- Veikia su Alexa
Netrukus (atnaujinimų ieškokite čia)
- „Google“pagrindinis puslapis
- „Google“kalendorius
- Keli jutikliai
- Radiatoriaus valdikliai
- IFTT integracijos
- „Tasker“palaikymas
- HTTP užklausos
- Daug geriau atrodantis korpusas
1 žingsnis: kaip veikia termostatas


Tikėtina, kad termostatas prijungtas prie AUKŠTOS ĮTAMPOS! Nemėginkite nieko daryti, nebent įsitikinote, kad grandinė išjungta. Galite pakenkti sau ir sugadinti prijungtą įrangą. Norėdami užtikrinti savo saugumą, pasitarkite su kvalifikuotu elektriku
„Honeywell“termostatas yra sieninis įrenginys, maitinamas iš elektros tinklo („Sonoff“pagrindams reikia mažiausiai 90 V įtampos, mano grandinė turi 230 V įtampą). Dėžutė prijungta prie pagrindinio valdymo bloko (kuris yra labiau pažengęs) ir siunčia signalą, kai temperatūra nukrenta žemiau tikslinio lygio. Nors jūsų įrenginys gali būti skirtingas, veikiausiai principas yra tas pats. Jei turite 3 laidus ir nėra radijo ryšio tarp sieninio įrenginio-tai pamoka jums.
Aš žinau, kaip iš principo veikia 3 laidų termostatai, kurie man netrukdė perdegti saugiklį, netyčia sutrumpinus 2 laidus! Aš turiu 3 laidus, prijungtus prie įrenginio (4 -asis yra žemė). Mano „Honeywell“termostatas nėra belaidis, todėl norėdamas perjungti signalą galiu naudoti „Sonoff Basic“. Atėjo laikas jį išardyti ir pamatyti, kaip signalas siunčiamas į įrenginį. Atidžiau apžiūrėjus, terminalas prijungiamas taip:
- (mėlyna) - žemė
- (geltona) - signalas, aukštai patraukus, šildymas įjungtas
- nenaudojama
- (raudona) - laidas, naudojamas įtempti signalą
Kad pasiekčiau savo tikslą, turiu įjungti trumpą laidą su signaliniu laidu, kai noriu, kad mano šildymas būtų įjungtas. Jei turite panašiai prijungtą termostatą, jums pasisekė, nes „Sonoff Basic“pakaks.
2 žingsnis: „Sonoff Basic“paruošimas



Prieš pradėdami prijungti laidus, prie mišinio turime pridėti temperatūros jutiklį (DHT11). Įsitikinkite, kad „Sonoff“įrenginyje įdiegta „Tasmota“programinė įranga (čia yra puikus mirksėjimo vadovas) ir „Tasmota“palaikantis „Sonoff“yra tinkamai sukonfigūruotas (taip pat jau aprašytas). Dabar lieka tik prijungti DHT11 jutiklį prie „Sonoff“ir sukonfigūruoti jį temperatūros ataskaitoms.
DHT11 komplektuojamas su 3 laidų kaiščiais: signalas - GPIO14Vcc - 3.3VGND - GND
Aš prakiuriau skylę, man nerūpi, kaip ji atrodo dabar, man reikia tik koncepcijos įrodymo ir patvirtinimo. Kai atvyks mano 3D spausdintuvas, padarysiu gražų ir blizgantį korpusą. Aš atkreipiau ypatingą dėmesį į tai, kaip aš prijungiu „Sonoff“, nes turiu įsitikinti, kad įtampos laidas jungiasi prie signalo laido kitame „Sonoff“įrenginio gale. „Honeywell“įrenginyje yra įmontuotas apkrovos rezistorius (R), kuris riboja srovę. Nors grandinė yra apsaugota 3A saugikliu, protinga papildomai apsaugoti tą patį pasipriešinimą. Kai jau buvau paruošęs laidus, atėjo laikas išjungti pagrindinį maitinimą ir prijungti „Sonoff“atgal.
Sonoff Tasmota - Honeywell termostatas
„INPUT Live“- 4 -asis terminalas „Live“
INPUT GND - 1 -asis GND terminalas
OUTPUT Signal - 2 terminalo signalas
Anksčiau minėjau, kad kol kas nesiruošiu pabrėžti dėl to išvaizdos. Žmona buvo įsitikinusi, ir aš galiu sutelkti dėmesį į funkcionalumą ir pašalinti bet kokias klaidas. Gerai tai, kad originalus termostatas vis dar veikia. Jei įjungsiu, jis pakeis „Sonoff Tasmota“pagrįstą. Tai turėtų būti puiki atsarga bet kokiems netikėtiems įvykiams.
3 žingsnis: „NodeRED“



Atminkite, kad vaizdo įraše gali būti senesnių „NodeRed“nuorodų, aš nuolat dirbu tobulindamas dizainą. Tai nedideli pakeitimai, o straipsnių failai nuolat atnaujinami
Su šiuo dizainu susipažinau internete. Atrodo puikiai, tačiau atidžiai apžiūrėjus valdiklis tikrai netinka „NodeRED“. Tam reikia nustatyti 5 naudingąsias apkrovas, o tai ne taip, kaip veikia mazgų dizainas. Prireikė šiek tiek laiko, kol išsiaiškinau, kaip geriausiai perduoti visą šią informaciją, kad atnaujinčiau valdiklį ir išlaikyčiau jo veikimą. Esu tikras, kad laikui bėgant daugiau laiko skirsiu dizainui, kad galėčiau visus reikiamus atnaujinimus perkelti su vienu žinutės objektu. Kol kas yra taip, kaip yra.
Temperatūros srautas
DHT11 kas X sekundes praneša „NodeRED“serveriui. Padidinau šį dažnį per „Tasmota“konsolę. Tiesiog paleiskite komandą, kad nustatytumėte dažnį sekundėmis:
„TelePeriod“Nustatykite telemetrijos laikotarpį nuo 10 iki 3600 sekundžių
Tai dažniausiai daroma bandymams, nes nenoriu laukti minučių, kad pamatyčiau, ar mano klaidų pataisymai veikė. Jei dažnis bus aukštas, šildymas dažniau įsijungs trumpesnį laiką, todėl nenustatykite jo iki 10 sekundžių kitais nei bandymo tikslais. MQTT mazgas renka duomenis iš:
sonoff/tele/JUTIKLIS
ir saugo naudingiausius duomenis šiuose objektuose:
msg.payload. DHT11. Temperatūra msg.payload. DHT11. Drėgmė
Norėdami apriboti klaidas, pridėjau sklandų mazgą, kad rezultatai būtų vidutiniai, ir atnaujinau srauto kintamąjį: NodeRED:
Funkcijos mazgas - atnaujinkite „TempAmbient“
flow.set ('TempAmbient', msg.payload. DHT11. Temperature); return msg;
Valdiklio atnaujinimas
Aš nusprendžiau, kad 5 sekundės yra geras atnaujinimo dažnis, todėl šiuo dažniu stumiu visas reikalingas vertes. Vienintelė išimtis yra slankiklis, kuris dėl akivaizdžių priežasčių reaguoja akimirksniu.
Kiekvienas atitinkamas mazgas siunčia naudingąją apkrovą su priskirta tema į lizdą panašų valdiklį.
- spalva (šildymas | aušinimas*| išjungta ir hvac_state)
- lapas (tiesa | klaidinga ir turi_lapą)
- toli (tiesa | klaidinga ir toli)
- Aplinkos temperatūra (skaičius ir aplinkos temperatūra)
- Tikslinė temperatūra (skaičius ir tikslinė temperatūra)
*nenaudojama
NodeRED: Funkcijos mazgas - valdiklio atnaujinimas
spalva
x = srautas.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); // aplinkos
jei (z = x) {
flow.set ('šildymo būsena', "išjungta"); flow.set ('šildymo jungiklis', "IŠJUNGTA"); } msg.payload = z; msg.topic = "aplinkos temperatūra"; grąžinti pranešimą;
lapas
x = srautas.get ('TempAmbient'); if (x> 17 && x <23) {flow.set ('lapas', tiesa); msg.payload = tiesa; msg.topic = "has_leaf"; grąžinti pranešimą; } else {flow.set ('leaf', false); msg.payload = false; msg.topic = "has_leaf"; grąžinti pranešimą; }
Spalvos panaikinimas
x = flow.get ('toli'); jei (x === tiesa) {msg.topic = "hvac_state"; msg.payload = "išjungta"; grąžinti pranešimą; }
msg.topic = "hvac_state";
msg.payload = flow.get ('šildymo būsena');
grąžinti pranešimą;
Toli
x = flow.get ('toli'); if (x === tiesa) {flow.set ('šildymo jungiklis', "IŠJUNGTA"); flow.set ('šildymo būsena', "išjungta"); }
msg.topic = "toli";
msg.payload = flow.get ('toli'); grąžinti pranešimą;
Tikslinė temp
if (msg.topic === "atnaujinimas") {msg.topic = "tikslinė_temperatūra"; msg.payload = flow.get ('TempTarget'); grąžinti pranešimą; }
if (msg.command === "SetTargetTemperatureRequest") {
flow.set ('toli', klaidinga); msg.topic = "tikslinė_temperatūra"; flow.set ('TempTarget', msg.payload); }
if (msg.topic === "slankiklis") {
flow.set ('toli', klaidinga); msg.topic = "tikslinė_temperatūra"; flow.set ('TempTarget', msg.payload); }
jei (msg.command === "GetTemperatureReadingRequest") {}
grąžinti pranešimą;
Kaip matote, aš atsisakiau srauto kintamųjų, todėl bet kuriuo metu galėjau prisiminti vertę. Turiu derinimo srautą, kuris iš esmės nuskaito visas išsaugotas vertes.
- „TempAmbinet“- išsaugo esamą temp
- „TempTarget“- turi temp tikslo vertę
- „Lapas“- rodomas lapas, jei reikia
- „Toli“- jei reikia, rodo būseną toli
- „Šildymo būsena“- keičia ekrano spalvą
- „HeatSwitch“- valdo relės būseną.
Iššūkis buvo iš tikrųjų įsitikinti, kad informacija atnaujinama „atnaujinant“ir paprašius kitomis priemonėmis („Alexa“ir kt.). Štai kodėl „JavaScript“matysite skirtingas sąlygas. Kiekvieną kartą, kai vertės atnaujinamos, siunčiamos į srauto kintamąjį ir atnaujinamas valdiklis.
Slankiklis
Bandymas atskleidė, kad reikia papildomai atnaujinti slankiklį (slankiklis stumia tikslinę temperatūrą). Slankiklis siunčia naudingąją apkrovą (skaičių) su susijusia tema „slankiklis“, kai ji perkeliama. Be to, noriu, kad slankiklis atsidurtų teisingoje padėtyje, jei yra kelios žiniatinklio sąsajos. Norėdami tai padaryti, kas 5 sekundes aš tiesiog atnaujinu slankiklio padėtį iki esamos tikslinės temperatūros.
NodeRED: Funkcijos mazgas - atnaujinti slankiklį '
msg.payload = flow.get ('TempTarget'); return msg;
Relės valdymas
Relės valdiklis yra paprastas, jam reikia (kol kas) dviejų įėjimų. „Alexa“tiesa | klaidinga ir sąveika, kuri atsiranda po „šildymo jungiklio“srauto kintamojo atnaujinimo. Nereikia skubių veiksmų, todėl dėl paprastumo jis veikia tuo pačiu 5 sekundžių atnaujinimo dažniu, kaip ir visa kita srauto dalis.
Relė prijungta per MQTT. Mazgas siunčia komandas ĮJUNGTI | IŠJUNGTI į temą:
sonoff/cmnd/POWER1
Funkcijos mazgas priima tikrąjį | false iš „Alexa“ir taip pat keičia įvesties būseną pagal „HeatSwitch“srauto kintamąjį.
NODRED: Funkcijos mazgas - valdymo relė"
if (msg.command === "TurnOffRequest") {msg.payload = "IŠJUNGTA"; grąžinti pranešimą; }
if (msg.command === "TurnOnRequest") {
msg.payload = "ĮJUNGTA"; flow.set ('TempTarget', 21); grąžinti pranešimą; } if (msg.topic === "update") {msg.payload = flow.get ('šildymo perjungimas'); } grąžinti pranešimą;
„Alexa“integracija
Tai pirmas įrenginys, kurį turėjau išjungti „automatinį patvirtinimą“. Vietoj to, kad automatiškai prisiimčiau atsakymą, aš sugeneravau tokį, nes noriu, kad būtų galima užklausti nustatytą temperatūrą. Iš esmės, msg.payload = true | false nurodo, ar užklausa buvo sėkminga, o štai esantys šablonai - visa kita. Jei esate naujokas „Alexa“ir „NodeRed“, būtinai perskaitykite tai.
Aš nusprendžiau patvirtinimus perduoti atskirai (žinau, kad tai nėra geriausias būdas), kad galėčiau visa tai šiek tiek geriau valdyti. Tinkamai kiekvienas atsakymas turėtų būti pateiktas komandų grandinės pabaigoje. Manasis rizikuoja negrąžinti klaidų, jei jos įvyktų. Atminkite, kad norėdami būti nuoseklūs, atnaujinu tik kintamuosius, o atnaujinimo ciklas perkelia naujas reikšmes į valdiklį.
NodeRED: Funkcijos mazgas - apdorokite „Alexa“atsakymus “
// Kokia yra tikslinė termostato temperatūraif (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"value": x}, "deviceResponseTimestamp": nauja data (). toISOString ()}; msg.payload = tiesa; grąžinti pranešimą; } // Nustatykite temperatūrą į (ne žemesnę kaip 10 ar daugiau nei 30), jei (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10,0, max: 30,0} msg.payload = false; msg.extra = diapazonas; } else {msg.extra = {targetTemperature: {value: msg.payload}}; msg.payload = tiesa; } grąžinti pranešimą; } // Įjunkite, jei (msg.command === "TurnOnRequest") {msg.payload = true; flow.set ('toli', klaidinga); flow.set ('TempTarget', 21); grąžinti pranešimą; } // Išjunkite, jei (msg.command === "TurnOffRequest") {msg.payload = true; flow.set ('toli', tiesa); grąžinti pranešimą;
4 žingsnis: Išvada

Jei „NodeRED“prietaisų skydelį veikia WAN, visą šildymo sistemą galima valdyti nuotoliniu būdu. Rekomenduočiau perskaityti šiuos straipsnius, kad galėtumėte greičiau naudotis „NodeRED“ir „NodeRED“sauga.
- NodeRED pradedantiesiems
- „NodeRED“saugumas
Be to, jei norite gauti informaciją apie šio projekto atnaujinimus - apsvarstykite galimybę sekti mane pasirinktoje platformoje:
- Dvigubas
- Būkit
O jei norite nusipirkti man kavos ar nuolat palaikyti:
- Paypal
- Patreonas
Tikiuosi, kad jums patiko projektas!
Rekomenduojamas:
„Nest“termostatas, užimtumo stebėjimas: 12 žingsnių

„Nest“termostatas, užimtumo stebėjimas: mano namų aušinimo automatiką, naudojančią „Nest“termostatą, dar neseniai valdė IFTTT, naudodama „Life360“„pirmiausia atvykusi namo“. ir " paskutinis išeiti iš namų " paleidiklius. Tai buvo puiku, nes prie savo Li galėjau pridėti šeimos narių
„Steam Punk“jūsų UPS, kad jūsų „Wi-Fi“maršrutizatorius veiktų valandomis: 4 žingsniai (su nuotraukomis)

„Steam Punk“jūsų UPS, kad jūsų „Wi-Fi“maršrutizatorius veiktų valandomis: yra kažkas iš esmės prieštaraujančio, kad jūsų UPS konvertuotų 12 V nuolatinės srovės akumuliatoriaus energiją į 220 V kintamosios srovės maitinimą, kad transformatoriai, kuriuose veikia jūsų maršrutizatorius ir pluošto ONT, galėtų juos vėl paversti 12V DC! Jūs taip pat priešinatės [paprastai
Išmanusis termostatas ESP8266: 6 žingsniai (su nuotraukomis)

Išmanusis termostatas ESP8266: Bienvenue sur ce nouvel straipsnis. On se retrouve aujourd'hui pour un projet que j'ai réalisé durant tout ce temps libre que m'a offert le encinement. Siūlome pasiūlyti vieną, bet ne vieną efektyvią déménager dans une vieille maison et l
„HestiaPi Touch“- atidarytas išmanusis termostatas: 9 žingsniai (su nuotraukomis)

„HestiaPi Touch“- atviras išmanusis termostatas: Apie „HestiaPi Touch“„HestiaPi Touch“yra visiškai atviro kodo išmanusis termostatas jūsų namams. Visi skaitmeniniai failai ir informacija yra prieinami žemiau ir mūsų pagrindinėje svetainėje. Su juo galite stebėti savo namų temperatūrą, santykinę drėgmę ir atmosferą
„Vista-lizing“jūsų senas „XP“kompiuteris: paskutinė pamoka: 7 žingsniai

„Vista-lizing“jūsų senas „XP“kompiuteris: aukščiausia pamoka: Nuo tada, kai buvo išleista „Windows Vista“, aš visada norėjau „Vista“padidinti savo XP. Tačiau visos šios pamokos man liepė naudotis VTP. Anksčiau bandžiau VTP ir nekenčiau. Norėjau paketo, kuris neaukotų našumo, bet neradau