Smart hjem basert på Arduino: trinnvis instruksjon om montering

Smart hjem basert på Arduino: trinnvis instruksjon om montering

.
..
.

I dag er systemer som "smart home" fra de fantastiske eksotikene, kun tilgjengelig for de mest velstående, blitt en vanlig, som alle kan bli med. Det er noe å velge mellom: Mange utviklere har mestret utgivelsen av slike maskinvare-programvare systemer. Blant de mest berømte er Arduino, hvis produkter vi nå skal bli kjent med.

innhold

  • 1Hva er et "smart hjem"
  • 2Bli kjent med Arduino
    • 2.1Fordeler med Arduino-systemet
    • 2.2Hvilke løsninger tilbyr Arduino?
      • 2.2.1Video: Vi begynner å jobbe med Arduino - vi styrer LED gjennom webgrensesnittet
  • 3Utarbeide et prosjekt på Arduino
    • 3.1De nødvendige komponentene for produksjon av "smart house" -systemet
  • 4Bygg "smart house trinnvis instruksjon
    • 4.1Tilkobling av executive og sensor enheter
    • 4.2Utvikling av programkode
    • 4.3Installere et klientprogram på en smarttelefon (for Android OS)
    • 4.4Konfigurere nettleseren til å jobbe med "smart house"
    • 4.5Arbeider med ruteren
    • 4.6Sette opp en konto på noip.com
    • 4.7Video: smarte hus på Arduino
  • instagram viewer
  • 5Funksjoner av noen Arduino-maskinvare
..

Hva er et "smart hjem"

Dette begrepet har en mer forståelig analog - "hjemmeautomatisering". Essensen av slike løsninger er å sikre automatisk utførelse av ulike prosesser som skjer i hjemmet, kontoret eller spesialiserte anlegg. Det enkleste eksempelet er automatisk påkobling av belysning på et tidspunkt når en av beboerne kommer inn i rommet.

"Smart house" -systemet fra Arduino er et sett med utstyr for å kontrollere driften av ulike enheter ved hjelp av en mobiltelefon basert på Android OS

I et "smart house" -system kan følgende komponenter skille seg ut:

  1. Sensorisk del. Dette er et sett med enheter, hoveddelen av denne er representert av forskjellige sensorer, slik at systemet kan registrere hendelser av forskjellig karakter. Eksempler er temperatur- og bevegelsessensorer. Andre enheter av sensordelen tjener til å overføre brukerens kommandoer til systemet. Disse er fjernkontrollknapper og fjernkontroller med mottakere.
    En av de mest brukte elementene i "smart house" er en bevegelsessensor
  2. Den utøvende delen. Dette er de enhetene som systemet kan kontrollere, reagerer på denne måten til en hendelse i samsvar med et brukerdefinert scenario. Først av alt er det et relé gjennom hvilket styreenheten til "smart house" kan gi strøm til en hvilken som helst elektrisk enhet, det vil si å slå den på og av. For eksempel på bomull i håndflaten din (systemet "hører" det med en mikrofon) kan du konfigurere aktiveringen av et relé som gir strøm til viften. Merk: I dette eksemplet kan viften være hvilken som helst. Men du kan også bruke enheten, spesielt utgitt for å fungere som en del av et bestemt system. For eksempel produserer Arduino elektriske motorer for sine systemer, som det for eksempel er mulig å lukke eller åpne vinduet, og Xiaomi (en kinesisk produsent av lignende systemer) - kontrollenheter luftrenser. En slik enhet styres helt av systemet, det vil si at den ikke bare kan slå den på, men også endre innstillingene.
    Elektromotor er en aktuator, som aktiveres av signalet fra systemkontrolleren og driver mekanismen som er koblet til den
  3. Prosessoren. Kan også kalles en kontroller. Dette er "hjernen" i systemet, som koordinerer og koordinerer arbeidet til alle dets komponenter.
    Prosessorkortet (eller kontrolleren) styrer aktuatorene basert på firmware og data mottatt fra sensorene
  4. Software. Dette er et sett med instruksjoner som styrer prosessoren. I systemer av enkelte produsenter, inkludert Arduino, kan brukeren skrive et program uavhengig, i andre - ferdige løsninger brukes der bare typiske scenarier.

Moderne systemer "smart house" er delt inn i flere varianter:

  1. Utstyrt med egen kontroller.
  2. Bruk i denne kapasiteten prosessoren til en brukers datamaskin (nettbrett, smarttelefon).
  3. Behandler informasjon ved hjelp av en ekstern server eid av utviklerfirmaet (skygtjeneste).
.

Systemet kan ikke bare aktivere denne eller den aktuelle enheten, men informere også brukeren om hendelsen som skjedde ved å sende en melding til telefonen eller på en annen måte. Dermed kan det tillates alarmfunksjoner, inkludert brannbeskyttelse.

Scenarier kan være mye mer komplekse enn vi beskrevet i eksemplene. For eksempel er det mulig å lære systemet å inkludere en kjele og overføre tilførselen av varmt vann til det når den sentrale forsyningen er avskåret, hvis det avslører tilstedeværelsen av noen fra leietakere i huset (hjelp infrarød, ultralydsensorer, samt sensorer bevegelse).

Bli kjent med Arduino

Arduino er et italiensk selskap dedikert til utvikling og produksjon av komponenter og programvare for enkle, smarte hjemsystemer beregnet for ikke-spesialister. Det er bemerkelsesverdig at denne utvikleren gjorde arkitekturen til systemene han opprettet helt åpen, noe som gjorde det mulig tredjeparts produsenter for å utvikle nye og kopiere eksisterende Arduino-kompatible enheter, samt produsere programvare for dem.

.
Arduino Uno-settet inneholder de nødvendige komponentene for å implementere enhetene som er beskrevet i vedlagte bok

Denne tilnærmingen har gitt en høy popularitet for det italienske selskapets systemer, men det har også en ulempe: på grunn av at for produksjonen komponenter for Arduino-systemer er tatt, så å si, alle som ikke er lat, lykkes ikke alltid i første omgang å skaffe seg en høy kvalitet produkt. Ofte må du møte problemet med kompatibilitet av komponenter fra forskjellige produsenter.

En potensiell bruker bør være oppmerksom på at siden 2008 er det to selskaper som produserer produkter under Arduino-merkevaren. På den første, som startet denne retningen, ligger det offisielle nettstedet på www.arduino.cc; den andre, nylig dannet - på www.arduino.org. Det som ble utviklet før splittet, på begge sider er representert like, men rekkevidden av nye produkter er allerede forskjellig.

Programvaren for "smart house" -systemene Arduino har form av et programvare shell (kalt IDE), der du kan skrive og kompilere programmer. Det distribueres gratis. Programmene er skrevet i C ++.

Versjonene av Arduino IDE-programmet presentert på disse nettstedene er også svært forskjellige, selv om de har det samme ikke bare navnet, men også versjonsnumrene.På grunn av dette er de ganske enkle å bli forvirrede. Forskjellen er at hver programvare støtter sine biblioteker og brett.

Systemets "maskinvare" består av et hovedkort med en mikrokontroller (prosessorkort) og utvidelseskort installert på den, som vanligvis kalles shilds. Ved å koble skjoldet til prosessorkortet kan du legge til nye komponenter i smarthuset. Det samlede systemet kan enten være helt autonomt eller arbeide sammen med en datamaskin via et standard kablet eller trådløst grensesnitt.

På prosessorkortet kan du installere spesielle utvidelser (shild), noe som øker funksjonaliteten til systemet

Fordeler med Arduino-systemet

Denne maskinvarepakken tiltrekker brukeren med slike fordeler:

  • Muligheten for autonomt arbeid på grunn av tilstedeværelsen av egen kontroller;
  • omfattende muligheter for å sette opp systemet (brukeren skriver seg selv et program der scenarier av kompleksitet kan gis);
  • Enkel prosess for å laste programmet inn i kontrolleren: Programmereren er ikke nødvendig for dette, det er nok å ha en USB-kabel (i mikrokontroller er det en fastvare Bootloader);
  • Den rimelige prisen på komponenter på grunn av mangelen på monopolrettigheter for en bestemt produsent (arkitekturen er åpen).

Hvis Bootloader bootloader begynte å fungere, eller det ikke ble vist i den kjøpte mikrokontrolleren, har brukeren muligheten til å blinke den selv. IDE-programvare skallet gir støtte til et antall av de mest populære og populære programmene for dette formålet. I tillegg har nesten alle Arduino-prosessorer en mannekontakt som tillater programmering i kretsløpet.

Arduino IDE-programmet, presentert på arduino.cc nettsiden, bruker hardware-programvare plattformer, mens i versjonen av programmet på arduino.org slik funksjonen er fraværende.

Hvilke løsninger tilbyr Arduino?

Siden produksjonen av Arduino-kompatible sensorer og enheter håndteres av mange selskaper, er rekkevidden av disse produktene ganske bred. Her brukes det oftest:

  1. Sensorer som overvåker klimaparametre:
    • temperatur;
    • fuktighet;
      Et spesialkort med temperatur- og fuktighetssensorer gir et grensesnitt for utmatning av målte parametre til LCD-skjermen
    • nedbør (regn og snøføler);
    • belysning;
    • trykk.
  2. Sensorer, som tillater å bestemme den romlige posisjonen til objektet de er fikset på:
    • 6-akse gyro sensor med akselerometer;
    • kompass.
      Det innebygde kompasset gir deg mulighet til å bestemme lysets sider i forhold til objektet som systemet brukes på
  3. Sensorer, som tillater registrering av tilstedeværelse av ulike objekter:
    • bevegelsessensor;
    • infrarød sensor (fikse en bevegelig sitteperson eller varmblodig dyr);
      IR-sensor lar deg bestemme tilstedeværelsen av mennesker i huset og gå til den aktuelle grenen av arbeidsscenariet
    • ultralydsensor (detekterer objekter med hvilken som helst temperatur og bestemmer avstanden til dem).
  4. Nødsensorer:
    • røykvarsler;
    • brann sensor;
    • gasslekkasensor;
      Tilkobling av gassensoren vil umiddelbart oppdage gasslekkasje i rommet og aktivere nødsituasjonen
    • karbondioksyd sensor.
  5. Andre enheter, for eksempel:
    • mikrofon;
    • time;
    • døren åpen sensor;
    • fjernkontroller (radiofrekvens og infrarød) med mottakere;
    • fjern knapper.

Noen av disse enhetene er inkludert i Arduino Start-basesettet, som fra noen produsenter kalles StarterKit.

Startsettet til Arduino-systemet inkluderer et prosessorkort og flere brukte enheter

Den utøvende delen inneholder et stort sett med enheter, for eksempel:

  • elektriske motorer;
  • reléer og ulike brytere;
  • dimmere (tillater jevnt å endre lysstyrken);
  • dørlukkere;
  • Ventiler og 3-veis ventiler med servostasjoner.
.

Hvis du planlegger å koble til belysning via Arduino-relé, er det bedre å bruke LED-lamper som lysarmaturer. Lampene som gløder når de er koblet gjennom slike reléer, brenner raskt.

.

Video: Vi begynner å jobbe med Arduino - vi styrer LED gjennom webgrensesnittet

Utarbeide et prosjekt på Arduino

Prosessen med å opprette og konfigurere "smart house" Arduino vil bli vist på eksempelet på et system der følgende funksjoner skal bygges:

  • temperaturovervåkning i gata og innendørs;
  • overvåking av vinduets tilstand (åpen / lukket);
  • overvåkning av værforholdene (klart / regn);
  • generering av et lydsignal når bevegelsesføleren utløses, hvis alarmfunksjonen er aktivert.

Systemet vil bli konfigurert på en slik måte at dataene kan ses ved hjelp av en spesiell søknad, samt en nettleser, det vil si at brukeren vil kunne gjøre dette fra ethvert sted der det er tilgang på internett.

Forkortelser brukt:

  1. "GND" er bakken.
  2. "VCC" - mat.
  3. "PIR" - bevegelsessensor.

De nødvendige komponentene for produksjon av "smart house" -systemet

For Arduinos Smart Home-system, trenger du følgende:

  • mikroprosessorbordet Arduino;
  • Ethernet-modul ENC28J60;
  • to temperaturfølere merker DS18B20;
  • mikrofon;
  • regn og snø sensor;
  • bevegelsessensor;
  • bytte reed;
  • relé;
  • Motstand motstand, kOhm;
  • snoet par kabel;
  • Ethernet-kabel.

Kostnaden for alle komponenter er ca $ 90.

For å gjøre et system med de nødvendige funksjonene, trenger vi et sett med enheter som koster rundt 90 dollar

Bygg "smart house trinnvis instruksjon

.

Det er sekvensen der du må handle.

Tilkobling av executive og sensor enheter

Vi koble alle komponenter i henhold til ordningen.

Samlingen av systemet reduserer i utgangspunktet tilkobling av aktuatorene til de tilsvarende kontakter på prosessorkortet

Utvikling av programkode

Brukeren skriver hele programmet i Arduino IDE-skallet, som sistnevnte er utstyrt med en tekstredigerer, prosjektlederen, kompilatoren, preprosessoren og midlene til å fylle programkoden i styrets mikroprosessor Arduino. Utviklede versjoner av IDE for operativsystemene i Mac OS X, Windows og Linux. Programmeringsspråket er C ++ med noen forenklinger. Brukerprogrammer for Arduino kalles vanligvis skisser eller skisser, IDE lagrer dem til filer med utvidelsen ".ino".

Hovedfunksjonen (), som er obligatorisk i C ++, opprettes automatisk av IDE wrapper, foreskriver en rekke standard handlinger i den. Brukeren skal skrive oppsettet () -funksjonene (gjort en gang ved starttid) og loop () (utført i en uendelig sløyfe). Begge disse funksjonene er obligatoriske for Arduino.

Overskriftsfiler av standardbiblioteker trenger ikke å bli satt inn i programmet - IDE gjør dette automatisk. Det gjelder ikke brukerbiblioteker - de må spesifiseres.

.

Legge til biblioteker i "Project Manager" IDE utføres på en litt uvanlig måte. I form av kildekoden skrevet i C ++, legges de til en spesiell mappe i IDE-skjermens arbeidskatalog. Etter dette vises navnene på disse bibliotekene i den tilsvarende IDE-menyen. De som brukerens merker blir lagt til i samlingslisten.

.

IDE gir et minimum av innstillinger, og muligheten til å konfigurere kompilatoren mangler i det hele tatt. Dermed er en nybegynner programmer immun mot feil.

Her er et eksempel på det enkleste programmet, noe som gjør at LED-lampen som er koblet til 13-utgangen på brettet, blinker hvert 2. sekund:

.

tomromoppsett () {pinMode (13, OUTPUT); // Arduino utgang 13 utgang}

tomromsløyfe () {digitalWrite (13, HIGH); // Aktiver den 13. utgangen, parameteren for digitalWrite-funksjonen samt høyt er et høyt logisk nivå-tegn

forsinkelse (1000); // Forsinkelsessyklus i 1000 msek - 1 sekund

digitalWrite (13, LOW); // Utgang slå av 13, samtaleparameter LOW - lav logisk nivåattributt

forsinkelse (1000); // Forsinkelsessyklus i 1 sekund}

.

Men for øyeblikket er det ikke alltid nødvendig for en bruker å personlig skrive et program: det er mange ferdige biblioteker og skisser på nettverket (se her: http://arduino.ru/Reference). Det er et ferdigprogram for systemet som er vurdert i dette eksemplet. Den må lastes ned, pakkes ut og importeres til IDE. Teksten til programmet er gitt med kommentarer som forklarer prinsippet om operasjonen.

Alle programmer på Arduino opererer på samme prinsipp: Brukeren sender en forespørsel til prosessoren, og brukeren laster ned nødvendig kode til skjermen på en datamaskin eller smarttelefon

Når brukeren klikker på "Oppdater" -knappen i nettleseren eller på smarttelefonprogrammet, sender Arduino microcontroller dataene til denne klienten. Med hver av sidene betegnet som "/ tempin "/ tempout "/ rain "/ window "/ alarm sendes programkoden, som vises på skjermen.

Installere et klientprogram på en smarttelefon (for Android OS)

For å motta data fra smart hjemmeanlegg i nettverket, kan du laste ned det ferdige programmet.

Her er hva gadget eieren må gjøre:

  1. Last ned filen SmartHome.apk.
  2. Send det til telefonen.
  3. Etter å ha åpnet "Filbehandling plasser denne filen.
  4. Klikk på den og velg "Installer" (et "merk" må kontrolleres, slik at du kan installere programmer utenfor Google Play-tjenesten).
    Du må aktivere installeringen av programmer ikke fra PlayMarket, som ligger i delen "Sikkerhet" i smarttelefoninnstillingene
  5. Når installasjonen er fullført, aktiver programmet.
  6. Sett det opp.

Med dette programmet kan du ikke bare motta informasjon fra smart house-systemet, men også administrere det - aktiver og deaktiver alarmer. Hvis den er på, mottar programmet et varsel når bevegelsesføleren utløser. Forespørsel av Arduino-systemet for utløseren av bevegelsesfølerapplikasjonen utføres med en frekvens på en gang i minuttet.

Ved å aktivere ikonet "Innstillinger" kan du redigere IP-adressen din.

Konfigurere nettleseren til å jobbe med "smart house"

I adressefeltet i nettleseren skriver du inn XXX.XXX.XXX.XXX/all, der "XXX.XXX.XXX.XXX" er din IP-adresse. Etter dette vil det være mulig å motta data fra systemet og administrere det.

Koden som presenteres her, gjør at nettleseren kan slå lyset av og på, mens i Android-smarttelefonprogrammet, er en slik funksjon ikke implementert.

Arbeider med ruteren

Deretter på ruteren må du åpne porten:

  • åpne ruteren innstillingene;
  • foreskrive adressen Arduino IP;
  • åpen port 80.
    Det er nødvendig å registrere ruten til Arduino prosessor for port 80

Sette opp en konto på noip.com

Dette trinnet er valgfritt, men det er nødvendig hvis du vil tildele et domenenavn til adressen. For å gjøre dette må du registrere deg på nettstedet https://www.noip.com/, gå til delen "Legg til vert" og skriv inn IP-adressen til systemet.

Etter å ha registrert deg på nettstedet noip.com, kan du få tilgang til systemet, ikke bare etter IP-adresse, men også av det fulle domenenavnet
.

Opprettelsen av prosjektet er fullført, du kan sjekke helsen til systemet.

Video: smarte hus på Arduino

..

Funksjoner av noen Arduino-maskinvare

I lys av det faktum at Arduino-kompatible komponenter produseres av mange tredjeparts selskaper hvis produktkvalitet selv selskapet Arduino ikke kontrollerer, brukeren er mer sannsynlig å kjøpe en komponent som ikke fungerer helt riktig.

.

En lignende situasjon har utviklet seg i utviklingen av personlige datamaskiner. På en gang åpnet IBM arkitekturen for sine datamaskiner, noe som resulterte i at IBM-kompatible datamaskiner og enkelte komponenter begynte å produsere mange selskaper. Som et resultat er "personligheter" av denne typen brede spredt over hele verden, men kvaliteten på komponentene og graden av kompatibilitet var i mange tilfeller ikke på høyeste nivå. Motsatt taktikk fulgte selskapet Apple. Det begrenset utviklingssirkelen med tilgang til arkitektur, og den samme politikken ble utført innen programvareutvikling. Som et resultat var Apples datamaskiner mindre vanlige og dyrere, men de er en størrelsesorden som er bedre enn IBM-kompatible enheter som kjører Windows.

.

For noen komponenter for Arduino-systemer merket brukerne følgende:

  1. Temperaturføleren DHT11, som leveres med grunnpakken (StarterKit), gir en signifikant feil på 2-3 grader. På rommet anbefales det å bruke en temperatursensor DHT22, som gir mer nøyaktige indikasjoner, og for installasjon på gaten - DHT21, i stand til å operere ved negative temperaturer og ha beskyttelse mot mekanisk skader.
  2. På noen Arduino mikroprosessorbrett, når reléet som er koblet til dem, lukkes COM-porten. På grunn av dette kan mikrokontrolleren ikke laste inn skissen: Når fyllingen starter, starter prosessoren på nytt. Reléet klikker deretter, COM-porten er deaktivert og skisselastingsprosessen stopper.
  3. Vinduet / dørens lukkeføler presenterer noen ganger overraskelser i form av falske positiver. I lys av dette er skissen skrevet slik at systemet bare utfører den nødvendige tiltak etter at flere mottakere er mottatt på rad.
  4. For å konfigurere prosesshåndtering ved hjelp av klapper, bestiller noen uerfaren brukere en lyddetektor med manuell terskeljustering i stedet for en mikrofon. For dette formål er denne komponenten ikke egnet, siden den har et veldig kort spekter: det er nødvendig å klappe ikke mer enn 10 cm fra detektoren. I tillegg sender denne sensoren signaler med pulser av kort varighet, slik at i nærvær av en stor Skissen, som tar relativt lang tid å behandle, har mikrokontrolleren bare ikke tid til dem å fikse.
  5. For brannalarmsystemet, bør det brukes en røykdetektor, i stedet for en brannføler. Sistnevnte registrerer en flamme ikke mer enn 30 cm fra seg selv.
  6. Ved funksjonsfeil i mikrokontrolleren eller feil i koden, er det bedre å bruke normalt lukkede reléer med serielt tilkoblede manuelle brytere.

For å unngå kjøp av komponenter av lav kvalitet, anbefaler erfarne brukere å forhåndsbehandle vurderinger på dem, publisert på nettet. Billige sensorer kan kjøpes i flere versjoner for å personlig verifisere hvilken som fungerer bedre.

Kanskje er "smart house" -systemet fra Arduino ikke det beste, men det bredeste valget av komponenter og rimelig pris har gjort det til en av de mest populære. Ved hjelp av våre tips lærer du raskt hvordan du lager Arduino-prosjekter ved å automatisere ulike hjemmeprosesser.

.
..
interessant:
.
.
Grunnleggende regler for å installere en sykkelcomputer

Grunnleggende regler for å installere en sykkelcomputerHvordan Du Installerer

Grunnleggende regler for å installere en sykkelcomputer. . . En sykkelcomputer er en elektronisk liten enhet som kan bestemme bevegelseshastigheten, avstanden du reiste, kjøretiden og noen andre pa...

Les Mer
Demontering av klimaanlegget (delt system) med egne hender: En veiledning til handling for hjemmemesteren

Demontering av klimaanlegget (delt system) med egne hender: En veiledning til handling for hjemmemesterenHvordan Du Installerer

Demontering av klimaanlegget (delt system) med egne hender: En veiledning til handling for hjemmemesteren. .. . For demontering av det mest populære utvalget av klimaanlegg - splitt systemer - spes...

Les Mer
Bomull brytere - applikasjon og produksjon av egne hender

Bomull brytere - applikasjon og produksjon av egne henderHvordan Du Installerer

Bomull brytere - applikasjon og produksjon av egne hender. .. . I hverdagen er det ofte situasjoner hvor selv en enkel handling - inklusjon av lys i et rom kan være et problem. Dette er ofte forbun...

Les Mer