Sisukord:
- Samm: kuidas termostaat töötab
- 2. samm: Sonoff Basicu ettevalmistamine
- 3. samm: NodeRED
- 4. samm: järeldus
Video: PESTA vana termostaat: 4 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Minu maja küttesüsteem on ilmselt sama vana kui maja ise. See on umbes 30 aastat vana, mis on maja-aastate osas hea, kuid tehnoloogia osas on see jääajaga peaaegu kinni jäänud. Kaubanduslikel lahendustel on kaks peamist probleemi:
- keelav hind
- toode teenusena
Me kõik mäletame, mis Revolviga juhtus, ja ma pole eriti huvitatud sellest, et see minuga keset talve juhtuks. Seda silmas pidades esitlen teile vana termostaadi jaoks uskumatult kahtlase välimusega, kuid funktsionaalse NEST-Alike kontrolleri. Ärge muretsege, mul on plaanis peagi lisada palju parem korpus!
Funktsioonid:
- võimalus kasutada olemasolevat termostaati (juhuks, kui naine selle pärast nuriseb)
- kaugjuurdepääs
- AWAY režiim
- optimaalne temperatuuri indikaator
- Töötab koos Alexaga
Varsti (värskendusi leiate siit)
- Google'i avaleht
- Google'i kalender
- Mitu andurit
- Radiaatori juhtseadised
- IFTT integratsioonid
- Taskeri tugi
- HTTP taotlused
- Palju parema välimusega korpus
Samm: kuidas termostaat töötab
Termostaat on tõenäoliselt ühendatud kõrgepingega! Ärge proovige midagi teha, kui pole veendunud, et vooluring on välja lülitatud. Võite ennast kahjustada ja kahjustada ühendatud seadmeid. Kaaluge oma ohutuse tagamiseks nõu kvalifitseeritud elektrikuga
Honeywelli termostaat on seinale paigaldatav seade, mis töötab vooluvõrgust (Sonoffi põhitõed vajavad vähemalt 90 V, minu vooluahelal on 230 V). Kast on ühendatud peamise juhtimisseadmega (mis on täpsem kast) ja saadab signaali, kui temperatuur langeb allapoole sihttaset. Kuigi teie seade võib olla erinev, on põhimõte tõenäoliselt sama. Kui teil on 3 juhet ja seinale paigaldatud seadme vahel puudub raadioühendus-see on teie jaoks õpetus.
Ma tean, kuidas 3-juhtmelised termostaadid põhimõtteliselt töötavad, mis ei takistanud mind sulavkaitset puhumast, juhuslikult kahe juhtme lühistades! Mul on seadmega ühendatud 3 juhtmest (neljas on maandus). Minu Honeywelli termostaat ei ole traadita, nii et saan signaali vahetamiseks kasutada Sonoff Basicut. On aeg see lahti võtta ja vaadata, kuidas signaal seadmesse saadetakse. Lähemal vaatlusel ühendatakse terminal järgmiselt.
- (sinine) - maapind
- (kollane) - signaal, kõrgele tõmmates on küte sisse lülitatud
- ei ole kasutuses
- (punane) - pingestatud juhe, mida kasutatakse signaali kõrgeks tõmbamiseks
Eesmärgi saavutamiseks pean voolujuhtme signaalijuhtmega lühistama, kui soovin, et küte oleks sisse lülitatud. Kui teil on sarnaselt ühendatud termostaat, on teil õnne, sest Sonoff Basicust piisab selle triki tegemiseks.
2. samm: Sonoff Basicu ettevalmistamine
Enne juhtmete ühendamise alustamist peame segule lisama temperatuurianduri (DHT11). Veenduge, et teie Sonoffi seadmesse oleks installitud Tasmota püsivara (mul on siin suurepärane vilkumisjuhend) ja teie Tasmota-toega Sonoff on õigesti konfigureeritud (ka minu poolt juba kaetud). Nüüd jääb teil vaid ühendada DHT11 andur Sonoffiga ja konfigureerida see temperatuuri aruandluseks.
DHT11 on varustatud 3 juhtmega juhtmega: signaal - GPIO14Vcc - 3.3VGND - GND
Tegin augu läbi, mind ei häiri, kuidas see praegu välja näeb, vajan vaid kontseptsiooni tõestust ja valideerimist. Teen 3D -printeri saabudes kena ja läikiva korpuse. Pöörasin täiendavat tähelepanu Sonoffi juhtmestikule, kuna pean veenduma, et pingestatud juhe ühendub Sonoffi seadme teises otsas oleva signaalijuhtmega. Honeywelli seadmel on sisseehitatud koormustakisti (R), mis piirab voolu. Kuigi vooluahelat kaitseb 3A kaitse, on lisakaitse tagamiseks nutikas sobitada sama takistus. Kui mul olid juhtmed valmis, oli aeg põhitoide välja lülitada ja Sonoff tagasi juhtida.
Sonoff Tasmota - Honeywelli termostaat
INPUT Live - 4. terminal Live
INPUT GND - 1. terminal GND
VÄLJUNDI signaal - 2. terminali signaal
Ma mainisin varem, et praegu ei hakka ma selle välimuse pärast rõhutama. Naine on selles veendunud ja ma saan keskenduda funktsionaalsusele ja võimalike vigade kõrvaldamisele. Hea on see, et algne termostaat töötab endiselt. Kui ma selle üles keeran, tühistab see Sonoff Tasmota -põhise. See peaks olema suurepärane varukoopia ootamatute sündmuste jaoks.
3. samm: NodeRED
Pange tähele, et video võib sisaldada vanemaid NodeRed viiteid, ma töötan pidevalt disaini täiustamise nimel. Need on väikesed muudatused ja artiklifailid hoitakse ajakohasena
Ma leidsin selle disaini Internetis. See näeb hea välja, kuid lähemal vaatlusel ei sobi vidin NodeRED -i jaoks tegelikult. Selle seadistamiseks on vaja 5 kasulikku koormust, mis lihtsalt ei toimi nii nagu sõlmede disain. Mul kulus natuke aega, et leida parim viis kogu selle teabe edastamiseks vidina värskendamiseks ja selle toimimiseks. Olen kindel, et aja jooksul kulutan disainile rohkem aega, et saaksin ühe vajaliku värskenduse üheainsa sõnumi objektiga lükata. Praegu on see see, mis see on.
Temperatuuri vool
DHT11 teatab iga X sekundi tagant NodeRED -serverile. Ma suurendasin seda sagedust Tasmota konsooli kaudu. Lihtsalt käivitage käsk, et määrata sagedus sekundites:
TelePeriod Määrake telemeetria periood vahemikus 10 kuni 3600 sekundit
Seda tehakse enamasti testide jaoks, kuna ma ei taha mitu minutit oodata, et näha, kas minu veaparandused toimisid. Sageduse kõrgel hoidmine põhjustab kuumutamist sagedamini lühema aja jooksul, nii et ärge seadke seda 10 sekundiks muul kui testimise eesmärgil. MQTT sõlm tõmbab andmed:
sonoff/tele/SENSOR
ja hoiab kõige kasulikumaid andmeid järgmistes objektides:
msg.payload. DHT11. Temperatuur msg.payload. DHT11. Niiskus
Vigade piiramiseks lisasin tulemuste keskmiseks sujuva sõlme ja uuendasin voo muutujat: NodeRED:
Funktsioonisõlm - värskendage 'TempAmbient'
flow.set ('TempAmbient', msg.payload. DHT11. Temperature); return msg;
Vidina värskendus
Otsustasin, et 5 sekundit on hea värskendussagedus, seetõttu vajutan selle sagedusega kõiki vajalikke väärtusi. Ainus erand on liugur, mis arusaadaval põhjusel reageerib koheselt.
Iga vastav sõlm saadab kasulikku koormust koos määratud teemaga pesale sarnasele vidinale.
- värv (küte | jahutus*| väljas & hvac_state)
- leht (tõene | vale ja has_leaf)
- eemal (tõsi | vale ja eemal)
- Ümbritsev temperatuur (arv ja ümbritseva õhu temperatuur)
- Sihttemperatuur (arv ja sihttemperatuur)
*ei ole kasutuses
NodeRED: funktsioonisõlm - vidinate värskendus
värvi
x = flow.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); // ümbritsev
kui (z = x) {
flow.set ('heatState', "väljas"); flow.set ('HeatSwitch', "OFF"); } msg.payload = z; msg.topic = "ümbritseva keskkonna temperatuur"; tagasiside;
leht
x = flow.get ('TempAmbient'); if (x> 17 && x <23) {flow.set ('leaf', true); msg.payload = true; msg.topic = "has_leaf"; tagasiside; } else {flow.set ('leaf', false); msg.payload = vale; msg.topic = "has_leaf"; tagasiside; }
Värvi eemaldamine
x = flow.get ('ära'); if (x === true) {msg.topic = "hvac_state"; msg.payload = "väljas"; tagasiside; }
msg.topic = "hvac_state";
msg.payload = flow.get ('heatState');
tagasiside;
Eemal
x = flow.get ('ära'); if (x === true) {flow.set ('soojenduslüliti', "VÄLJAS"); flow.set ('heatState', "väljas"); }
msg.topic = "ära";
msg.payload = flow.get ('ära'); tagasiside;
Sihttemperatuur
if (msg.topic === "update") {msg.topic = "target_temperature"; msg.payload = flow.get ('TempTarget'); tagasiside; }
if (msg.command === "SetTargetTemperatureRequest") {
flow.set ('ära', vale); msg.topic = "sihtmärgi temperatuur"; flow.set ('TempTarget', msg.payload); }
if (msg.topic === "liugur") {
flow.set ('ära', vale); msg.topic = "sihtmärgi temperatuur"; flow.set ('TempTarget', msg.payload); }
kui (msg.command === "GetTemperatureReadingRequest") {}
tagasiside;
Nagu näete, loobusin voo muutujatest, et saaksin väärtuse igal ajal meelde tuletada. Mul on silumisvoog, mis põhimõtteliselt loeb kõiki salvestatud väärtusi.
- 'TempAmbinet' - salvestab praeguse temperatuuri
- 'TempTarget' - hoiab temp sihtmärgi väärtust
- ‘Leht’ - kuvab vajadusel lehe
- ‘Eemal’ - kuvab vajadusel eemaloleku
- „HeatState” - muudab ekraani värvi
- "HeatSwitch" - juhib relee olekut.
Väljakutseks oli tegelikult veenduda, et teavet värskendatakse värskendamise ajal ja kui seda küsitakse muul viisil (Alexa jne). Seetõttu näete JavaScriptis erinevaid tingimusi. Iga kord, kui väärtusi värskendatakse, saadetakse need voo muutujale ja vidinat värskendatakse.
Liugur
Testimisel selgus, et on vaja täiendavat liuguri värskendust (liugur surub sihttemperatuuri). Liugur saadab teisaldamisel kasulikku koormust (numbrit) koos seotud teemaga „liugur”. Lisaks soovin, et liugur jõuaks õigesse asendisse, kui on olemas mitu veebiliidest. Selleks värskendan iga 5 sekundi tagant lihtsalt liuguri asendit praegusele sihttemperatuurile.
NodeRED: funktsioonisõlm - liuguri värskendamine
msg.payload = flow.get ('TempTarget'); return msg;
Relee juhtimine
Releekontroller on lihtne, selleks kulub (praegu) kaks sisendit. Alexa on tõene | vale ja interaktsioon, mis järgneb voolu muutuja „kütte lüliti” värskendamisele. Koheseid toiminguid pole vaja teha, nii et lihtsuse huvides töötab see samal 5 sekundilise värskendussagedusega nagu ülejäänud voog.
Relee on ühendatud MQTT kaudu. Sõlm postitab teemale ON | OFF käsud:
sonoff/cmnd/POWER1
Funktsioonisõlm võtab Alexast vastu tõese | vale ja muudab ka sisendi olekut vastavalt voo muutujale „HeatSwitch”.
NodeRED: Funktsioonisõlm - juhtrelee
if (msg.command === "TurnOffRequest") {msg.payload = "VÄLJAS"; tagasiside; }
if (msg.command === "TurnOnRequest") {
msg.payload = "SEES"; flow.set ('TempTarget', 21); tagasiside; } if (msg.topic === "update") {msg.payload = flow.get ('heatSwitch'); } tagasiside;
Alexa integratsioon
See on esimene seade, mille pidin automaatse kinnitamise välja lülitama. Selle asemel, et automaatselt vastust eeldada, olen selle loonud, kuna soovin, et oleks võimalik küsida määratud temperatuuri. Põhimõtteliselt näitab msg.payload = true | false, kas taotlus on õnnestunud, ja siin leitud mallid teevad ülejäänu. Kui olete Alexa ja NodeRedi uus kasutaja, lugege seda kindlasti.
Otsustasin tunnustused eraldi edastada (ma tean, et see pole parim viis), et saaksin seda kõike natuke paremini kontrollida. Korralikult tuleks iga vastus anda käsuahela lõpus. Minu oma riskib vigade tagastamata jätmisega, kui need juhtuvad. Pange tähele, et järjepidevuse huvides värskendan ma ainult muutujaid, samal ajal kui värskendussilmus lükkab uued väärtused vidinale üle.
NodeRED: Funktsioonisõlm - Alexa vastuste töötlemine
// Mis on termostaadi sihttemperatuurif (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"value": x}, "deviceResponseTimestamp": uus kuupäev (). toISOString ()}; msg.payload = true; tagasiside; } // Määrake temperatuuriks (mitte madalam kui 10 või üle 30), kui (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10,0, max: 30,0} msg.payload = vale; msg.extra = vahemik; } else {msg.extra = {targetTemperature: {value: msg.payload}}; msg.payload = true; } tagasiside; } // Lülitage see sisse, kui (msg.command === "TurnOnRequest") {msg.payload = true; flow.set ('ära', vale); flow.set ('TempTarget', 21); tagasiside; } // Lülita see välja, kui (msg.command === "TurnOffRequest") {msg.payload = true; flow.set ('ära', tõsi); tagasiside;
4. samm: järeldus
Kui paljastate NodeRED armatuurlaua WAN -i, saab kogu küttesüsteemi kaugjuhtida. Soovitan teil lugeda järgmisi artikleid, et NodeRED ja NodeRED turvalisusega kiiremaks saada.
- NodeRED algajatele
- NodeRED turvalisus
Lisaks, kui soovite saada teavet selle projekti värskenduste kohta - kaaluge minu jälgimist teie valitud platvormil:
- Facebo korras
- Kaks korda
- Youtube
Ja kui soovite osta mulle kohvi või toetada mind järjepidevamal viisil:
- Paypal
- Patreon
Loodan, et teile meeldis projekt!
Soovitan:
Nutikas termostaat ESP8266: 6 sammu (piltidega)
Nutikas termostaat ESP8266: Bienvenue sur ce nouvel artikkel. On se retrouve aujourd'hui pour un projet que j'ai réalisé durant tout ce temps libre que m'a offert le encinement. Ce projet m'a été proposé par mon père, en effet il vient de déménager dans une vieille maison et l
HestiaPi Touch - nutikas termostaat: 9 sammu (piltidega)
HestiaPi Touch - avatud nutikas termostaat: HestiaPi Touchi kohta HestiaPi Touch on teie kodu jaoks täiesti avatud lähtekoodiga nutikas termostaat. Kõik digitaalsed failid ja teave on saadaval allpool ja meie veebisaidil. Selle abil saate jälgida oma kodu temperatuuri, suhtelist õhuniiskust ja õhuruumi
Ühendatud termostaat: 6 sammu (piltidega)
Ühendatud termostaat: Kodu temperatuuri täpne jälgimine on kindlasti üks parimaid viise oma energiaarve säästmiseks. Samal ajal soovite tunda end hästi soojas kodus talvisel ajal. Minu praegune termostaat võimaldab ainult staatilist programmeerimist: I
Propagaatori termostaat ESP8266/NodeMCU ja Blynk abil: 7 sammu (piltidega)
Propagaatori termostaat, kasutades ESP8266/NodeMCU ja Blynk: Ostsin hiljuti soojendusega paljundusmasina, mis peaks aitama mu lille- ja köögiviljaseemneid hooaja alguses idanema panna. See tuli ilma termostaadita. Ja kuna termostaadid on üsna kallid, otsustasin ise teha. Nagu ma tahtsin kasutada
Arduino Kombucha termostaat: 3 sammu (piltidega)
Arduino Kombucha termostaat: Ma olen alati Kombuchat armastanud, kuid poes on see nii kallis. Umbes 4 dollarit 12 oz kohta. ma ei saaks endale lubada seda nii palju juua kui soovisin. Vaatasin oma kombucha valmistamist ja mõistsin, et see pole üldse nii raske ega nõudnud