Smart hjem baseret på Arduino: trin-for-trin instruktion om montering

Smart hjem baseret på Arduino: trin-for-trin instruktion om montering

.
..
.

På nuværende tidspunkt er systemer som "smart home" fra de fantastiske exotics, der kun er tilgængelige for de mest velhavende, blevet en almindelig, som enhver kan deltage i. Der er noget at vælge imellem: mange udviklere har mestret frigivelsen af ​​sådanne hardware-software systemer. Blandt de mest berømte er Arduino, hvis produkter vi nu vil blive bekendt med.

indhold

  • 1Hvad er et "smart hjem"
  • 2Lære at vide Arduino
    • 2.1Fordele ved Arduino-systemet
    • 2.2Hvilke løsninger tilbyder Arduino?
      • 2.2.1Video: Vi begynder at arbejde med Arduino - vi styrer LED'en gennem webgrænsefladen
  • 3Udarbejdelse af et projekt på Arduino
    • 3.1De nødvendige komponenter til produktion af "smart house" -systemet
  • 4Byg "smart house trin-for-trin instruktion
    • 4.1Tilslutning af executive og sensor enheder
    • 4.2Udvikling af programkode
    • 4.3Installation af et klientprogram på en smartphone (til Android OS)
    • 4.4Konfiguration af browseren til at arbejde med "smart house"
    • instagram viewer
    • 4.5Arbejder med routeren
    • 4.6Oprettelse af en konto på noip.com
    • 4.7Video: Smarte hus på Arduino
  • 5Funktioner af nogle Arduino hardware
..

Hvad er et "smart hjem"

Dette udtryk har en mere forståelig analog - "hjemmeautomatisering". Essensen af ​​sådanne løsninger er at sikre automatisk udførelse af forskellige processer i hjemmet, kontoret eller specialiserede faciliteter. Det enkleste eksempel er den automatiske tilkobling af belysning på et tidspunkt, hvor en af ​​beboerne kommer ind i rummet.

"Smart house" -systemet fra Arduino er et sæt udstyr til styring af driften af ​​forskellige enheder ved hjælp af en mobiltelefon baseret på Android OS

I ethvert "smart house" system kan følgende komponenter skelnes:

  1. Sensorisk del. Dette er et sæt enheder, hvis hovedpart er repræsenteret af forskellige sensorer, hvilket gør det muligt for systemet at registrere arrangementer af forskellig art. Eksempler er temperatur- og bevægelsesfølere. Andre enheder af sensordelen tjener til at overføre brugerens kommandoer til systemet. Disse er fjernbetjeninger og fjernbetjeninger med modtagere.
    Et af de mest brugte elementer i "smart house" er en bevægelsesføler
  2. Den udøvende del. Disse er de enheder, som systemet kan styre, reagerer på denne måde til en begivenhed i overensstemmelse med et brugerdefineret scenario. Først og fremmest er det et relæ, hvorigennem controlleren i "smart house" kan levere strøm til enhver elektrisk enhed, det vil sige at tænde og slukke for det. For eksempel på bomulden i din håndflade (systemet "hører" det med en mikrofon) kan du konfigurere aktiveringen af ​​et relæ, der leverer strøm til blæseren. Bemærk: I dette eksempel kan ventilatoren være nogen. Men du kan også bruge enheden, der er frigivet til arbejde som en del af et bestemt system. For eksempel fremstiller Arduino elektriske motorer til sine systemer, som det f.eks. Er muligt at lukke eller Åbn vinduet, og Xiaomi (en kinesisk producent af lignende systemer) - styreenheder luftrenser. En sådan anordning styres fuldstændigt af systemet, det vil sige, det kan ikke kun tænde det, men også ændre indstillingerne.
    Elektromotor er en aktuator, som aktiveres af signalet fra systemcontrolleren og driver mekanismen forbundet med den
  3. Processoren. Kan også kaldes en controller. Dette er systemets "hjerne som koordinerer og koordinerer arbejdet i alle dets komponenter.
    Processorkortet (eller controlleren) styrer aktuatorerne baseret på firmware og data modtaget fra sensorerne
  4. Software. Dette er et sæt instruktioner, der styrer processoren. I systemer fra nogle producenter, herunder Arduino, kan brugeren skrive et program uafhængigt, i andre - færdige løsninger anvendes, hvor kun typiske scenarier.

Moderne systemer "smart house" er opdelt i flere sorter:

  1. Udstyret med sin egen controller.
  2. Ved hjælp af denne kapacitet er processoren til en brugers computer (tablet, smartphone).
  3. Behandling af oplysninger ved hjælp af en fjernserver, der ejes af udviklerfirmaet (sky service).
.

Systemet kan ikke kun aktivere denne eller den pågældende enhed, men informere også brugeren om den begivenhed, der opstod ved at sende en besked til telefonen eller på en anden måde. Det kan således overlades til alarmfunktioner, herunder brandbeskyttelse.

Scenarier kan være meget mere komplekse end vi beskrev i eksemplerne. For eksempel er det muligt at lære systemet at inkludere en kedel og overføre tilførslen af ​​varmt vand til det, når den centrale forsyning er afskåret, hvis det afslører tilstedeværelsen af ​​nogen fra huslejerne i huset (hjælp infrarød, ultralydssensorer, samt sensorer bevægelse).

Lære at vide Arduino

Arduino er et italiensk firma dedikeret til udvikling og produktion af komponenter og software til simple smarte hjem systemer beregnet til ikke-specialister. Det er bemærkelsesværdigt, at denne udvikler lavede arkitekturen i de systemer, han skabte helt åben, hvilket gjorde det muligt tredjepartsproducenter til at udvikle nye og kopiere eksisterende Arduino-kompatible enheder samt producere software til dem.

.
Arduino Uno-kittet indeholder de nødvendige komponenter til implementering af de enheder, der er beskrevet i vedhæftet bog

Denne tilgang har givet en høj popularitet for det italienske selskabs systemer, men det har også en ulempe: på grund af at for produktionen komponenter til Arduino-systemer er taget, for at sige alle, der ikke er dovne, lykkes det ikke altid for første gang at opnå høj kvalitet produkt. Ofte skal du stå over for problemet med kompatibilitet af komponenter fra forskellige producenter.

En potentiel bruger skal være opmærksom på, at der siden 2008 er to virksomheder, der producerer produkter under Arduino-mærket. Ved den første, der startede denne retning, er det officielle websted placeret på www.arduino.cc; den anden, nyligt dannede - på www.arduino.org. Hvad der blev udviklet før splittelsen, er på begge sider repræsenteret lige, men rækkevidden af ​​nye produkter er allerede anderledes.

Softwaren til "smart house" -systemerne Arduino har form af en software shell (kaldet IDE), hvor du kan skrive og kompilere programmer. Det distribueres gratis. Programmerne er skrevet i C ++.

Versionerne af Arduino IDE-programmet, der præsenteres på disse websteder, er også meget forskellige, selv om de har det samme ikke kun navnet, men også versionsnumrene.På grund af dette er de ret let at blive forvirrede. Forskellen er, at hver software understøtter sine biblioteker og bestyrelser.

Systemets "hardware" består af et bundkort med en mikrocontroller (processorkort) og ekspansionskort installeret på det, som almindeligvis hedder shilds. Ved at forbinde skjoldet til processorkortet kan du tilføje nye komponenter til smarthuset. Det samlede system kan enten være helt selvstændigt eller arbejde sammen med en computer via en standard kablet eller trådløs interface.

På processorkortet kan du installere specielle udvidelser (shild), hvilket øger systemets funktionalitet

Fordele ved Arduino-systemet

Denne hardware-softwarepakke tiltrækker brugeren med sådanne fordele:

  • muligheden for selvstændigt arbejde på grund af tilstedeværelsen af ​​sin egen controller
  • store muligheder for at etablere systemet (brugeren selv skriver et program, hvor der kan gives scenarier af enhver kompleksitet);
  • Enkelhed i processen med at indlæse programmet i controlleren: Programmeringen er ikke nødvendig for dette, det er nok at have et USB-kabel (i microcontroller er der en firmware Bootloader);
  • den overkommelige pris for komponenter på grund af manglende monopolrettigheder for en bestemt producent (arkitekturen er åben).

Hvis Bootloader bootloader begyndte at fungere, eller den ikke blev vist i den købte mikrocontroller, har brugeren mulighed for at blinke det selv. IDE software shell giver support til et antal af de mest populære og populære programmører til dette formål. Derudover har næsten alle Arduino-processorer en hanstik, der tillader programmering i kredsløb.

Arduino IDE-programmet, præsenteret på arduino.cc-webstedet, bruger hardware-software platforme, mens i versionen af ​​programmet på arduino.org sådan funktionen er fraværende.

Hvilke løsninger tilbyder Arduino?

Da produktionen af ​​Arduino-kompatible sensorer og enheder håndteres af mange virksomheder, er rækken af ​​disse produkter ret bred. Her anvendes det oftest:

  1. Sensorer, der overvåger klimaparametre:
    • temperatur;
    • fugtighed;
      Et specielt bord med temperatur- og fugtighedssensorer giver en grænseflade til udlæsning af de målte parametre på LCD-skærmen
    • nedbør (regn og sne sensor);
    • belysning;
    • tryk.
  2. Sensorer, der gør det muligt at bestemme den rumlige placering af objektet, som de er rettet på:
    • 6-akse gyro sensor med accelerometer;
    • kompas.
      Det indbyggede kompas giver dig mulighed for at bestemme lysets sider i forhold til det objekt, som systemet bruges på
  3. Sensorer, der giver mulighed for at registrere tilstedeværelsen af ​​forskellige objekter:
    • bevægelsesføler;
    • infrarød sensor (fiks en ubevægelig siddende person eller varmblodet dyr)
      IR-sensor giver dig mulighed for at bestemme tilstedeværelsen af ​​personer i huset og gå til den relevante gren af ​​arbejdsscenariet
    • ultralydssensor (detekterer objekter med enhver temperatur og bestemmer afstanden til dem).
  4. Nødsensorer:
    • røgdetektor;
    • brand sensor;
    • gas lækage sensor;
      Tilslutning af gasføleren registrerer øjeblikkeligt gaslækage i rummet og aktiverer nødscenariet
    • kuldioxid sensor.
  5. Andre enheder, for eksempel:
    • mikrofon;
    • timer;
    • dør åben sensor;
    • fjernbetjeninger (radiofrekvens og infrarød) med modtagere;
    • fjernbetjeningsknapper.

Nogle af disse enheder er inkluderet i Arduino Start base kit, som fra nogle producenter hedder StarterKit.

Udgangssættet til Arduino-systemet omfatter et processorkort og flere mest almindeligt anvendte enheder

Den udøvende del indeholder et stort sæt enheder, for eksempel:

  • elektriske motorer;
  • relæer og forskellige switche;
  • dimmere (tillader jævnt at ændre lysstyrken)
  • dørlukkere;
  • Ventiler og 3-vejsventiler med servodrev.
.

Hvis du planlægger at tilslutte belysning via Arduino-relæ, er det bedre at bruge LED-lamper som lysarmaturer. Lygter, der gløder ved tilslutning via sådanne relæer, brænder hurtigt.

.

Video: Vi begynder at arbejde med Arduino - vi styrer LED'en gennem webgrænsefladen

Udarbejdelse af et projekt på Arduino

Processen med at oprette og konfigurere "smart house" Arduino vil blive vist på eksemplet på et system, hvor følgende funktioner vil blive bygget:

  • temperaturovervågning i gaden og indendørs;
  • overvågning af vinduets tilstand (åben / lukket);
  • overvågning af vejrforholdene (klar / regn);
  • generering af et lydsignal, når bevægelsesføleren udløses, hvis alarmfunktionen er aktiveret.

Systemet vil blive konfigureret på en sådan måde, at dataene kan ses ved hjælp af en speciel applikation, såvel som en webbrowser, det vil sige brugeren vil kunne gøre dette fra ethvert sted, hvor der er adgang på internettet.

Forkortelser anvendt:

  1. "GND" er jorden.
  2. "VCC" - mad.
  3. "PIR" - bevægelsesføler.

De nødvendige komponenter til produktion af "smart house" -systemet

For Arduinos Smart Home-system skal du bruge følgende:

  • mikroprocessor bord Arduino;
  • Ethernet-modul ENC28J60;
  • to temperatursensorer mærke DS18B20;
  • mikrofon;
  • regn og sne sensor;
  • bevægelsesføler;
  • switch reed;
  • relay;
  • Modstand modstand, kOhm;
  • snoet par kabel;
  • Ethernet-kabel.

Omkostningerne ved alle komponenter er ca. $ 90.

For at gøre et system med de nødvendige funktioner, har vi brug for et sæt enheder, der koster omkring 90 dollar

Byg "smart house trin-for-trin instruktion

.

Det er den rækkefølge, du skal handle i.

Tilslutning af executive og sensor enheder

Vi forbinder alle komponenter i henhold til ordningen.

Samlingen af ​​systemet reducerer i det væsentlige til at forbinde aktuatorerne til de tilsvarende kontakter på processorkortet

Udvikling af programkode

Brugeren skriver hele programmet i Arduino IDE shell, for hvilket sidstnævnte er udstyret med en tekst editor, projektlederen, kompilatoren, præprocessoren og midlerne til at udfylde programkoden i styreens mikroprocessor Arduino. Udviklede versioner af IDE til operativsystemerne i Mac OS X, Windows og Linux. Programmeringssproget er C ++ med nogle forenklinger. Brugerprogrammer til Arduino kaldes normalt skitse skitser eller skitser, IDE gemmer dem til filer med udvidelsen ".ino".

Hovedfunktionen (), som er obligatorisk i C ++, oprettes automatisk af IDE wrapper, der foreskriver et antal standard handlinger i den. Brugeren skal skrive opsætningsfunktionerne (gjort en gang ved starttidspunktet) og sløjfen () (udført i en uendelig sløjfe). Begge disse funktioner er obligatoriske for Arduino.

Hovedfiler i standardbiblioteker behøver ikke indsættes i programmet - IDE gør dette automatisk. Det gælder ikke for brugerbiblioteker - de skal angives.

.

Tilføjelse af biblioteker til "Project Manager" IDE udføres på en lidt usædvanlig måde. I form af kildekoden, der er skrevet i C ++, tilføjes de til en særlig mappe i IDE-skalens arbejdsmappe. Derefter vises navne på disse biblioteker i den tilsvarende IDE-menu. De, som brugerens mærker vil blive tilføjet til kompileringslisten.

.

IDE'en giver et minimum af indstillinger, og evnen til at konfigurere kompilatoren mangler overhovedet. Således er en nybegynderprogrammer immun mod fejl.

Her er et eksempel på det enkleste program, hvilket gør, at LED'en, der er tilsluttet den 13. udgang af brættet, blinker hvert andet sekund:

.

void setup () {pinMode (13, OUTPUT); // Arduino output 13 output}

void loop () {digitalWrite (13, HIGH); // Aktiver den 13. udgang, parameteren for digitalWrite-funktionsopkaldet HIGH er et højt logisk niveau tegn

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

digitalWrite (13, LOW); // Output slukkes 13, kald parameter LOW - lav logisk niveau attribut

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

.

Men i øjeblikket er det ikke altid nødvendigt for en bruger at personligt skrive et program: der er mange færdige biblioteker og skitser på netværket (se her: http://arduino.ru/Reference). Der er et færdigt program til det system, der tages i betragtning i dette eksempel. Det skal downloades, pakkes ud og importeres til IDE. Teksten i programmet er forsynet med kommentarer, der forklarer princippet om dets drift.

Alle programmer på Arduino opererer på samme princip: brugeren sender en anmodning til processoren, og brugeren henter den nødvendige kode til skærmen på en computer eller smartphone

Når brugeren klikker på knappen "Opdater" i browseren eller på smartphoneapplikationen, sender Arduino microcontroller dataene til denne klient. Med hver af de sider, der er angivet som "/ tempin "/ tempout "/ rain "/ window "/ alarm sendes programkoden, som vises på skærmen.

Installation af et klientprogram på en smartphone (til Android OS)

For at modtage data fra smart home-systemet i netværket kan du downloade det færdige program.

Her er hvad gadget-ejeren skal gøre:

  1. Download filen SmartHome.apk.
  2. Send det til din telefon.
  3. Efter at have åbnet "Filhåndtering skal du placere denne fil.
  4. Klik på det og vælg "Installer" (en "markering" skal kontrolleres, så du kan installere programmer uden for Google Play-tjenesten).
    Du skal aktivere installationen af ​​programmer, ikke fra PlayMarket, som er placeret i afsnittet "Sikkerhed" i smartphone-indstillingerne
  5. Når installationen er færdig, skal du aktivere programmet.
  6. Sæt det op.

Med denne applikation kan du ikke kun modtage informationer fra smart house-systemet, men også administrere det - aktiver og deaktiver alarmer. Hvis den er tændt, modtager programmet en besked, når bevægelsesføleren udløser. Interrogation af Arduino-systemet til udløseren af ​​bevægelsesfølerapplikationen udføres med en frekvens på en gang i minuttet.

Ved at aktivere ikonet "Indstillinger" kan du redigere din IP-adresse.

Konfiguration af browseren til at arbejde med "smart house"

I adresselinjen i din browser, skal du indtaste XXX.XXX.XXX.XXX/all, hvor «XXX.XXX.XXX.XXX» - din IP-adresse. Herefter vil det være muligt at modtage data fra systemet og styre det.

Koden, der præsenteres her, giver browseren mulighed for at tænde og slukke for lyset, mens en Android-smartphone-applikation ikke implementeres.

Arbejder med routeren

Så på routeren skal du åbne porten:

  • Åbn routerindstillingerne.
  • ordinere adressen Arduino IP;
  • åben havn 80.
    Det er nødvendigt at registrere ruten til Arduino-processoren til port 80

Oprettelse af en konto på noip.com

Dette trin er valgfrit, men det er nødvendigt, hvis du vil tildele et domænenavn til adressen. For at gøre dette skal du registrere dig på hjemmesiden https://www.noip.com/, Gå til afsnittet "Tilføj vært" og indtast systemets IP-adresse.

Efter at du har registreret dig på webstedet noip.com, kan du få adgang til systemet ikke kun via IP-adresse, men også af det fulde domænenavn
.

Oprettelsen af ​​projektet er afsluttet, du kan kontrollere systemets helbred.

Video: Smarte hus på Arduino

..

Funktioner af nogle Arduino hardware

I betragtning af at Arduino-kompatible komponenter produceres af mange tredjepartsvirksomheder, hvis produktkvalitet selv virksomheden Arduino ikke kontrollerer, brugeren er mere tilbøjelige til at købe en komponent, der ikke fungerer helt korrekt.

.

En lignende situation har udviklet sig i udviklingen af ​​personlige computere. På en gang åbnet IBM arkitekturen for sine computere, hvilket resulterede i, at IBM-kompatible computere og individuelle komponenter begyndte at producere mange virksomheder. Som et resultat, er "personlige computere" af denne type spredt rundt om i verden, men kvaliteten af ​​komponenter og graden af ​​kompatibilitet i mange tilfælde vist sig at være ikke på højeste niveau. Modsat taktik overholdt selskabet Apple. Det begrænsede udviklercirklen med adgang til arkitektur, og den samme politik blev udført inden for softwareudvikling. Som følge heraf var Apples computere mindre almindelige og dyrere, men de er en størrelsesorden, der er bedre end IBM-kompatible enheder, der kører Windows.

.

For nogle komponenter til Arduino-systemer bemærkede brugerne følgende:

  1. Temperaturføleren DHT11, der leveres med basispakken (StarterKit), giver en signifikant fejl på 2-3 grader. I rummet anbefales det at bruge en temperaturføler DHT22, der giver mere præcise indikationer og til installation på gaden - DHT21, der kan fungere ved negative temperaturer og har beskyttelse mod mekanisk skader.
  2. På nogle Arduino mikroprocessorbrætter, når relæet, der er sluttet til dem, lukker COM-porten. På grund af dette kan microcontroller ikke indlæse skitsen: Når fillingen starter, genstarter processoren. Relæet klikker derefter, COM-porten er deaktiveret, og skitseindlæsningen stopper.
  3. Vinduet / dørlukkersensoren præsenterer undertiden overraskelser i form af falske positiver. På baggrund af dette er skriften skrevet således, at systemet kun frembringer den nødvendige handling efter modtagelse af flere signaler i træk.
  4. For at konfigurere processtyring ved hjælp af popping nogle brugere uerfarenhed i stedet købt en mikrofon lyd detektor med tærskel manuel justering. Til dette formål er denne komponent ikke egnet, da den har en meget kort rækkevidde: det er nødvendigt at klappe ikke mere end 10 cm fra detektoren. Derudover transmitterer denne sensor signaler med pulser af kort varighed, så i nærvær af en stor Skitse, der tager relativt lang tid at behandle, har mikrokontrolleren bare ikke tid til dem at rette.
  5. For brandalarmen skal der anvendes en røgdetektor i stedet for en brandføler. Sidstnævnte registrerer en flamme ikke mere end 30 cm fra sig selv.
  6. Om tilfælde af fejl i mikrocontrolleren eller en fejl i koden er bedre at bruge en normalt lukket afbryder forbundet i serie med den manuelle kontakt.

For at undgå køb af komponenter af lav kvalitet anbefaler de erfarne brugere, at de gennemgår anmeldelser på dem, der udgives på internettet. Billige sensorer kan købes i flere versioner for personligt at verificere, hvilken en fungerer bedre.

Måske det system af "intelligente hjem" fra firmaet Arduino er ikke den bedste kvalitet, men en bred vifte af komponenter og deres rimelig pris absolut gjort det en af ​​de mest populære. Ved hjælp af vores tips lærer du hurtigt, hvordan du opretter Arduino-projekter ved at automatisere forskellige hjemmeprocesser.

.
..
interessant:
.
.
Regler for placering og installation af afsætningsmuligheder og afbrydere i lejligheden

Regler for placering og installation af afsætningsmuligheder og afbrydere i lejlighedenSådan Installeres

Regler for placering og installation af afsætningsmuligheder og afbrydere i lejligheden. . . Med en overflod af husholdningsapparater og en række belysningsenheder er behovet for at øge antallet af...

Læs Mere
Instruktioner til selvforbindelse af en gaskomfur

Instruktioner til selvforbindelse af en gaskomfurSådan Installeres

Instruktioner til selvforbindelse af en gaskomfur. .. . Før du tilslutter gaskomfuret selv, skal du omhyggeligt læse alle kompleksiteter og træk ved denne proces. Dette er en meget ansvarlig slags ...

Læs Mere
Sådan hænger du et tv på væggen med dine egne hænder

Sådan hænger du et tv på væggen med dine egne hænderSådan Installeres

Sådan hænger du et tv på væggen med dine egne hænder. .. . Med ankomsten af ​​et fladskærms-tv i huset opstår der spørgsmålet om, hvordan man hænger tv'et på væggen korrekt og på det bedste sted. M...

Læs Mere