Webbaktiverade hem termostaten (och hemautomation Hub)



Detta Instructable förklarar hur jag byggt WiFi aktiverat termostater för mitt hem. Termostaterna är programmerbara med 6 olika tidsperioder under dagen, även om öka som ett godtyckligt värde skulle vara ganska trivial. De kan vara programmerad (i avkänningen av inställningen tider och temperaturer) som även kontrolleras via internet, och de har en pekskärm LCD-display för lokal kontroll också. Och, jag tillbringade (och fortsätta att spendera) en hel del tid att försöka få dem att se anständig; När allt detta är något som hänger på min vägg, och jag och min familj kommer att få se det varje dag.

En uppenbar fråga är "Varför skulle någon vilja att göra detta när det finns gott om WiFi-aktiverad termostater till salu kommersiellt?" Ett möjligt svar skulle vara att spara pengar. Men det är sant att dessa kanske kostar mindre att bygga än vissa kommersiella modeller, när du faktor i din tid, detta blir ett dåligt svar! Bättre svar skulle vara att ha roligt gör det (jag gjorde) eller att bygga en termostat som du kan programmera till kör och interagera med andra enheter på något sätt önskas. Jag byggde dessa som en del av ett större hem energiledningssystem, och kanske kommer jag att skriva en annan Instructable på det senare. Och som en bonus: navet för Termostaterna är redo att gå som ett nav för ett komplett hem automationssystem!

En andra uppenbara frågan är vilken typ av formella kvalifikationer eller relevant erfarenhet har jag i detta område, och svaret är absolut ingen – ingen bakgrund med VVS-system, ingen bakgrund i programmering, ingen bakgrund i elektronik. Så, om du väljer att bygga din egen termostater, bör du inte bara blint kopiera exakt vad jag har här och ansluta den till din vägg. Detta projekt kräver exakt, analytic tänkande, och du måste förstå vilken typ av VVS-system du har, granska och ändra alla koden och kretsar som är lämpligt och viktigt att du förstår vad du gör och konsekvenserna av att få det fel. Underlåtenhet att göra detta kan förstöra din VVS-system, electrocute dina nära och kära eller bränna ner ditt hus. På allvar! Jag välkomnar verkligen feedback från någon som har kunskap inom dessa områden när det gäller hur jag kunde göra dessa termostater bättre.

Och naturligtvis, jag kunde inte ha gjort detta utan allt hårt arbete från folk som skapade de olika biblioteken, de människor som tog sig tid att lägga ut information på webben i Instructables, forum och Bloggar, och de många människor som hjälpte mig med råd och svar på mina frågor. Speciellt tack till Mark Pendrith som var särskilt hjälpsam och gav mig koden som bildar grunden för arduino skiss.

Slutligen håller på att ändra filer att arbeta med bara Termostaterna (i motsats till den större hem energiledningssystem) samt att komma ihåg allt jag gjorde över tiden för att få detta att fungera, kommer det utan tvekan vara några fel här. Låt mig veta om du fånga någon och jag ska försöka få dem korrigerade så snabbt som möjligt.

Med allt detta ur vägen, härs gjorde vad jag:

Systemet använder en Raspberry Pi som ett centralt nav som serverar webbsidor så att jag kan kontrollera Termostaterna från var som helst. Navet också hanterar all trådlös kommunikation över nRF24L01 + radiomoduler (jag vet att jag sa "WiFi", och nRF24L01 + radio-modulen inte är tekniskt WiFi, men mer om det senare), och upprätthåller en MySQL-databas med termostaten programmering också som någon dataloggning som jag gör. Och slutligen, navet körs två servrar skrivet i Python – en kontrollerar termostaten (som en mellanhand mellan webbsidan och termostaten) och den andra hanterar data loggning. Jag tror detta skulle förmodligen kunna göras med Termostaterna varje servering en egen enkel web-sida och skickar data direkt till MySQL-databasen. Detta skulle eliminera behovet av lighttpd webbservern och två python servrar. Men det känns som gör detta på navet ger enkelheten i en enda webbplats och python-servrar ger stor flexibilitet. Plus att jag slipper uppdatera koden på Termostaterna när jag vill göra ändringar på dessa aspekter.

Om du verkligen gräva i detta, undrar du nog varför jag bry sig med en MySQL databas istället för att bara skriva en liten data till en textfil när det behövs. Primära svaret är att jag behöver den MySQL-databasen för andra delar av mitt system, men om allt jag hade var Termostaterna, kan det vara ganska lätt bara för att eliminera databasen och ersätta det med textfiler.

Så, kommunikationsflödet i huvudsak fungerar enligt följande.

Användaruppdateringar på webbplatsen

En användare styr eller program en termostat på en webbplats skriven i PHP (mestadels, en liten javascript).

Denna webbplats sparar alla ändringar till MySQL-databasen och skickar en instruktion till python styrservern.

Python styrservern tolkar dessa instruktioner, uppdaterar en inre representation av termostaten och skickar instruktioner till fysiska termostaten över RFX nätverket.

Användaruppdateringar på termostat

En användare styr en termostat med touchscreen kontroller.

Termostaten skickar ändringarna till python styrservern.

Python styrservern uppdaterar en inre representation av termostaten och sparar alla ändringar till MySQL-databasen.

Termostaten har data att logga in eller meddelanden spara

Termostaten skickar data eller ett meddelande till logga in python dataloggning servern.

Dataloggning servern sparar antingen att data till MySQL-databas eller till en loggfil baserat på typ av meddelande.

Termostat temperatur ändras automatiskt enligt ett Program som anger

Python styrservern övervakar programmet för termostaten och bestämmer när den inställda temperaturen bör ändra.

Python styrservern uppdaterar en inre representation av termostaten och skickar nya set temperaturen till termostaten.

Så med denna översikt bakom oss, nedan är detaljer på hur jag ställer in detta upp. Det första steget listar de förnödenheter och verktyg jag använde. Följande flera steg i Instructable täcka hur jag ställa in den maskinvara och programvara infrastrukturen för navet. De flesta av dessa kommer att inkludera instruktioner som referens-det finns gott om platser för att få bra information om hur, till exempel, att ställa in en MySQL-databas på en Raspberry Pi, så inte försöker jag replikera som. Sedan, när infrastrukturen finns på plats, jag ge betydligt mer i detalj på hur jag byggt de faktiska Termostaterna som koden jag använda för att styra dem.

Se Steg
Relaterade Ämnen

Titta på TV-kanaler från hela världen gratis på ditt hem TV och förvandla din TV till en billig hem-PC

Med hjälp av en $50 Android Mini PC (hittas via Amazon eller eBay), ex-pats eller alla som vill berika sina kunskaper i främmande språk titta på utländska TV-stationer på deras hem TV. Android Mini PC ansluter till en HDTV uppsättning, och med tilläg...

En trådlös Smart Home (var: hem simulator och larm med Arduino eller Atmega328 (Uppdaterad maj 2016))

Obs: det nu är en android bluetooth kontroll app ibble för detta projektObs: Även om det började som ett projekt simulera min närvaro i hemmet, det har vuxit till ett smart hem, därav titeln jag detta InstructableNär folk är på semester, eller ibland...

DIY hemsäkerhet och Automation med Raspberry Pi 2

I detta instructable kommer jag detalj mina metoder för att skapa en helt anpassad hem säkerhets- och automationssystem.Detta är ett pågående arbete, och som jag kommer att lägga till det som jag går.För nu kommer jag att ge en uppdelning av målen fö...

Enklaste smarta hem Panel och information Center - återanvända en gammal telefon!

I detta Instructable, ska jag gå igenom några av de steg som jag följde i återanvända en telefon som en smart hem touch apparat för mitt rum. Du kommer att kunna kontrollera dina lampor, vet din daglig väderprognos och få några andra personuppgifter...

Bolt hem Automation och varningssystem

Detta är ett nytt system av Shantam och mig bygger på bulten IOT plattform (www.boltiot.com) för att automatisera och förenkla hur människor interagerar med hushållsmaskiner och apparater i allmänhet.Steg 1: Vad är det? Det är en samling av intellige...

Hem Automation och säkerhet med 1Sheeld

Detta är en home automation och säkerhet system med 1Sheeld, projektet fungerar som följande:när användaren når dörren till hans hem en pir-sensor kommer att känna honom så en ledde slås på och sedan han har att säga ett specifikt lösenord till kan k...

Att göra Trike och Quadcycle Hub flänsar utan en svarv

först och främst vill jag tacka alla dem som besöker vårt forum och hjälpa andra med råd och erbjuda deras tips och hjälp. Det har varit två alternativa idéer postat i fråga om att skapa hub flänsarna som jag använder på trikes och fyrhjulingar som D...

Biogas på hem-billigt och Easy

Hej, jag är Sahas chitlange, åldrande 14, från Indien. här är min hemlagade billiga och lätt att bygga mini Biogas anläggning. Det brinner i ca. 20-30 minuter på en bunsenbrännare. Du kan lägga till något från ditt köksavfall (Exept lök peeling och ä...

Hem-bakat och glaserade kakor

SUGAR COOKIES:Ingredienser:1/2 kopp/125 ml smör/margarin1 kopp/250 ml socker1 ägg2 öknen sked / 30 ml mjölk1/2 te sked vaniljessens2 1/2 cups / 625ml mjöl2 teskedar / 10 ml bakpulver1/2 te sked saltVägbeskrivning:Grädde smör och socker. Blanda ägg oc...

Handledning: Ändra termostaten och kylvätska på en 2000 Volvo S40

Lär dig hur du ändrar den termostat och radiator vätskan på en 2000 Volvo S40....

Gör ett super anpassningsbara hem teater och film/TV-spel rum

hur till setup och plan ut ett billigt, billig, enkel-att-setup hemmabiosystem.Steg 1: Hitta en bra plats i min källare, det är en ganska öppen plats med en TV-hylla, soffor och ett skrivbord. Jag hade åter ordna allt i rummet för att göra det mer be...

Hemautomation och säkerhet med x10

i detta instructable skulle jag vilja dela några erfarenheter som jag har med x10 och använder den för att styra hemautomation, hemsäkerhet och sänka din hem försäkring faktura. Jag kommer inte för att beskriva varje enskild metod x10 kan användas me...

B & Q homeeasy hemautomation centralvärme controller hacka

B & Q Homeeasy hemautomation centralvärme controller ModHej är detta ett billigare alternativ till standard hem lätt centralvärme styrenheten säljs av b & q.Jag skulle köpa ordentlig centralvärme controller H105 men fann det vara lite för dyrt och...

Chibikart: Snabb-prototyper en subminiatyr elektriska Go-Kart använder Digital fabrikation och Hobby komponenter

Chibikart! är en mycket liten ändå kraftfull och lättmanövrerad 2WD elektriska go-kart som du kan bygga med off-the-shelf industri och hobby komponenter och digitalt fabricerade ram delar. Med moderna litiumjonbatterier och borstlösa permanentmagnet...

Miljövänliga hem Design: En steg för steg Guide

att vara miljövänlig är mycket mer än en trend-det har blivit en livsstil för de flesta. Vi har lärt oss att återvinna, återanvända och minska vår användning av otaliga produkter. Lyckligtvis har många återförsäljare har hittat sätt att gå grönt själ...

Ugnen tillägg till förbättra hem luftkvalitet

när man tänker på inomhusluftens kvalitet, ugnar och centrala luftkonditioneringsanläggningar bör kommer att tänka. Trots allt, varje kubikfot av luft i ett hus är så småningom dras genom dessa system – och förändras genom processen. Luften blandas,...

Aktivera lampor och andra apparater med Touch och smällar (under 2$!)

Hej, alla! I detta Instructable visar jag hur du kan styra enheter som lampor och fläktar, med hjälp av smällar och touch! Dessa är bara andra sätt att aktivera hushållsapparater, istället för att använda konventionella växlar. Detta projekt är prakt...

Touchscreen väggmonterad familj Sync & hem Kontrollpanelen

Vi har en kalender som uppdateras varje månad med händelser men det sker manuellt. Vi tenderar också att glömma saker vi har sprang av eller andra mindre sysslor.I denna ålder som jag tyckte det var mycket lättare att ha en synkronisering kalender oc...

Enhetlig kommunikation och automation skåp.

jag ursprungligen hade en rörig ordning av ledningar och anordningar gömd bakom TV: N. Dessa enheter är mitt hem automation och data kommunikationsutrustning. Jag ville ha ett skåp att ena allt för att ge skydd och enkelt underhåll.Här är hur jag gjo...