Orodha ya maudhui:

PUZA Thermostat yako ya Kale: Hatua 4 (na Picha)
PUZA Thermostat yako ya Kale: Hatua 4 (na Picha)

Video: PUZA Thermostat yako ya Kale: Hatua 4 (na Picha)

Video: PUZA Thermostat yako ya Kale: Hatua 4 (na Picha)
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Julai
Anonim
Image
Image
Jinsi Thermostat inavyofanya kazi
Jinsi Thermostat inavyofanya kazi

Mfumo wa joto katika nyumba yangu labda ni wa zamani kama nyumba yenyewe. Ina umri wa miaka 30, ambayo ni sawa kwa miaka ya nyumba, lakini imekwama sana katika umri wa barafu mbali na teknolojia hiyo. Kuna shida mbili kuu na suluhisho za kibiashara:

  • bei ya kukataza
  • bidhaa kama huduma

Sisi sote tunakumbuka kile kilichotokea kwa Revolv na mimi siko nia ya kuwa na hii itatokea kwangu katikati ya msimu wa baridi. Kwa kuzingatia, ninakuwasilisha na mtawala wa NEST-Alike anayetazama sana lakini anafanya kazi kwa thermostat yako ya zamani. Usijali, ninapanga mpango mzuri zaidi wa kuongezwa hivi karibuni!

vipengele:

  • uwezo wa kutumia thermostat iliyopo (ikiwa mke ataomboleza juu yake)
  • upatikanaji wa kijijini
  • Njia ya mbali
  • kiashiria bora cha joto
  • Inafanya kazi na Alexa

Hivi karibuni (angalia hapa kwa sasisho)

  • Nyumba ya Google
  • Kalenda ya Google
  • Sensorer nyingi
  • Udhibiti wa Radiator
  • Ushirikiano wa IFTT
  • Msaada wa Tasker
  • Maombi ya
  • Kioo bora zaidi

Hatua ya 1: Jinsi Thermostat inavyofanya kazi

Jinsi Thermostat inavyofanya kazi
Jinsi Thermostat inavyofanya kazi
Jinsi Thermostat inavyofanya kazi
Jinsi Thermostat inavyofanya kazi

Thermostat inawezekana imeunganishwa na HALI YA JUU! Usijaribu kufanya chochote isipokuwa umehakikisha kuwa mzunguko umezimwa. Unaweza kujidhuru na kusababisha uharibifu wa vifaa vilivyounganishwa. Fikiria kushauriana na fundi umeme aliyehitimu ili kuhakikisha usalama wako

Thermostat ya Honeywell ni kitengo kilichowekwa ukuta, kinachotumiwa na umeme (misingi ya Sonoff inahitaji min 90V, mzunguko wangu una 230V). Sanduku limeunganishwa na kitengo kuu cha kudhibiti (ambayo ni sanduku la hali ya juu zaidi) na hutuma ishara wakati joto linapungua chini ya kiwango cha lengo. Wakati kitengo chako kinaweza kuwa tofauti, kanuni hiyo inaweza kuwa sawa. Ikiwa una waya 3 na hakuna muunganisho wa redio kati ya kitengo kilichowekwa kwenye ukuta - hii ndio mafunzo kwako.

Ninajua jinsi thermostats 3-waya hufanya kazi kwa kanuni, ambayo haikunizuia kupiga fuse kwa kufupisha waya 2 kwa bahati! Nina waya 3 zilizounganishwa na kitengo (na 4 kuwa dunia). Thermostat yangu ya Honeywell sio waya, kwa hivyo kubadili ishara, naweza kutumia Sonoff Basic. Ni wakati wa kuigawanya na kuona jinsi ishara inatumwa kwa kitengo. Wakati wa ukaguzi wa karibu, terminal imeunganishwa kwa njia ifuatayo:

  1. (bluu) - Ardhi
  2. (njano) - ishara, wakati wa kuvuta juu inapokanzwa imewashwa
  3. haitumiki
  4. (nyekundu) - waya wa moja kwa moja uliotumiwa kuvuta ishara juu

Ili kufikia lengo langu, lazima nifupishe waya wa moja kwa moja na waya wa ishara wakati ninataka kupasha moto kuwashwa. Ikiwa una thermostat iliyounganishwa vile vile, una bahati kwani Sonoff Basic itatosha kufanya ujanja.

Hatua ya 2: Kupata Sonoff Basic Tayari

Kupata Sonoff ya Tayari
Kupata Sonoff ya Tayari
Kupata Sonoff ya Tayari
Kupata Sonoff ya Tayari
Kupata Sonoff ya Tayari
Kupata Sonoff ya Tayari

Kabla ya kuanza kuunganisha waya, lazima tuongeze sensor ya joto (DHT11) kwenye mchanganyiko. Hakikisha una firmware ya Tasmota imeangaza kwenye kifaa chako cha Sonoff (nina mwongozo bora wa kuangaza hapa) na Sonoff yako inayowezeshwa na Tasmota imesanidiwa kwa usahihi (pia tayari imefunikwa na mimi). Sasa, kilichobaki tu ni kuunganisha kihisi cha DHT11 kwenye Sonoff na kuisanidi kwa taarifa ya joto.

DHT11 inakuja na pini 3 zilizopigwa waya: Ishara - GPIO14Vcc - 3.3VGND - GND

Nilitoboa shimo, sina wasiwasi na jinsi inavyoonekana sasa, ninachohitaji ni uthibitisho wa dhana na uthibitisho. Nitafanya zuri nzuri na lenye kung'aa mara tu printa yangu ya 3D itakapofika. Nilizingatia zaidi jinsi ninavyotumia Sonoff kwa waya, kwani lazima nihakikishe kuwa waya ya moja kwa moja inaunganisha na waya wa ishara upande wa pili wa kifaa cha Sonoff. Kitengo cha Honeywell kina kipinga-mzigo (R) kilichojengwa ndani ambacho kinazuia sasa. Wakati mzunguko unalindwa na fyuzi ya 3A, Ni busara kulinganisha upinzani sawa na ulinzi wa ziada. Mara tu nilipokuwa nimeweka waya tayari, ilikuwa wakati wa kuzima umeme kuu na kuweka waya kwa Sonoff.

Sonoff Tasmota - Honeywell thermostat

Pembejeo Moja kwa moja - Kituo cha 4 Moja kwa Moja

Pembejeo GND - 1 terminal GND

Ishara ya OUTPUT - Ishara ya 2 ya terminal

Nilisema kabla ya hapo kwa sasa, sitasisitiza juu ya sura ya hii. Mke ameshawishika na ninaweza kuzingatia utendaji na kusafisha mende yoyote ambayo itatokea. Jambo zuri ni kwamba thermostat ya asili bado inafanya kazi. Ikiwa nitaiwasha, itashinda ile ya msingi ya Sonoff Tasmota. Hii inapaswa kuwa chelezo kubwa kwa hafla zozote zisizotarajiwa.

Hatua ya 3: NodeRED

NodeRED
NodeRED
NodeRED
NodeRED
NodeRED
NodeRED

Tafadhali kumbuka kuwa video inaweza kuwa na kumbukumbu za zamani za NodeRed, ninafanya kazi kila wakati kuboresha muundo. Hizi ni mabadiliko madogo na faili za nakala zinahifadhiwa hadi sasa

Nilipata muundo huu mkondoni. Inaonekana ni nzuri, lakini kwa ukaguzi wa karibu, widget haifai sana kwa NodeRED. Inahitaji malipo ya malipo 5 kuwekwa, ambayo sio tu jinsi muundo wa nodi unavyofanya kazi. Ilinichukua muda kujua njia bora ya kupitisha habari hiyo yote kusasisha wijeti na kuifanya iweze kufanya kazi. Nina hakika na wakati nitatumia wakati mwingi kwenye muundo ili niweze kusukuma sasisho zote zinazohitajika na kitu kimoja cha msg. Kwa sasa, ndivyo ilivyo.

Mtiririko wa joto

DHT11 inaripoti kila sekunde X kurudi kwenye seva ya NodeRED. Niliongeza mzunguko huu kupitia kiweko cha Tasmota. Endesha tu amri ya kuweka masafa kwa sekunde:

Kipindi cha TelePeriod Set telemetry kipindi kati ya sekunde 10 na 3600

Hii imefanywa zaidi kwa vipimo, kwani sitaki kusubiri kwa dakika kuona ikiwa marekebisho yangu ya mdudu yalifanya kazi. Kuweka masafa ya juu kutasababisha inapokanzwa kuwaka mara kwa mara kwa vipindi vifupi vya muda, kwa hivyo jiepushe kuiweka kwa sekunde 10 kwa madhumuni mengine ya kupima. Node ya MQTT huvuta data kutoka:

sonoff / tele / SENSOR

na huhifadhi data muhimu zaidi katika vitu vifuatavyo:

malipo ya malipo. DHT11. Joto msg.payload. DHT11. Unyenyekevu

Ili kupunguza makosa, niliongeza nodi laini ili wastani wa matokeo na kusasisha kutofautisha kwa mtiririko: NodeRED:

Node ya Kazi - Sasisha 'TempAmbient'

flow.set ('TempAmbient', msg.payload. DHT11. Joto); kurudi msg;

Sasisho la Wijeti

Niliamua kuwa sekunde 5 ni kiwango kizuri cha kuburudisha, kwa hivyo ninasukuma maadili yote yanayohitajika na masafa haya. Isipokuwa tu ni kitelezi, ambacho kwa sababu dhahiri hujibu mara moja.

Kila nodi inayolingana hutuma mzigo wa malipo na mada iliyopewa kwa wijeti inayofanana na kiota.

  • rangi (inapokanzwa | baridi * | mbali & hvac_state)
  • jani (kweli | uongo & has_ majani)
  • mbali (kweli | uwongo na mbali)
  • Muda wa hali ya hewa (nambari na joto la kawaida)
  • Kiwango lengwa (idadi na joto_lengwa)

* haitumiki

NodeRED: Node ya Kazi - Sasisho la Widget

rangi

x = mtiririko.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); // mazingira

ikiwa (z = x) {

flow.set ('heatingState', "off"); mtiririko.set ('heatingSwitch', "OFF"); } msg.payload = z; msg.topic = "joto la kawaida"; kurudi msg;

jani

x = mtiririko.get ('TempAmbient'); ikiwa (x> 17 && x <23) {flow.set ('jani', kweli); pay.payload = kweli; msg.topic = "ina_jani"; kurudi msg; } mwingine {flow.set ('jani', uwongo); malipo.pakua = uwongo; msg.topic = "ina_jani"; kurudi msg; }

Rangi mbali kupuuza

x = mtiririko.get ('mbali'); ikiwa (x === kweli) {msg.topic = "hvac_state"; msg.payload = "off"; kurudi msg; }

msg.topic = "hvac_state";

malipo.payload = flow.get ('heatingState');

kurudi msg;

Mbali

x = mtiririko.get ('mbali'); ikiwa (x === kweli) {flow.set ('heatingSwitch', "OFF"); flow.set ('heatingState', "off"); }

msg.topic = "mbali";

mlipaji = mtiririko.get ('mbali'); kurudi msg;

Lengo Lengo

ikiwa (msg.topic === "sasisho") {msg.topic = "target_temperature"; msgpayload = flow.get ('TempTarget'); kurudi msg; }

ikiwa (msg.command === "SetTargetTemperatureRequest") {

mtiririko.set ('mbali', uwongo); msg.topic = "lengo_joto"; flow.set ('TempTarget', msg.payload); }

ikiwa (msg.topic === "slider") {

mtiririko.set ('mbali', uwongo); msg.topic = "lengo_joto"; flow.set ('TempTarget', msg.payload); }

ikiwa (msg.command === "GetTemperatureReadingRequest") {}

kurudi msg;

Kama unavyoona, nilichagua chaguzi za mtiririko, kwa hivyo niliweza kukumbuka thamani wakati wowote. Nina mtiririko wa utatuzi ambao kimsingi unasoma maadili yote yaliyohifadhiwa.

  • ‘TempAmbinet’ - huhifadhi hali ya sasa
  • 'TempTarget' - inashikilia thamani ya lengo la temp
  • ‘Jani’ - huonyesha jani ikihitajika
  • ‘Mbali’ - huonyesha hali ya mbali ikiwa inahitajika
  • 'HeatState' - hubadilisha rangi ya onyesho
  • 'SwitchSwitch' - inadhibiti hali ya relay.

Changamoto ilikuwa kuhakikisha kwamba habari inasasishwa kwenye "sasisho" na ikiombwa kupitia njia zingine (Alexa, nk). Hii ndio sababu utaona hali tofauti kwenye JavaScript. Kila wakati maadili yanasasishwa, yanatumwa kwa ubadilishaji wa mtiririko na wijeti inaburudishwa.

Kitelezi

Upimaji ulifunua kuwa sasisho la ziada la kitelezi (kitelezi kinasukuma joto lengwa) inahitajika. Slider hutuma mzigo wa malipo (nambari) na mada inayohusiana slider) wakati inahamishwa. Juu ya hii, ninataka kitelezi kiingie katika nafasi sahihi ikiwa njia nyingi za wavuti ziko. Ili kufanya hivyo, kila sekunde 5 ninasasisha tu nafasi ya kutelezesha kwa joto la sasa la lengo.

NodeRED: Node ya Kazi - Sasisha kitelezi '

msg.payload = flow.get ('TempTarget'); kurudi msg;

Udhibiti wa relay

Mdhibiti wa relay ni rahisi, inachukua (kwa sasa) pembejeo mbili. Ya kweli ya Alexa | uwongo na mwingiliano ambao unafuata sasisho kwa ubadilishaji wa mtiririko wa "Inapokanzwa Kubadilisha". Hakuna haja ya hatua ya papo hapo, kwa hivyo kwa unyenyekevu, inaendesha kwa masafa sawa ya sasisho la 5sec kama mtiririko wote.

Relay imeunganishwa kupitia MQTT. Node inachapisha ON | Amri za OFF kwa mada:

sonoff / cmnd / NGUVU1

Node ya kazi inakubali kweli | ya uwongo kutoka kwa Alexa na pia hubadilisha hali ya pembejeo kulingana na ubadilishaji wa mtiririko wa 'heatSwitch'.

NodeRED: Node ya Kazi - Udhibiti wa Kupokea '

ikiwa (msg.command === "TurnOffRequest") {msg.payload = "OFF"; kurudi msg; }

ikiwa (msg.command === "TurnOnRequest") {

msg.payload = "ILIYO"; mtiririko.set ('TempTarget', 21); kurudi msg; } ikiwa (msg.topic === "sasisho") {msg.payload = flow.get ('heatingSwitch'); } kurudi msg;

Ushirikiano wa Alexa

Hii ndio kifaa cha kwanza nililazimika kuzima "auto auto". Badala ya kudhani majibu moja kwa moja nimetengeneza moja kwani ninataka uwezo wa kuuliza joto lililowekwa. Kimsingi, msg.payload = true | uongo unaonyesha ikiwa ombi limefanikiwa, na templeti zinazopatikana hapa hufanya zingine. Ikiwa wewe ni mpya kwa Alexa na NodeRed, hakikisha kusoma hii.

Niliamua kupitisha vielelezo tofauti (najua hii sio njia bora zaidi) kuweza kudhibiti yote vizuri zaidi. Kwa usahihi kila jibu linapaswa kutolewa mwishoni mwa mlolongo wa amri. Mgodi unahatarisha kutokurudisha makosa ikiwa haya yatatokea. Kumbuka, kuwa sawa, mimi husasisha tu vigeuzi, wakati kitanzi cha kuonyesha upya, kinasukuma maadili mapya kwenye wijeti.

NodeRED: Node ya Kazi - Mchakato Majibu ya Alexa '

// Je! Joto la lengo la thermostat ni nini (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"kusoma joto": {"thamani": x}, "applianceResponseTimestamp": Tarehe mpya (). toISOString ()}; pay.payload = kweli; kurudi msg; } // Weka joto kuwa (sio chini ya 10 au zaidi ya 30) ikiwa (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10.0, max: 30.0} malipo.pakua = uwongo; msg.extra = masafa; } mwingine {msg.extra = {targetTemperature: {value: msg.payload}}; pay.payload = kweli; } kurudi msg; } // Washa ikiwa (msg.command === "TurnOnRequest") {msg.payload = kweli; mtiririko.set ('mbali', uwongo); mtiririko.set ('TempTarget', 21); kurudi msg; } // Zima ikiwa (msg.command === "TurnOffRequest") {msg.payload = kweli; mtiririko.set ('mbali', kweli); kurudi msg;

Hatua ya 4: Hitimisho

Hitimisho
Hitimisho

Ukifunua dashibodi ya NodeRED kwa WAN mfumo mzima wa joto unaweza kudhibitiwa kwa mbali. Ninakupendekeza usome nakala zifuatazo ili upate kasi na usalama wa NodeRED na NodeRED.

  • NodeRED kwa Kompyuta
  • Usalama wa NodeRED

Kwa kuongezea, ikiwa unataka kupata habari juu ya sasisho za mradi huu - fikiria kunifuata kwenye jukwaa la chaguo lako:

  • Facebo sawa
  • Twi tter
  • Instagram
  • Unapaswa kuwa

Na ikiwa unahisi kuninunulia kahawa au kunisaidia kwa njia inayoendelea zaidi:

  • Paypal
  • Patreon

Natumahi umefurahiya mradi!

Ilipendekeza: