Smart hem baserat på Arduino: steg för steg instruktion om montering

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
  • instagram viewer
  • 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.

"Smart house" -systemet från Arduino är en uppsättning utrustning för att styra driften av olika enheter med hjälp av en mobiltelefon baserad på Android OS

I något "smart house" -system kan följande komponenter särskiljas:

  1. 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.
    Ett av de mest använda elementen i "smart house" är en rörelsessensor
  2. 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.
    Elektromotor är ett ställdon som aktiveras av signalstyrenheten och styr mekanismen ansluten till den
  3. Processorn. Kan också kallas en kontroller. Detta är "hjärnan" i systemet, vilket koordinerar och koordinerar arbetet med alla dess komponenter.
    Processorkortet (eller styrenheten) styr manöverdonen baserat på firmware och data som tas emot från sensorerna
  4. 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:

  1. Utrustad med egen styrenhet.
  2. Användning av en användares dator (tablett, smartphone) i denna kapacitet.
  3. 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.

.
Arduino Uno-paketet innehåller nödvändiga komponenter för att implementera enheterna som beskrivs i den bifogade boken

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.

På processorkortet kan du installera speciella tillägg (shild), vilket ökar systemets funktionalitet

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:

  1. Sensorer som övervakar klimatparametrar:
    • temperatur;
    • fuktighet;
      Ett specialkort med temperatur- och fuktighetsgivare ger ett gränssnitt för att mata upp de uppmätta parametrarna till LCD-skärmen
    • nederbörd (regn och snögivare);
    • belysning;
    • tryck.
  2. Sensorer som tillåter att bestämma rumslig position för objektet som de är fixerade på:
    • 6-axel gyro sensor med accelerometer;
    • kompass.
      Den inbyggda kompassen låter dig bestämma ljusets sidor i förhållande till objektet som systemet används på
  3. 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);
      IR-sensor kan du bestämma närvaron av personer i huset och gå till lämplig gren av arbetsscenariot
    • ultraljudssensor (detekterar objekt med vilken temperatur som helst och bestämmer avståndet till dem).
  4. Nödsensorer:
    • rökdetektor;
    • brand sensorn;
    • gasläckagesensor;
      Anslutning av gassensorn kommer genast att detektera gasläckage i rummet och aktivera nödscenariot
    • koldioxid sensor.
  5. 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.

Börjaruppsättningen av Arduino-systemet innehåller en processorkort och flera vanligaste enheter

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:

  1. "GND" är marken.
  2. "VCC" - mat.
  3. "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.

För att göra ett system med nödvändiga funktioner behöver vi en uppsättning enheter som kostar ungefär 90 dollar

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.

Sammansättningen av systemet reduceras i grunden för att ansluta manöverdonen till motsvarande kontakter på processorkortet

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.

Alla program på Arduino fungerar enligt samma princip: användaren skickar en begäran till processorn, och användaren hämtar nödvändig kod till skärmen på en dator eller smartphone

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:

  1. Ladda ner filen SmartHome.apk.
  2. Skicka den till din telefon.
  3. Efter att du öppnat "Filhanteraren placera den här filen.
  4. Klicka på det och välj "Installera" (ett "kryssrutan" måste kontrolleras, så att du kan installera program utanför Google Play-tjänsten).
    Du måste aktivera installationen av program inte från PlayMarket, som finns i avsnittet "Säkerhet" i smartphoneinställningarna
  5. När installationen är klar aktiverar du programmet.
  6. 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.
    Det är nödvändigt att registrera rutten till Arduino-processorn för 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.

Efter att du registrerat dig på webbplatsen noip.com, kan du få tillgång till systemet, inte bara via IP-adress, utan även av det fullständiga domännamnet
.

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

.
..
intressant:
.
.
Dimmers för LED och LED-lampor för 220V: funktioner, val, anslutning

Dimmers för LED och LED-lampor för 220V: funktioner, val, anslutningHur Du Installerar

Dimmers för LED och LED-lampor för 220V: funktioner, val, anslutning. . . Möjligheten att ändra ljusstyrkan och skapa olika ljusscenarier blir till ett modernt hem av samma skäl som att ansluta til...

Läs Mer
Regler för placering och installation av uttag och växlar i lägenheten

Regler för placering och installation av uttag och växlar i lägenhetenHur Du Installerar

Regler för placering och installation av uttag och växlar i lägenheten. . . Med ett överflöd av hushållsapparater och en mängd olika belysningsapparater har behovet av att öka antalet uttag och väx...

Läs Mer
Instruktioner för självkoppling av en gasspis

Instruktioner för självkoppling av en gasspisHur Du Installerar

Instruktioner för självkoppling av en gasspis. .. . Innan du ansluter gaspannan själv bör du noga läsa alla komplexiteter och egenskaper i denna process. Det här är ett mycket ansvarsfullt slags ar...

Läs Mer