Pametni dom temelji na Arduinu: po korakih po montaži
Do sedaj so sistemi, kot je "pametni dom" iz neverjetnih eksotikov, ki so na voljo le najbolj bogatim, postali običajno, kateremu se lahko pridružijo vsi. Na voljo je nekaj: veliko razvijalcev je obvladalo izpustitev takih strojno-programskih sistemov. Med najbolj znanimi je Arduino, katerega izdelki se bomo zdaj spoznali.
Vsebina
- 1Kaj je "pameten dom"
-
2Spoznavanje Arduina
- 2.1Prednosti Arduino sistema
-
2.2Katere rešitve ponuja Arduino?
- 2.2.1Video: začnemo sodelovati z Arduinom - vodimo LED preko spletnega vmesnika
-
3Izdelava projekta na Arduinu
- 3.1Potrebne komponente za izdelavo sistema "pametne hiše"
-
4Ustvarite "pametno hišo navodila po korakih
- 4.1Povezovanje izvršnih in senzorskih naprav
- 4.2Razvoj programske kode
- 4.3Nameščanje odjemalske aplikacije v pametni telefon (za Android OS)
- 4.4Konfiguriranje brskalnika za delo z "pametno hišo"
- 4.5Delo z usmerjevalnikom
- 4.6Nastavitev računa na noip.com
- 4.7Video: pametna hiša na Arduinu
- 5Značilnosti nekaterih Arduino strojne opreme
Kaj je "pameten dom"
Ta izraz ima bolj razumljivo analogno - "avtomatizacijo doma". Bistvo takih rešitev je zagotoviti avtomatsko izvajanje različnih procesov, ki se pojavljajo v domu, pisarniškem ali specializiranem objektu. Najenostavnejši primer je avtomatsko vklop osvetlitve v času, ko eden od potnikov vstopi v prostor.
V vsakem sistemu pametne hiše je mogoče razlikovati naslednje komponente:
- Senzorni del. To je niz naprav, katerih glavni del predstavljajo različni senzorji, kar omogoča sistemu, da registrira dogodke druge narave. Primeri so temperaturni in gibalni senzorji. Druge naprave senzorskega dela služijo za prenos ukazov uporabnika v sistem. To so daljinski gumbi in daljinski upravljalniki s sprejemniki.
- Izvršni del. To so naprave, ki jih sistem lahko nadzoruje, tako reagira na dogodek v skladu s scenarijem, ki ga določa uporabnik. Najprej je to rele, preko katerega lahko krmilnik "pametne hiše" napaja električno napravo, to je, da jo vklopi in izklopi. Na primer, na bombažu na dlani (sistem "ga sliši" z mikrofonom) lahko nastavite aktiviranje releja, ki napaja ventilator. Opomba: v tem primeru je ventilator lahko poljuben. Toda lahko uporabite tudi napravo, posebej sproščeno za delo kot del določenega sistema. Na primer, Arduino proizvaja elektromotorje za svoje sisteme, s katerimi je mogoče, na primer, zapreti ali odprite okno in Xiaomi (kitajski proizvajalec podobnih sistemov) - nadzorne naprave čistilec zraka. Takšno napravo popolnoma nadzira sistem, to pomeni, da ga ne more samo vklopiti, temveč tudi spremeniti nastavitve.
- Procesor. Lahko se imenuje tudi krmilnik. To so "možgani" sistema, ki usklajuje in usklajuje delo vseh njegovih komponent.
- Programska oprema. To je niz navodil, ki vodijo procesor. V sistemih nekaterih proizvajalcev, vključno z Arduinom, lahko uporabnik napiše program samostojno, v drugih - uporabljamo že pripravljene rešitve, v katerih je le tipično scenariji.
Sodobni sistemi "pametna hiša" so razdeljeni na več vrst:
- Opremljen s svojim lastnim krmilnikom.
- V tej zmogljivosti uporablja procesor uporabniškega računalnika (tablični računalnik, pametni telefon).
- Obdelava podatkov z uporabo oddaljenega strežnika v lasti podjetja za razvijalce (storitev v oblaku).
Sistem ne more samo aktivirati te ali te naprave, ampak tudi obveščati uporabnika o dogodku, ki se je zgodil s pošiljanjem sporočila v telefon ali na drug način. Tako se lahko zaupa alarmnim funkcijam, vključno s protipožarno zaščito.
Scenariji so lahko veliko bolj zapleteni, kot smo opisali v primerih. Na primer, je mogoče poučiti sistem, da bo vključil kotel in prenesti dovod tople vode, ko se odklopi centralna napeljava, če razkrije prisotnost nekoga od najemnikov v hiši (pomoč infrardeči, ultrazvočni senzorji, kot tudi senzorji gibanje).
Spoznavanje Arduina
Arduino je italijansko podjetje, namenjeno razvoju in izdelavi komponent in programske opreme za preproste pametne sisteme za dom, ki so namenjeni nestrokovnjakom. Omeniti velja, da je ta razvijalec naredil arhitekturo sistemov, ki jih je ustvaril povsem odprt, kar je omogočilo proizvajalci tretjih proizvajalcev razvijejo nove in kopirajo obstoječe naprave, združljive z Arduino, in proizvajajo programsko opremo za jih.
Ta pristop je zagotovil veliko priljubljenost za sisteme italijanske družbe, vendar ima tudi pomanjkljivost: zaradi dejstva, da je za proizvodnjo komponente za Arduino-sisteme, tako rekoč vsi, ki niso leni, vedno ne uspejo prvič doseči visoke kakovosti izdelek. Pogosto se morate soočiti s problemom združljivosti komponent različnih proizvajalcev.
Potencialni uporabnik se mora zavedati, da od leta 2008 obstajajo dve podjetji, ki proizvajajo izdelke pod blagovno znamko Arduino. Na začetku, ki je začela to smer, je uradna stran na naslovu www.arduino.cc; drugo, novo ustanovljeno - na www.arduino.org. Kaj je bilo razvito pred splitom, je na obeh straneh predstavljeno enako, vendar je obseg novih izdelkov že drugačen.
Programska oprema za sisteme "pametne hiše" Arduino ima obliko programske lupine (imenovane IDE), v kateri lahko napišete in zbirate programe. Brezplačno se distribuira. Programi so napisani v C + +.
Različice programa Arduino IDE, predstavljene na teh spletnih mestih, so prav tako zelo različne, čeprav imajo enako ne samo ime, temveč tudi številke različic.Zaradi tega se lahko zlahka zbegnejo. Razlika je v tem, da vsaka programska oprema podpira svoje knjižnice in plošče.
"Strojna oprema" sistema je sestavljena iz matične plošče z mikrokrmilnikom (procesorska plošča) in razširitvenih kartic, nameščenih na njej, ki se običajno imenujejo obliži. Priključitev oklopa na ploščo procesorja vam omogoča dodajanje novih komponent pametni hiši. Sestavljeni sistem je lahko popolnoma avtonomen ali deluje v povezavi z računalnikom prek standardnega žičnega ali brezžičnega vmesnika.
Prednosti Arduino sistema
Ta strojno-programski paket privabi uporabnika s takšnimi prednosti:
- možnost samostojnega dela zaradi prisotnosti lastnega kontrolorja;
- obsežne možnosti za vzpostavitev sistema (uporabnik sam piše program, v katerem so na voljo scenariji katere koli kompleksnosti);
- Preprostost postopka nalaganja programa v krmilnik: programator za to ni potreben, dovolj je, da ima kabel USB (v mikrokrmilniku je strojni program Bootloader);
- dostopni stroški komponent zaradi pomanjkanja monopolnih pravic za določenega proizvajalca (arhitektura je odprta).
Če je Bootloader bootloader začel delovati nepravilno, ali se ni pojavil v kupljenem mikrokrmilniku, ima uporabnik možnost, da ga sam prižge. Programska lupina IDE podpira številne najbolj priljubljene in priljubljene programerje v ta namen. Poleg tega imajo skoraj vsi Arduino procesorji moški konektor, ki omogoča programiranje v okviru vezja.
Program Arduino IDE, predstavljen na spletni strani arduino.cc, uporabniške strojne in programske platforme, medtem ko je v različici programa na arduino.org takih funkcija je odsotna.
Katere rešitve ponuja Arduino?
Ker proizvodnja Arduino kompatibilnih senzorjev in naprav obravnava veliko podjetij, je obseg teh izdelkov precej širok. Tu se najpogosteje uporablja:
- Senzorji, ki spremljajo podnebne parametre:
- temperatura;
- vlažnost;
- padavine (senzor za dež in sneg);
- osvetlitev;
- tlak.
- Senzorji, ki omogočajo določitev prostorskega položaja predmeta, na katerega so pritrjeni:
- 6-osni žiroskopski senzor z merilcem pospeška;
- kompas.
- Senzorji, ki omogočajo registriranje prisotnosti različnih predmetov:
- senzor gibanja;
- infrardeči senzor (pritrdite nepremagljivo sedel ali toplokrvno žival);
- ultrazvočni senzor (zazna predmete s poljubno temperaturo in določi razdaljo do njih).
- Senzorji v sili:
- detektor dima;
- požarni senzor;
- senzor puščanja plina;
- senzor ogljikovega dioksida.
- Druge naprave, na primer:
- mikrofon;
- ure;
- senzor za odpiranje vrat;
- daljinski upravljalniki (radiofrekvenčna in infrardeča) s sprejemniki;
- oddaljeni gumbi.
Nekatere od teh naprav so vključene v osnovni komplet Arduino Start, ki se od nekaterih proizvajalcev imenuje StarterKit.
Izvršni del vsebuje veliko naprav, na primer:
- električni motorji;
- releji in različna stikala;
- zatemnitve (omogočajo gladko spreminjanje intenzivnosti osvetlitve);
- zapirala vrat;
- Ventili in trosmerni ventili s servo pogoni.
Če nameravate povezati razsvetljavo preko Arduino releja, je bolje, če uporabljate LED žarnice kot svetilke. Svetilke žarnice, kadar so povezani prek takih relejev hitro gorijo.
.Video: začnemo sodelovati z Arduinom - vodimo LED preko spletnega vmesnika
Izdelava projekta na Arduinu
Proces izdelave in konfiguriranja "pametne hiše" Arduino bo prikazan na primeru sistema, v katerem bodo izdelane naslednje funkcije:
- nadzor temperature na ulici in v zaprtih prostorih;
- spremljanje stanja okna (odprt / zaprt);
- spremljanje vremenskih razmer (jasno / dež);
- generiranje zvočnega signala, ko se aktivira senzor gibanja, če je vključena funkcija alarma.
Sistem bo konfiguriran tako, da se podatki lahko pregledajo s pomočjo posebnega aplikacijo, kot tudi spletni brskalnik, kar pomeni, da bo uporabnik to lahko storil s katerega koli mesta, kjer je dostop na internetu.
Uporabljene okrajšave:
- "GND" je tla.
- "VCC" - hrana.
- "PIR" - senzor gibanja.
Potrebne komponente za izdelavo sistema "pametne hiše"
Za Arduino sistem Smart Home potrebujete naslednje:
- mikroprocesorska plošča Arduino;
- Modul Ethernet ENC28J60;
- dva senzorja temperature DS18B20;
- mikrofon;
- senzor dežja in snega;
- senzor gibanja;
- stikalo reed;
- rele;
- Odpornost uporov, kOhm;
- kabel za sukani par;
- Ethernet kabel.
Stroški vseh komponent so približno 90 dolarjev.
Ustvarite "pametno hišo navodila po korakih
To je zaporedje, v katerem morate ukrepati.
Povezovanje izvršnih in senzorskih naprav
Povezujemo vse komponente v skladu s shemo.
Razvoj programske kode
Uporabnik napiše celoten program v lupini Arduino IDE, za katerega je slednji opremljen z urejevalnikom besedil, vodja projekta, prevajalnik, predprocesor in sredstva za zapolnitev programske kode v mikroprocesor plošče Arduino. Razvite različice IDE za operacijske sisteme Mac OS X, Windows in Linux. Programski jezik je C ++ z nekaterimi poenostavitvami. Programi po meri za Arduino so imenovani skice (skica), ali oris, Program IDE jih shrani v datoteke s končnico ".ino».
Funkcija main (), ki je v C je ++ obvezna, IDE samodejno ustvari lupino ji je predpisal vrsto standardnih ukrepov. Uporabnik mora napisati funkcije setup () (enkrat na začetku časa) in zanke () (izvedene v neskončni zanki). Obe funkciji sta obvezna za Arduino.
Datoteke glave standardnih knjižnic ni potrebno vstaviti v program - IDE to naredi samodejno. To ne velja za uporabniške knjižnice - jih je treba navesti.
.Dodajanje knjižnic v IDE "Project Manager" se izvede na nekoliko neobičajen način. V obliki izvorne kode, napisane v C + +, so dodane v posebno mapo v delovnem imeniku lupine IDE. Po tem se imena teh knjižnic pojavijo v ustreznem meniju IDE. Tisti, ki jih bodo uporabniške oznake dodali na seznam za urejanje.
.IDE zagotavlja najmanj nastavitev, sploh pa manjka zmožnost konfiguriranja prevajalnika. Tako je začetnik programer imunski od napak.
Tukaj je primer najpreprostejšega programa, ki LED svetilke, priključene na 13. izhod plošče, utripa vsakih 2 sekund:
.void setup () {pinMode (13, OUTPUT); // Arduino izhod 13 izhod}
prazna zanka () {digitalWrite (13, VISOKO); // Omogočite 13. izhod, je parameter funkcije digitalnega klica HIGH visok znak logične ravni
zamuda (1000); / Cikel zakasnitve za 1000 msec - 1 sekundo
digitalWrite (13, LOW); // Izhod izklopi 13, pokliči parameter LOW - nizka logična vrednost atributa
zamuda (1000); // cikel zakasnitve za 1 sekundo}
.Vendar trenutno ni vedno potrebno, da uporabnik osebno napiše program: v omrežju je veliko pripravljenih knjižnic in skic (glejte tukaj: http://arduino.ru/Reference). Obstaja že pripravljen program za sistem, ki ga obravnavamo v tem primeru. Treba ga je prenesti, razpakirati in uvažati v IDE. Besedilo programa je opremljeno s pripombami, ki pojasnjujejo načelo njenega delovanja.
Ko uporabnik klikne gumb »Osveži« v brskalniku ali v aplikaciji pametnega telefona, mikrokrmilnik Arduino pošlje podatke tej odjemalcu. Z vsako stranjo, ki je označena kot "/ tempin "/ tempout "/ dež "/ okno "/ alarm se pošlje programska koda, ki se prikaže na zaslonu.
Nameščanje odjemalske aplikacije v pametni telefon (za Android OS)
Če želite prejemati podatke iz sistema pametnih domov v omrežju, lahko prenesete že pripravljeno aplikacijo.
Tukaj mora imeti lastnik pripomočka:
- Prenesite datoteko SmartHome.apk.
- Pošljite to v svoj telefon.
- Po odprtju »File Manager« postavite to datoteko.
- Kliknite nanjo in izberite »Namesti« (preveriti morate »potrditveno znamko«, ki vam omogoča namestitev programov zunaj storitve Google Play).
- Ko je namestitev končana, aktivirajte aplikacijo.
- Nastavite.
S to aplikacijo lahko ne samo prejemate informacije iz sistema pametnih hiš, temveč tudi upravljate - omogočite in onemogočite alarme. Če je program vklopljen, bo aplikacija prejela obvestilo, ko se sproži zaznavalo gibanja. Zaslišanje Arduino sistema za sprožilec aplikacije senzorja gibanja opravlja frekvenco enkrat na minuto.
Z aktiviranjem ikone »Nastavitve« lahko uredite svoj IP naslov.
Konfiguriranje brskalnika za delo z "pametno hišo"
V naslovno vrstico brskalnika vnesite XXX.XXX.XXX.XXX/all, kjer je "XXX.XXX.XXX.XXX" vaš IP-naslov. Po tem bo mogoče prejeti podatke iz sistema in ga upravljati.
Koda, ki je predstavljena tukaj, omogoča brskalniku, da vklopi in izklopi luč, medtem ko se v aplikaciji za pametne telefone Android takšna funkcija ne izvaja.
Delo z usmerjevalnikom
Nato na usmerjevalniku morate odpreti vrata:
- odprite nastavitve usmerjevalnika;
- predpiše naslov Arduino IP;
- odprta vrata 80.
Nastavitev računa na noip.com
Ta korak je neobvezen, vendar je potrebno, če želite naslovu dodeliti ime domene. Če želite to narediti, se morate prijaviti na spletnem mestu https://www.noip.com/, pojdite v razdelek »Dodaj gostitelja« in vnesite naslov IP sistema.
Ustvarjanje projekta je končano, lahko preverite zdravje sistema.
Video: pametna hiša na Arduinu
Značilnosti nekaterih Arduino strojne opreme
Glede na to, da sestavine, združljive z Arduino, proizvajajo številne tretje družbe, katerih kakovost izdelkov je sama podjetje Arduino ne nadzoruje, bolj verjetno je, da kupec kupi komponento, ki ne dela precej pravilno.
.Podobna situacija se je razvila tudi pri razvoju osebnih računalnikov. Nekoč je IBM naredil arhitekturo svojih računalnikov odprt, zaradi česar so podjetja, združljiva z IBM-om, in posamezne komponente začela proizvajati veliko podjetij. Zato so "osebnosti" te vrste široko razširjene po vsem svetu, vendar pa kakovost sestavnih delov in stopnja njihove združljivosti v številnih primerih niso bili na najvišji ravni. Nasprotna taktika se je držala družbe Apple. Krog razvijalcev je omejeval dostop do arhitekture in enaka politika je bila izvedena na področju razvoja programske opreme. Zaradi tega so bili Appleovi računalniki manj pogosti in dražji, vendar so velikost večja od naprav, združljivih z IBM-jevim operacijskim sistemom Windows.
.Za nekatere komponente sistema Arduino so uporabniki opazili naslednje:
- Temperaturni senzor DHT11, ki je priložen osnovnemu kompletu (StarterKit), povzroči pomembno napako 2-3 stopinj. V prostoru je priporočljivo uporabiti temperaturni senzor DHT22, ki daje natančnejše podatke in za namestitev na cesti - DHT21, ki deluje z negativnimi temperaturami in ima mehansko zaščito škoda.
- V nekaterih Arduino mikroprocesorskih ploščah, ko se stikalo, ki je z njimi povezano, zapre, pristanišče COM ne uspe. Zaradi tega mikrokrmilnik ne more naložiti skice: ko se začne polnjenje, se procesor ponovno zagnati. Rele se nato klikne, pristanišče COM je onemogočeno in se postopek nalaganja skice ustavi.
- Senzor za zapiranje vrat / vrat včasih predstavlja presenečenja v obliki lažnih pozitivnih rezultatov. Glede na to je skica napisana tako, da sistem proizvaja potrebne ukrepe šele po prejemu več signalov v vrsti.
- Če želite konfigurirati upravljanje procesov s pomočjo klemp, nekateri neizkušeni uporabniki naročajo detektor zvoka z ročnim nastavljanjem praga namesto mikrofona. V ta namen ta komponenta ni primerna, saj ima zelo majhen obseg: iz detektorja je treba poskakati največ 10 cm. Poleg tega ta senzor oddaja signale s kratkotrajnim impulzom, tako da v prisotnosti velikega Skica, ki potrebuje relativno dolgo časa za obdelavo, mikrokrmilnik preprosto nima časa za njih popraviti.
- Za sistem požarnega alarma je treba uporabiti detektor dima, namesto požarnega senzorja. Sledi plamen ne več kot 30 cm od samega sebe.
- V primeru okvare delovanja mikrokrmilnika ali napak v kodi je bolje uporabiti normalno zaprte releje s serijsko priključenimi ročnimi stikali.
Da bi se izognili nakupu nizko-kakovostnih komponent, začinjeni uporabniki priporočajo predhodno pregledovanje mnenj o njih, objavljenih na spletu. Poceni senzorji lahko kupite v več različicah, da osebno preverite, katera deluje bolje.
Morda sistem "pametne hiše" iz Arduina ni najboljši, vendar je najširša izbira sestavnih delov in njihovi cenovno dostopni stroški postali eden od najbolj priljubljenih. S pomočjo nasvetov se boste hitro naučili ustvariti projekte Arduino z avtomatizacijo različnih domačih procesov.
.