Smart hem baserat på Arduino: steg för steg instruktion om montering
System som "smart home" från de fantastiska exotikerna, som endast är tillgängliga för de mest välbärgade, har blivit vanliga, som alla kan gå med. Det finns något att välja mellan: många utvecklare har behärskat frisläppandet av sådana hårdvaru-mjukvarusystem. Bland de mest kända är Arduino, vars produkter vi nu kommer att bekanta med.
innehåll
- 1Vad är ett "smart hem"
-
2Lär känna Arduino
- 2.1Fördelar med Arduino-systemet
-
2.2Vilka lösningar erbjuder Arduino?
- 2.2.1Video: Vi börjar jobba med Arduino - vi hanterar LED-lampan via webbgränssnittet
-
3Utarbeta ett projekt på Arduino
- 3.1De nödvändiga komponenterna för produktion av "smart house" -systemet
-
4Bygg "smart house steg-för-steg-instruktion
- 4.1Ansluta verkställande och sensor enheter
- 4.2Utveckling av programkod
- 4.3Installera en klientapplikation på en smartphone (för Android OS)
- 4.4Konfigurera webbläsaren att arbeta med "smart house"
- 4.5Arbeta med routern
- 4.6Ställa in ett konto på noip.com
- 4.7Video: smart hus på Arduino
- 5Funktioner av vissa Arduino hårdvaror
Vad är ett "smart hem"
Denna term har en mer begriplig analog - "hemautomatisering". Kärnan i sådana lösningar är att säkerställa automatisk utförande av olika processer som förekommer i hemmet, kontoret eller specialiseringen. Det enklaste exemplet är att automatiskt sätta på belysningen vid en tidpunkt då en av passagerarna kommer in i rummet.
I något "smart house" -system kan följande komponenter särskiljas:
- Sensoriell del. Detta är en uppsättning enheter, vars huvuddel representeras av olika sensorer, vilket gör att systemet kan registrera händelser av olika natur. Exempel är temperatur- och rörelsesensorer. Andra enheter av sensordelen tjänar för att överföra användarens kommandon till systemet. Dessa är fjärrknappar och fjärrkontroller med mottagare.
- Den verkställande delen. Det här är de enheter som systemet kan styra, reagera på detta sätt till en händelse i enlighet med ett användardefinierat scenario. Först och främst är det ett relä genom vilket regulatorn av "smart house" kan leverera ström till någon elektrisk enhet, det vill säga att slå på och av. Till exempel på bomullen i handflatan (systemet "hörs" med en mikrofon) kan du konfigurera aktiveringen av ett relä som levererar ström till fläkten. Obs! I det här exemplet kan fläkten vara vilken som helst. Men du kan också använda enheten, som släpps ut för att fungera som en del av ett visst system. Till exempel tillverkar Arduino elektriska motorer för sina system, med vilka man exempelvis kan stänga eller öppna fönstret och Xiaomi (en kinesisk tillverkare av liknande system) - kontrollenheter luftrenare. En sådan anordning styrs helt av systemet, det vill säga att den inte bara kan slå på den men också ändra inställningarna.
- Processorn. Kan också kallas en kontroller. Detta är "hjärnan" i systemet, vilket koordinerar och koordinerar arbetet med alla dess komponenter.
- Software. Detta är en uppsättning instruktioner som styr processorn. I vissa tillverkares system, inklusive Arduino, kan användaren skriva ett program självständigt, i andra - färdiga lösningar används där endast typiska scenarier.
Moderna system "smart house" är indelat i flera sorter:
- Utrustad med egen styrenhet.
- Användning av en användares dator (tablett, smartphone) i denna kapacitet.
- Bearbetar information med hjälp av en fjärrserver som ägs av utvecklarföretaget (molntjänst).
Systemet kan inte bara aktivera denna eller den här enheten, men informera även användaren om händelsen som inträffade genom att skicka ett meddelande till telefonen eller på annat sätt. Således kan det tilldelas larmfunktioner, inklusive brandskydd.
Scenarier kan vara mycket mer komplexa än vad vi beskrivit i exemplen. Det är till exempel möjligt att lära systemet att inkludera en panna och överföra tillförseln av varmt vatten till det när den centrala matningen är avskuren, om det avslöjar närvaron av någon från hyresgästerna i huset (hjälp infraröd, ultraljudsgivare, liksom sensorer rörelse).
Lär känna Arduino
Arduino är ett italienskt företag som ägnar sig åt utveckling och produktion av komponenter och programvara för enkla smarta hemsystem avsedda för icke-specialister. Det är anmärkningsvärt att den här utvecklaren gjorde arkitekturen i de system som han skapade helt öppen, vilket gjorde det möjligt tillverkare från tredje part utvecklar nya och kopierar befintliga Arduino-kompatibla enheter, samt producerar programvara för dem.
Detta tillvägagångssätt har gett en hög popularitet för det italienska företagets system, men det har också en nackdel: på grund av att för produktion komponenter för Arduino-system tas, så att säga, alla som inte är lata lyckas inte alltid i första hand att skaffa en högkvalitativ produkt. Ofta måste man möta problemet med komponenternas kompatibilitet från olika tillverkare.
En potentiell användare bör vara medveten om att det sedan 2008 finns två företag som producerar produkter under varumärket Arduino. Vid den första, som startade denna riktning, ligger den officiella platsen på www.arduino.cc; den andra, nybildad - på www.arduino.org. Vad som utvecklats före splittringen är på båda sidorna lika, men utbudet av nya produkter är redan annorlunda.
Programvaran för "smart house" -system Arduino har formen av ett mjukvara skal (kallat IDE), där du kan skriva och kompilera program. Det distribueras gratis. Programmen är skrivna i C ++.
Versionerna av Arduino IDE-programmet som presenteras på dessa webbplatser är också mycket olika, även om de har samma inte bara namnet, men också versionsnumren.På grund av detta är de ganska lätta att bli förvirrade. Skillnaden är att varje programvara stöder sina bibliotek och styrelser.
Systemets "hårdvara" består av ett moderkort med en mikrokontroller (processorkort) och expansionskort installerade på det, som vanligen kallas shilds. Genom att ansluta skärmen till processorkortet kan du lägga till nya komponenter till smarthuset. Det monterade systemet kan antingen vara helt självständigt eller fungera tillsammans med en dator via ett standardtrådigt eller trådlöst gränssnitt.
Fördelar med Arduino-systemet
Det här mjukvarupaketet lockar användaren med sådana fördelar:
- möjligheten till autonomt arbete, på grund av närvaron av sin egen kontroller
- omfattande möjligheter att installera systemet (användaren själv skriver ett program i vilket scenarier av vilken komplexitet som helst)
- Enkelhet av processen att ladda programmet till regulatorn: programmeraren behövs inte för detta, det räcker med att ha en USB-kabel (i mikrokontroller är det en fast programvara Bootloader);
- den överkomliga kostnaden för komponenter på grund av bristen på monopolrättigheter för en viss tillverkare (arkitekturen är öppen).
Om Bootloader bootloader började funktionsfel eller det inte visades i den inköpta mikrokontrollen har användaren möjlighet att blinka det själv. IDE-mjukvara skalet ger stöd för ett antal av de mest populära och populära programmerare för detta ändamål. Dessutom har nästan alla Arduino-processorer en manlig kontakt som möjliggör programmering i kretsloppet.
Arduino IDE-programmet, som presenteras på webbplatsen arduino.cc, användarhårdvara-programvaruplattformar, medan i versionen av programmet på arduino.org sådana funktionen är frånvarande.
Vilka lösningar erbjuder Arduino?
Eftersom produktionen av Arduino-kompatibla sensorer och enheter hanteras av många företag, är utbudet av dessa produkter ganska brett. Här tillämpas det oftast:
- Sensorer som övervakar klimatparametrar:
- temperatur;
- fuktighet;
- nederbörd (regn och snögivare);
- belysning;
- tryck.
- Sensorer som tillåter att bestämma rumslig position för objektet som de är fixerade på:
- 6-axel gyro sensor med accelerometer;
- kompass.
- Sensorer som tillåter att registrera förekomsten av olika objekt:
- rörelsessensor;
- infraröd sensor (fixa en rörelsefri sittande person eller varmblodigt djur);
- ultraljudssensor (detekterar objekt med vilken temperatur som helst och bestämmer avståndet till dem).
- Nödsensorer:
- rökdetektor;
- brand sensorn;
- gasläckagesensor;
- koldioxid sensor.
- Andra enheter, till exempel:
- mikrofon;
- timmar;
- dörr öppen sensor;
- fjärrkontroller (radiofrekvens och infraröd) med mottagare;
- fjärrknappar.
Några av dessa enheter ingår i Arduino Start baskit, som från vissa tillverkare heter StarterKit.
Den verkställande delen innehåller en stor uppsättning enheter, till exempel:
- elektriska motorer;
- reläer och olika strömbrytare;
- dimmers (tillåter jämnt att ändra belysningsintensiteten);
- dörrstängare;
- Ventiler och 3-vägsventiler med servostationer.
Om du planerar att ansluta belysning via Arduino-relä, är det bättre att använda LED-lampor som belysningsarmaturer. Lampor glödande när de är anslutna genom sådana reläer brinner snabbt.
.Video: Vi börjar jobba med Arduino - vi hanterar LED-lampan via webbgränssnittet
Utarbeta ett projekt på Arduino
Processen att skapa och konfigurera "smart house" Arduino kommer att visas på exemplet på ett system där följande funktioner kommer att byggas:
- temperaturövervakning på gatan och inomhus;
- övervakning av fönstret (öppet / stängt);
- övervakning av väderförhållandena (klart / regn);
- generering av en ljudsignal när rörelsesensorn utlöses om larmfunktionen är aktiverad.
Systemet kommer att konfigureras så att data kan ses med hjälp av en speciell applikation, liksom en webbläsare, det vill säga användaren kommer att kunna göra det från vilken plats som helst där det finns tillgång på Internet.
Förkortningar som användes:
- "GND" är marken.
- "VCC" - mat.
- "PIR" - rörelsessensor.
De nödvändiga komponenterna för produktion av "smart house" -systemet
För Arduino Smart Home-system behöver du följande:
- mikroprocessorbordet Arduino;
- Ethernet-modul ENC28J60;
- två temperatur sensorer märke DS18B20;
- mikrofon;
- regn och snö sensor;
- rörelsessensor;
- byta röra;
- relä;
- Motstånd motstånd, kOhm;
- twisted pair kabel;
- Ethernet-kabel.
Kostnaden för alla komponenter är ca $ 90.
Bygg "smart house steg-för-steg-instruktion
Det är sekvensen där du måste agera.
Ansluta verkställande och sensor enheter
Vi kopplar alla komponenter enligt planen.
Utveckling av programkod
Användaren skriver hela programmet i Arduino IDE-skalet, för vilket det senare är utrustat med en textredigerare, projektledaren, kompilatorn, förbehandlaren och medlen för att fylla programkoden i styrelsens mikroprocessor Arduino. Utvecklade versioner av IDE för operativsystemen i Mac OS X, Windows och Linux. Programmeringsspråket är C ++ med vissa förenklingar. Användarprogram för Arduino kallas vanligtvis skiss skisser eller skisser, IDE sparar dem till filer med förlängningen ".ino".
Huvudfunktionen (), som är obligatorisk i C ++, skapas automatiskt av IDE-omslaget och föreskriver ett antal standardåtgärder i den. Användaren bör skriva inställningarna () (gjort en gång vid starttid) och loop () (utförd i en oändlig slinga). Båda dessa funktioner är obligatoriska för Arduino.
Headerfiler i standardbibliotek behöver inte infogas i programmet - IDE gör det automatiskt. Det gäller inte användarbibliotek - de måste anges.
.Lägga till bibliotek till "Project Manager" IDE utförs på något ovanligt sätt. I form av källkod skrivna i C ++ läggs de till i en särskild mapp i IDE-skalets arbetsregister. Därefter visas namnen på dessa bibliotek i motsvarande IDE-meny. De som användarmärken kommer att läggas till i samlingslistan.
.IDE ger ett minimum av inställningar, och möjligheten att konfigurera kompilatorn saknas alls. Således är en nybörjare programmerare immun mot fel.
Här är ett exempel på det enklaste programmet, vilket medför att LED-lampan ansluten till 13: e utmatningen på brädan blinkar vartannat sekund:
.tomrumsinställning () {pinMode (13, OUTPUT); // Arduino-utgång 13-utgång}
tomrumsling () {digitalWrite (13, HIGH); // Aktivera den 13: e utmatningen, parametern för digitalWrite-funktionssamtalet HIGH är ett högt logiskt nivåtecken
fördröjning (1000); // Fördröjningscykel i 1000 msek - 1 sekund
digitalWrite (13, LOW); // Utgång stäng av 13, samtalsparameter LOW - låg logiknivåattribut
fördröjning (1000); // Fördröjningscykel i 1 sekund}
.Men för tillfället är det inte alltid nödvändigt för en användare att personligen skriva ett program: det finns många färdiga bibliotek och skisser på nätverket (se här: http://arduino.ru/Reference). Det finns ett färdigt program för systemet som behandlas i det här exemplet. Det måste laddas ner, packas upp och importeras till IDE. Texten i programmet är försedd med kommentarer som förklarar principen om dess verksamhet.
När användaren klickar på knappen "Uppdatera" i webbläsaren eller på smartphoneprogrammet skickar Arduino microcontroller data till den här klienten. Med alla sidor som är betecknade som "/ tempin "/ tempout "/ rain "/ window "/ alarm" skickas programkoden, vilken visas på skärmen.
Installera en klientapplikation på en smartphone (för Android OS)
För att ta emot data från det smarta hemmet i nätverket kan du hämta det färdiga programmet.
Här är vad gadgetägaren behöver göra:
- Ladda ner filen SmartHome.apk.
- Skicka den till din telefon.
- Efter att du öppnat "Filhanteraren placera den här filen.
- Klicka på det och välj "Installera" (ett "kryssrutan" måste kontrolleras, så att du kan installera program utanför Google Play-tjänsten).
- När installationen är klar aktiverar du programmet.
- Ställ upp det.
Med den här applikationen kan du inte bara ta emot information från smart house-systemet utan också hantera det - aktivera och inaktivera larm. Om det är på, kommer programmet att få en meddelande när rörelsessensorn utlöses. Utfrågning av Arduino-systemet för utlösaren av rörelsessensorapplikationen utförs med en frekvens av en gång i minuten.
Genom att aktivera ikonen "Inställningar" kan du redigera din IP-adress.
Konfigurera webbläsaren att arbeta med "smart house"
I adressfältet i webbläsaren anger du XXX.XXX.XXX.XXX/all, där "XXX.XXX.XXX.XXX" är din IP-adress. Därefter kommer det att vara möjligt att ta emot data från systemet och hantera det.
Koden som presenteras här tillåter webbläsaren att slå på och av lampan, medan i en Android-smartphone-applikation inte en sådan funktion är implementerad.
Arbeta med routern
Sedan på routern måste du öppna porten:
- öppna routerns inställningar;
- förskriva adressen Arduino IP;
- öppen port 80.
Ställa in ett konto på noip.com
Det här steget är valfritt, men det är nödvändigt om du vill tilldela ett domännamn till adressen. För att göra detta måste du registrera dig på webbplatsen https://www.noip.com/, gå till avsnittet "Lägg till värd" och ange systemets IP-adress.
Skapandet av projektet är klart, du kan kontrollera systemets hälsa.
Video: smart hus på Arduino
Funktioner av vissa Arduino hårdvaror
Med tanke på det faktum att Arduino-kompatibla komponenter produceras av många företag från tredje part vars produktkvalitet själv Företaget Arduino kontrollerar inte, användaren är mer benägna att köpa en komponent som inte fungerar helt fullständigt.
.En liknande situation har utvecklats i utvecklingen av persondatorer. Ibland gjorde IBM arkitekturen i sina datorer öppna, vilket resulterade i att IBM-kompatibla datorer och enskilda komponenter började producera många företag. Som ett resultat är "personligheter" av denna typ spridda över hela världen, men kvaliteten på komponenterna och graden av kompatibilitet var i många fall inte på högsta nivå. Motsatt taktik följde till företaget Apple. Det begränsade utvecklingscirkeln med tillgång till arkitektur, och samma policy utfördes inom området för mjukvaruutveckling. Som ett resultat var Apples datorer mindre vanliga och dyrare, men de är en storleksordning överlägsen IBM-kompatibla enheter som kör Windows.
.För vissa komponenter för Arduino-system noterade användarna följande:
- Temperaturgivaren DHT11, som levereras med grundpaketet (StarterKit), ger ett signifikant fel på 2-3 grader. I rummet rekommenderas att man använder en temperatursensor DHT22, vilket ger mer noggranna indikationer och för installation på gatan - DHT21, som kan arbeta vid negativa temperaturer och har skydd mot mekanisk skador.
- På vissa Arduino-mikroprocessorbrädor, när reläet är anslutet till dem, stängs COM-porten. På grund av detta kan mikrokontrollern inte ladda skissen: När fyllningen startar, startar processorn om. Reläet klickar sedan, COM-porten är inaktiverad och sketch-laddningsprocessen stannar.
- Fönster / dörrsläckningsgivaren ger ibland överraskningar i form av falska positiva effekter. Mot bakgrund av detta är skissen skriven så att systemet endast producerar nödvändiga åtgärder efter att ha mottagit flera signaler i rad.
- För att konfigurera processhantering med hjälp av klappar beställer vissa oerfarna användare en ljuddetektor med manuell tröskeljustering istället för en mikrofon. För detta ändamål är denna komponent inte lämplig, eftersom den har en mycket kort räckvidd: det är nödvändigt att klämma inte mer än 10 cm från detektorn. Dessutom sänder denna sensor signaler med pulser av kort varaktighet, så att det finns en stor stor närvaro Skissen, som tar relativt lång tid att bearbeta, har mikrokontroller inte tid för dem att fixa.
- För brandlarmssystemet ska en rökdetektor, i stället för en brandgivare, användas. Den senare registrerar en flamma som inte är mer än 30 cm från sig själv.
- I händelse av funktionsfel i mikrokontrollens funktion eller fel i koden är det bättre att använda normalt stängda reläer med seriekopplade manuella omkopplare.
För att undvika inköp av komponenter av låg kvalitet rekommenderas erfarna användare att förhandsgranska recensioner på dem, som publiceras på webben. Billiga sensorer kan köpas i flera versioner för att personligen verifiera vilken som fungerar bättre.
Kanske är "smart house" -systemet från Arduino inte det bästa, men det bredaste valet av komponenter och deras överkomliga kostnader har gjort den till en av de mest populära. Med hjälp av våra tips lär du dig snabbt hur du skapar Arduino-projekt genom att automatisera olika hemprocesser.
.