Taula de continguts:
Vídeo: NIU el seu antic termòstat: 4 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
El sistema de calefacció de casa meva és probablement tan antic com la mateixa casa. Té uns 30 anys, cosa que està molt bé pel que fa als anys de casa, però pràcticament atrapat a l’era glacial pel que fa a la tecnologia. Hi ha dos problemes principals amb les solucions comercials:
- preus prohibitius
- producte com a servei
Tots recordem el que li va passar a Revolv i no tinc gaire ganes que això em passi a mi en ple hivern. Amb això en ment, us presento un controlador NEST-Alike d’aspecte increïble, però funcional, per al vostre termòstat antic. No us preocupeu, estic pensant en afegir un recinte molt millor aviat.
Característiques:
- capacitat d'utilitzar un termòstat existent (en cas que la dona es queixi)
- accés remot
- Mode FORA
- indicador de temperatura òptima
- Funciona amb Alexa
Aviat (consulteu aquí si hi ha actualitzacions)
- Google Home
- Google Calendar
- Sensors múltiples
- Comandaments del radiador
- Integracions IFTT
- Suport de tasques
- Sol·licituds
- Un recinte molt millor
Pas 1: Com funciona un termòstat
És probable que el termòstat estigui connectat a l’ALTA TENSIÓ. No intenteu fer res a menys que us assegureu que el circuit està apagat. Podeu fer-vos mal i provocar danys a l’equip connectat. Penseu en la possibilitat de consultar un electricista qualificat per garantir la vostra seguretat
El termòstat Honeywell és una unitat de paret, alimentat per la xarxa elèctrica (els fonaments bàsics de Sonoff necessiten un mínim de 90 V, el meu circuit té 230 V). La caixa està connectada a la unitat de control principal (que és una caixa més avançada) i envia el senyal quan la temperatura baixa per sota del nivell objectiu. Tot i que la vostra unitat pot ser diferent, és probable que el principi sigui el mateix. Si teniu 3 cables i no teniu cap connexió de ràdio entre la unitat de paret, aquest és el vostre tutorial.
Sé com funcionen els termòstats de 3 fils en principi, cosa que no em va impedir fer saltar un fusible en curtcircuitar 2 cables per accident. Tinc 3 cables connectats a la unitat (el quart és la terra). El meu termòstat Honeywell no és sense fil, de manera que per canviar el senyal puc utilitzar Sonoff Basic. És hora de desmuntar-lo i veure com s’envia el senyal a la unitat. Després d’una inspecció més detallada, el terminal es connecta de la següent manera:
- (blau) - Terra
- (groc): senyal, quan es posa alt, la calefacció està activada
- no s’utilitza
- (vermell): el fil conductor utilitzat per elevar el senyal
Per assolir el meu objectiu, he de curtcircuitar el fil conductor amb el fil de senyal quan vull que s’encengui la calefacció. Si teniu un termòstat connectat de manera similar, esteu de sort, ja que Sonoff Basic n’hi haurà prou per fer el truc.
Pas 2: Preparació de Sonoff Basic
Abans de començar a connectar els cables, hem d’afegir un sensor de temperatura (DHT11) a la barreja. Assegureu-vos que teniu el firmware de Tasmota llampat al dispositiu Sonoff (tinc una excel·lent guia de parpelleig aquí) i que el vostre Sonoff compatible amb Tasmota està configurat correctament (també jo ja estic cobert). Ara només us queda connectar el sensor DHT11 al Sonoff i configurar-lo per informar de la temperatura.
DHT11 ve amb 3 pins cablejats: Signal - GPIO14Vcc - 3.3VGND - GND
Vaig fer un forat, no em molesta la forma en què es veu ara, tot el que necessito és la prova del concepte i la validació. Faré un recinte agradable i brillant un cop arribi la meva impressora 3D. Vaig prestar una atenció especial a la manera de connectar el Sonoff, ja que he d’assegurar-me que el cable actiu es connecti al cable de senyal de l’altre extrem del dispositiu Sonoff. La unitat Honeywell té la resistència de càrrega (R) construïda a l'interior que limita el corrent. Tot i que el circuit està protegit pel fusible 3A, és intel·ligent que coincideixi amb la mateixa resistència per obtenir una protecció addicional. Quan ja tenia els cables preparats, era el moment d’apagar l’alimentació principal i tornar a connectar el Sonoff.
Sonoff Tasmota: termòstat Honeywell
INPUT Live - 4t terminal Live
INPUT GND - 1r terminal GND
Senyal OUTPUT: 2n senyal de terminal
Abans ho he esmentat per ara, que no m’estressaré sobre la seva aparença. La dona està convençuda i puc centrar-me en la funcionalitat i eliminar tots els errors que passin. El millor és que el termòstat original encara funciona. Si ho faig servir, substituirà la basada en Sonoff Tasmota. Aquesta hauria de ser una gran còpia de seguretat per a esdeveniments inesperats.
Pas 3: NodeRED
Tingueu en compte que el vídeo pot contenir referències antigues de NodeRed. Estic treballant constantment per millorar el disseny. Es tracta de petits canvis i els fitxers d’articles es mantenen actualitzats
Em vaig trobar amb aquest disseny en línia. Sembla fantàstic, però, després d'una inspecció detallada, el widget no és adequat per a NodeRED. Cal configurar 5 càrregues útils, cosa que no és com funciona el disseny de nodes per igual. Vaig trigar una mica a esbrinar la millor manera de passar tota aquesta informació per actualitzar el widget i mantenir-lo funcional. Estic segur que amb el temps dedicaré més temps al disseny per poder introduir totes les actualitzacions necessàries amb un sol objecte msg. De moment, és el que és.
Corrent de temperatura
DHT11 torna cada X segons al servidor NodeRED. He augmentat aquesta freqüència a través de la consola de Tasmota. Només cal que executeu l'ordre per establir la freqüència en segons:
TelePeriod Estableix el període de telemetria entre 10 i 3600 segons
Això es fa sobretot per a proves, ja que no vull esperar uns minuts per veure si les meves solucions d’errors funcionaven. Si mantingueu una freqüència elevada, la calefacció es dispararà amb més freqüència durant períodes de temps més curts, així que abstingueu-la de configurar-la a 10 segons per altres motius que no siguin proves. El node MQTT extreu les dades de:
sonoff / tele / SENSOR
i conserva les dades més útils en els objectes següents:
msg.payload. DHT11. Temperature msg.payload. DHT11. Humidity
Per limitar els errors, he afegit el node suau per fer una mitjana dels resultats i he actualitzat la variable de flux: NodeRED:
Node de funció: actualitzeu el "TempAmbient"
flow.set ('TempAmbient', msg.payload. DHT11. Temperature); retorn msg;
Actualització de widgets
Vaig decidir que 5 segons és una bona freqüència d’actualització, per tant, estic pressionant tots els valors necessaris amb aquesta freqüència. L'única excepció és el control lliscant, que per una raó òbvia respon a l'instant.
Cada node corresponent envia la càrrega útil amb el tema assignat al widget niu.
- color (calefacció | refrigeració * | apagat i estat_hvac)
- fulla (veritable | fals i has_leaf)
- fora (veritable | fals i fora)
- Temperatura ambient (nombre i temperatura_ambient)
- Temp objectiu (número i temperatura_destinatòria)
* no s'utilitza
NodeRED: Node de funció: actualització de widgets
color
x = flow.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); // ambient
si (z = x) {
flow.set ('HeatingState', "off"); flow.set ('HeatingSwitch', "OFF"); } msg.payload = z; msg.topic = "temperatura_ambient"; retorn msg;
full
x = flow.get ('TempAmbient'); if (x> 17 && x <23) {flow.set ('full', cert); msg.payload = cert; msg.topic = "has_leaf"; retorn msg; } else {flow.set ('full', fals); msg.payload = fals; msg.topic = "has_leaf"; retorn msg; }
Anul·lar el color
x = flow.get ('away'); if (x === true) {msg.topic = "hvac_state"; msg.payload = "desactivat"; retorn msg; }
msg.topic = "estat_hvac";
msg.payload = flow.get ('HeatingState');
retorn msg;
Lluny
x = flow.get ('away'); if (x === true) {flow.set ('HeatingSwitch', "OFF"); flow.set ('HeatingState', "off"); }
msg.topic = "fora";
msg.payload = flow.get ('fora'); retorn msg;
Temp objectiu
if (msg.topic === "update") {msg.topic = "target_temperature"; msg.payload = flow.get ('TempTarget'); retorn msg; }
if (msg.command === "SetTargetTemperatureRequest") {
flow.set ('lluny', fals); msg.topic = "temperatura_diana"; flow.set ('TempTarget', msg.payload); }
if (msg.topic === "control lliscant") {
flow.set ('lluny', fals); msg.topic = "temperatura_diana"; flow.set ('TempTarget', msg.payload); }
if (msg.command === "GetTemperatureReadingRequest") {}
retorn msg;
Com veieu, he optat per les variables de flux per poder recordar el valor en cada moment. Tinc un flux de depuració que bàsicament llegeix tots els valors emmagatzemats.
- "TempAmbinet": emmagatzema la temperatura actual
- "TempTarget": manté el valor objectiu temporal
- "Fulla": mostra la fulla si cal
- "Fora": mostra l'estat de distància si és necessari
- "HeatingState": canvia el color de la pantalla
- ‘HeatingSwitch’: controla l’estat del relé.
El repte consistia a assegurar-se que la informació s'actualitza en "actualitzar" i quan se sol·licita per altres mitjans (Alexa, etc.). És per això que veureu diferents condicions al JavaScript. Cada vegada que s’actualitzen els valors, s’envien a la variable de flux i s’actualitza el giny.
Control lliscant
Les proves van revelar que es necessita una actualització addicional del control lliscant (el control lliscant empeny la temperatura objectiu). El control lliscant envia la càrrega útil (número) amb el tema associat "control lliscant" quan es mou. A més, vull que el control lliscant arribi a la posició correcta si hi ha diverses interfícies web. Per fer-ho, cada 5 segons simplement actualitzo la posició del control lliscant a una temperatura objectiu actual.
NodeRED: Function Node: control lliscant d'actualització '
msg.payload = flow.get ('TempTarget'); retorn msg;
Control de relés
El controlador de relé és senzill, necessita (per ara) dues entrades. Alexa | true | false i la interacció que segueix una actualització de la variable de flux "interruptor de calefacció". No cal fer cap acció instantània, de manera que, per la seva simplicitat, funciona amb la mateixa freqüència d’actualització de 5 segons que la resta del flux.
El relé es connecta mitjançant MQTT. El node publica comandes ON | OFF al tema:
sonoff / cmnd / POWER1
El node de la funció accepta el vertader | fals d’Alexa i també canvia l’estat de l’entrada segons la variable de flux ‘heatingSwitch’.
NodeRED: node de funció: relé de control '
if (msg.command === "TurnOffRequest") {msg.payload = "OFF"; retorn msg; }
if (msg.command === "TurnOnRequest") {
msg.payload = "ACTIVAT"; flow.set ('TempTarget', 21); retorn msg; } if (msg.topic === "actualitzar") {msg.payload = flow.get ('HeatingSwitch'); } return msg;
Integració amb Alexa
Aquest és el primer dispositiu que he tingut per desactivar el "reconeixement automàtic". En lloc d'assumir automàticament una resposta, n'he generat una, ja que vull la possibilitat de consultar la temperatura establerta. En principi, msg.payload = true | false indica si la sol·licitud ha estat satisfactòria, i les plantilles que es troben aquí fan la resta. Si no coneixeu Alexa i NodeRed, no oblideu llegir-ho.
Vaig decidir passar els agraïments per separat (sé que aquesta no és la millor manera) per poder controlar-ho una mica millor. S’ha de donar correctament cada resposta al final de la cadena d’ordres. El meu corre el risc de no tornar errors en cas que es produeixin. Tingueu en compte que, per ser coherent, només actualitzo les variables, mentre que el bucle d’actualització empeny els nous valors al widget.
NodeRED: Node de funció: processa les respostes d'Alexa
// Quina és la temperatura objectiu del termòstat si (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"value": x}, "applianceResponseTimestamp": new Date (). toISOString ()}; msg.payload = cert; retorn msg; } // Estableix la temperatura a (no inferior a 10 ni superior a 30) si (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10.0, max: 30.0} msg.payload = fals; msg.extra = rang; } else {msg.extra = {targetTemperature: {value: msg.payload}}; msg.payload = cert; } return msg; } // Activa-ho si (msg.command === "TurnOnRequest") {msg.payload = true; flow.set ("lluny", fals); flow.set ('TempTarget', 21); retorn msg; } // Desactiveu-lo si (msg.command === "TurnOffRequest") {msg.payload = true; flow.set ('lluny', cert); retorn msg;
Pas 4: Conclusió
Si exposeu el tauler de control NodeRED a WAN, es pot controlar tot el sistema de calefacció de forma remota. Us recomanaria que llegiu els articles següents per posar-vos al dia amb la seguretat NodeRED i NodeRED.
- NodeRED per a principiants
- Seguretat NodeRED
A més, si voleu obtenir informació sobre les actualitzacions d’aquest projecte, penseu a seguir-me a la plataforma que trieu:
- Facebo bé
- Twi tter
- Tu ho seràs
I si teniu ganes de comprar-me un cafè o de donar-me suport d’una manera més continuada:
- Paypal
- Patreó
Espero que us hagi agradat el projecte!
Recomanat:
Subministrament d'alimentació amb un cable USB antic: 4 passos (amb imatges)
Subministreu energia amb un cable USB antic: dificultat: e s s .. Tallar i empalmar cables Si teniu algun cable USB antic, per què no fer alguna cosa útil? Necessitava una manera d'alimentar la meva placa Arduino sense utilitzar el cable USB proporcionat perquè era massa l
Mirall màgic intel·ligent flotant des de l’ordinador portàtil antic amb reconeixement de veu Alexa: 6 passos (amb imatges)
Mirall màgic intel·ligent flotant des de l’ordinador portàtil antic amb reconeixement de veu Alexa: inscriviu-vos al meu curs “Electrònica en poques paraules” aquí: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Consulteu també el meu canal de youtube aquí per obtenir més projectes i tutorials d'electrònica: https://www.youtube.com/channel/UCelOO
DIY Amplificador de 600 watts amb ordinador antic SMPS: 9 passos (amb imatges)
Amplificador DIY de 600 watts amb ordinador antic SMPS: Ei! tothom El meu nom és Steve.Avui us mostraré com fer un amplificador de 600 watts amb font d'alimentació per ordinador Feu clic aquí per veure el vídeo Comencem
Placa posterior decorativa del niu: 7 passos (amb imatges)
Placa posterior decorativa Nest: és útil per a un marc de filferro decoratiu per al termòstat Nest. Podeu utilitzar la mateixa tècnica en les imatges que vulgueu. Si la vostra obra d'art necessita cablejat en lloc d'envoltar-la, apagueu tota la potència & etiquetatge del cablejat abans de la instal·lació
CAR-INO: conversió total d’un cotxe RC antic amb control Arduino i Bluetooth: 5 passos (amb imatges)
CAR-INO: conversió total d’un cotxe RC antic amb control Arduino i Bluetooth: introducció Hola, en els meus primers instruccions m’agradaria compartir amb vosaltres la meva experiència amb la conversió d’un cotxe rc antic del 1990 a quelcom nou. Va ser Nadal de 1990 quan el Pare Noel em va regalar aquest Ferrari F40, el cotxe més ràpid del món! … en aquell moment.T