Come monitorare la temperatura e il sistema di riscaldamento in casa? - smart Nazione

Scritto da Constantin Ionut Natale u0026 Cotoi

sistemi di riscaldamento esistenti in appartamenti e case ora richiedono una particolare attenzione, soprattutto in inverno quando è necessaria la temperatura costante adeguamento per ottenere il comfort desiderato. Sarebbe interessante se progettiamo automazione per fare questo lavoro per noi, per essere facilmente controllato e modificato in base alle esigenze e regolare i sistemi di riscaldamento esistenti in casa nostra? Diciamo di sì. E non solo aiuterebbe in termini di comfort, ma possiamo fare ancora di fermare l'economia di riscaldamento quando non è necessario o surriscaldamento quando la temperatura esterna è già elevata. Questo articolo si propone di guidare i passi per raggiungere questa automazione più facile e molto ridotta investimento rispetto ad acquisire il sistema dedicato con un'installazione complicata e funzionalità predefiniti invariato. teoria Analizziamo l'ingresso e l'uscita di quanto lavoriamo. Abbiamo una temperatura in casa che può essere misurata ponendo sensori in dotazione o anche in quella in cui si vuole far funzionare il sistema. V'è anche una forma di radiatori riscaldamento, aria condizionata o riscaldamento, che può cambiare la temperatura, di solito manualmente. L'algoritmo che proponiamo ci permette di stabilire alcune regole per il controllo automatico della temperatura nella stanza e, soprattutto, attraverso l'accesso a Internet a questi dati e il controllo a distanza. Per il software che usiamo piattaforma www.devicehub.net, e per una combinazione del bordo di sviluppo hardware Arduino, sensori, modalità di connessione Ethernet e suggerimenti a seconda del tipo di impianto di riscaldamento per il loro controllo. Le principali funzionalità offerte da Devicehub.net sono in linea servizio di archiviazione dati e il controllo di dispositivi elettronici di ogni tipo in grado di connettersi a Internet. Sulla piattaforma di funzionamento siede rapporto tra sensori (entità che raccolgono i dati del mondo reale) e attuatori (componenti elettronici che eseguono azioni nel mondo reale e può anche controllare la piattaforma online). A differenza di altre piattaforme simili che raccoglie i dati dai sensori, Devicehub.net è l'unico nel suo genere che permette di controllare e supervisionare attuatori on-line. La piattaforma rivolge sia aziende di qualsiasi tipo, ed elettronica e appassionati di programmazione grazie alle estensibilità e la possibilità di collegare una vasta gamma di sensori e attuatori ad esso. Qualsiasi applicazione industriale o tecnologica che possono beneficiare di dispositivi e processi di controllo e supervisione tramite componenti collegati al Devicehub.net. Arduino è una scheda di sviluppo open source, utilizzato da principianti e professionisti electronistii per l'elettronica di prototipazione rapida. È apparsa nel 2005 a causa di insegnanti italiani che hanno ottenuto più facile insegnare corsi e microcontrollori studenti. Perché aveva fonti disponibili ed è stato utilizzato con successo nel mondo accademico in tutta Italia, si è evoluta rapidamente nei prossimi anni come questo utente sia per i workshop e corsi e su scala industriale in varie applicazioni e componenti. Arduino è essenzialmente una scheda di sviluppo che contiene un microcontrollore che riceve i dati determina quali decisioni su cui può inviare i dati a seconda di come si programma. In aggiunta a questo microcontrollore contiene solo un piccolo numero di componenti necessari per il programma su un PC e fornitura parte del circuito. Il linguaggio di programmazione utilizzato è il C ++ e software di programmazione è scaricabile sito www.arduino.cc libera, dove ci sono anche informazioni sui modelli di Arduino e le loro specifiche. A seconda del modello scelto questo bordo contiene una serie di pin digitale e una perni analogici che sono "in" e "out" del nostro bordo. pin digitali vengono utilizzati per controllare o ricevere dati da dispositivi aventi due stati o disattivare, 0 o 1, utili in questo caso per arrestare e avviare il sistema di riscaldamento. pin analogici vengono utilizzati per leggere dati da sensori che forniscono dati non solo due stati ma una moltitudine di posizioni intermedie tra 0 e 1, molto utile nel nostro caso vogliamo leggere la temperatura in una camera. pratica Una volta stabiliti i dettagli teorici, veniamo alla parte pratica. Per raccogliere i dati provenienti da sensori è necessario un account che può liberare http://devicehub.net/accounts/register/. Dopo aver tenuto conto, creare un nuovo progetto e aggiungere un sensore e un attuatore in esso. verrà utilizzato il sensore per misurare la temperatura in una camera e l'attuatore è un relè che può commutare il sistema di riscaldamento. Sul lato hardware occorre una scheda di sviluppo Arduino Ethernet modulo DHT11 contenente un sensore di temperatura ed un'umidità, un modulo a relè e un alimentatore per il nostro sistema. Abbiamo usato Arduino Pro Mini, che ho programmato un FTDI modulo (ma può essere utilizzato con successo e un Arduino UNO, che non richiede la programmazione), una modalità di chip Ethernet ENC28J60 e un modulo relè in particolare Arduino 5V (uscita principale può controllare qualsiasi dispositivo alimentato a 220V). Le connessioni tra i moduli Arduino sono i seguenti: ENCJ2860 Arduino: CS 10 11 SO 12 SCK 13 5V VCC GND GND DHT11 Arduino: s8 5V VCC GND GND Relè Arduino: S 9 5V VCC GND GND codice Arduino utilizzato è il seguente: (Sono stati utilizzati due librerie: uno per il sensore di temperatura DHT11, che si trova a http://playground.arduino.cc/main/DHT11Lib e un modulo Ethernet, che si trova a https: // github com / JCW / scheda Ethernet e queste librerie sono collocati nelle "librerie" dello spazio di lavoro creato da installazione Arduino). Inoltre, ricordarsi di sostituire il codice qui sotto ID progetto di dati, nome del sensore, e la chiave API specifica dal tuo conto devicehub.net. #include u0026 lt; dht11.h u0026 gt; #include u0026 lt; EtherCard.h u0026 gt; DHT11 DHT11; #define DHT11PIN 8 // interfaccia ethernet indirizzo MAC deve essere univoco nella rete mymac byte static [] = {0 × 74,0 × 69,0 × 69,0x2D, ​​0 × 30,0 × 31}; Ethernet :: buffer di byte [700]; timer uint32_t statica; web char [] PROGMEM = "www.devicehub.net"; int state = 48; Automode Boolean = true; temp_dorita int = 24; // chiamato quando la query è completa my_callback static void (byte di stato, la parola fuori, parola len) { Serial.println ( "u0026 gt; u0026 gt; u0026 gt;"); Ethernet :: tampone [off + 300] = 0; state = * (const char *) (tampone + Ethernet :: off + len 1); se (== stato 49) { Serial.println ( "modalità automatica on"); Automode = true; } Else if (== stato 48) { Serial.println ( "AUTOMODE off"); AUTOMODE = false; } } void setup () { pinMode (9 OUTPUT); Serial.begin (57600); if (ether.begin (sizeof Ethernet :: tampone, mymac, 10) == 0) Serial.println ( "Impossibile accedere controller Ethernet"); if (! ether.dhcpSetup ()) Serial.println ( "DHCP non riuscita"); ether.printIp ( "IP", ether.myip); ether.printIp ( "GW", ether.gwip); ether.printIp ( "DNS" ether.dnsip); if (! ether.dnsLookup (sito web)) Serial.println ( "DNS non riuscita"); ether.printIp ( "SRV", ether.hisip); digitalWrite (9, HIGH); } void loop () { ether.packetLoop (ether.packetReceive ()); if (Millis () u0026 gt; timer) { chk = int DHT11.read (DHT11PIN); QueryString char [256] = {0}; sprintf (QueryString "apikey = copiati_api_key_aici u0026 amp;? copiati_numele_senzor1_aici =% d u0026 amp; copiati_numele_senzor2_aici =% d", (int) DHT11.temperature (int) DHT11.humidity); Millis = timer () + 5000; Serial.println (); Serial.print ( "u0026 lt; u0026 lt; u0026 lt; REQ"); ether.browseUrl (trattenuta ( '/ io / copiati_idul_proiectului_aici / "), QueryString, sito web, my_callback); } if (automode == true) { if ((int) DHT11.temperature u0026 lt; temp_dorita) { Attuatore // ON Serial.println ( "attuatore ON"); digitalWrite (9, HIGH); } Else { // attuatore OFF Serial.println ( "all'attuatore OFF"); digitalWrite (9, LOW); } } } // Celsius a Fahrenheit conversione doppia Fahrenheit (doppia celsius) { 1.8 * C + 32 di ritorno; } // conversione Celsius Kelvin Kelvin doppio (double celsius) { Ritorna Celsius + 273,15; } // punto di rugiada NOAA funzione // Riferimento: http://wahiduddin.net/calc/density_algorithms.htm Punto di rugiada matrimoniale (doppia celsius doppia umidità) { doppio A0 = 373,15 / (273,15 + centigradi); double somma = -7,90298 * (A0-1); SOMMA + = 5,02,808 mila * log10 (A0); SUM + = -1.3816e-7 * (pow (10, (11.344 * (1-1 / A0))) - 1); SUM + = 8.1328e-3 * (pow (10, (- * 3,49,149 mila (A0-1))) - 1); SUM + = log10 (1013,246); doppio VP = pow (10, SUM-3) * umidità; doppia T = log (VP / 0,61,078 mila); // var Temp ritorno (241,88 * T) / (T-17,558); } // max = 0,6544 WRT delta del punto di rugiada () // 5x più veloce di punto di rugiada () // Riferimento: http://en.wikipedia.org/wiki/Dew_point dewPointFast matrimoniale (doppia celsius doppia umidità) { double a = 17,271; double b = 237.7; double temp = (a * C) / (b + C) + log (umidità / 100); doppio Td = (b * temp) / (temperatura); Td di ritorno; } Codice mostrato sopra fatto l'invio di dati dal sensore nella piattaforma online accessibile sia su PC e sul tuo smartphone o tablet, e il controllo diretto del sistema di riscaldamento attivando la modalità automatica della piattaforma online, che tende a mantenere la temperatura sul set temp_dorita la nuova variabile, in questo caso, 24 gradi Celsius. Non vediamo l'ora le vostre domande. Spor al lavoro! Leggere e Come aggiornare il GPS? Smart Nation è la piattaforma dove la tecnologia vi ispirerà tutti. Immaginare, innovare, creare! SmartNation.ro entrare se si vuole essere aggiornato di nuovi gadget, ma anche per imparare come funzionano, cosa fanno e come si può migliorare la vita di tutti i giorni.
1

Commenti - 0

Non ci sono commenti

Aggiungi un commento

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caratteri rimanenti: 3000
captcha