Casa inteligentă bazată pe Arduino: instrucțiuni pas cu pas despre asamblare
Până acum, sisteme cum ar fi "casă inteligentă" de la exoticele uimitoare, disponibile numai celor mai bogați, au devenit un loc obișnuit, la care oricine se poate alătura. Există ceva de ales: mulți dezvoltatori au stăpânit eliberarea unor astfel de sisteme hardware-software. Printre cele mai renumite este Arduino, ale cărui produse ne vom cunoaște acum.
conținut
- 1Ce este o "casă inteligentă"
-
2Familiarizarea cu Arduino
- 2.1Avantajele sistemului Arduino
-
2.2Ce soluții oferă Arduino?
- 2.2.1Video: începem să lucrăm cu Arduino - gestionăm LED-ul prin interfața web
-
3Elaborarea unui proiect pe Arduino
- 3.1Componentele necesare pentru producerea sistemului "smart house"
-
4Construiți "casa inteligentă instrucțiuni pas cu pas
- 4.1Conectarea dispozitivelor executive și senzorilor
- 4.2Dezvoltarea codului programului
- 4.3Instalarea unei aplicații client pe un smartphone (pentru sistemul de operare Android)
- 4.4Configurarea browserului pentru a lucra cu "casa inteligentă"
- 4.5Lucrul cu routerul
- 4.6Configurarea unui cont la noip.com
- 4.7Video: Casă inteligentă pe Arduino
- 5Caracteristicile unor componente hardware Arduino
Ce este o "casă inteligentă"
Acest termen are un analog mai ușor de înțeles - "automatizarea casei". Esența unor astfel de soluții este de a asigura executarea automată a diferitelor procese care apar în casa, în birouri sau în spațiile specializate. Cel mai simplu exemplu este declanșarea automată a iluminării într-un moment în care unul dintre ocupanți intră în cameră.
În orice sistem "inteligent se pot distinge următoarele componente:
- Partea senzorică. Acesta este un set de dispozitive, principala parte a cărora este reprezentată de diferiți senzori, permițând sistemului să înregistreze evenimente de altă natură. Exemple sunt senzorii de temperatură și de mișcare. Alte dispozitive ale părții senzorilor servesc pentru transferarea comenzilor utilizatorului către sistem. Acestea sunt butoane de la distanță și telecomenzi cu receptoare.
- Partea executivă. Acestea sunt dispozitivele pe care sistemul le poate controla, reacționând astfel la un eveniment în conformitate cu un scenariu definit de utilizator. Mai întâi de toate, este un releu prin care controlorul "casei inteligente" poate furniza energie oricărui dispozitiv electric, adică să îl pornească și să o oprească. De exemplu, bumbac în palma mâinii (sistemul „auzi“ el cu microfonul) poate fi setat la putere pe releu, asigură alimentarea ventilatorului. Notă: în acest exemplu, ventilatorul poate fi orice. Dar puteți utiliza și dispozitivul, lansat special pentru a lucra ca parte a unui anumit sistem. De exemplu, Arduino produce motoare electrice pentru sistemele sale, cu care este posibil, de exemplu, să închidem sau să închidem deschide fereastra, și Xiaomi (un producător chinez de sisteme similare) - dispozitive de control filtru de aer. Un astfel de dispozitiv este controlat complet de sistem, adică nu poate porni numai, ci și schimba setările.
- Procesorul. Poate fi numit și controler. Acesta este "creierul" sistemului, care coordonează și coordonează activitatea tuturor componentelor sale.
- Software-ul. Acesta este un set de instrucțiuni care ghidează procesorul. În sistemele unor producători, inclusiv Arduino, utilizatorul poate scrie un program în mod independent, în altele - se utilizează soluții gata făcute în care sunt doar tipice scenarii.
Sistemele moderne "house smart" sunt împărțite în mai multe varietăți:
- Echipat cu un controler propriu.
- Folosind în această calitate procesorul computerului unui utilizator (tabletă, smartphone).
- Informațiile de procesare utilizând un server la distanță deținut de compania dezvoltator (serviciu cloud).
Sistemul poate nu numai să activeze acest aparat, ci și să informeze utilizatorul despre evenimentul care a avut loc prin trimiterea unui mesaj către telefon sau în alt mod. Astfel, pot fi încredințate funcții de alarmă, inclusiv protecția împotriva incendiilor.
Scenariile pot fi mult mai complexe decât cele descrise în exemple. De exemplu, este posibil să se predea sistemului ca să includă un cazan și să transfere sursa de apă fierbinte la el atunci când alimentarea centrală este întreruptă, dacă dezvăluie prezența unei persoane de la chiriașii din casă (ajutați infraroșu, senzori ultrasonici, precum și senzori mișcare).
Familiarizarea cu Arduino
Arduino este o companie italiană dedicată dezvoltării și producției de componente și software pentru sisteme simple de locuințe inteligente destinate non-specialiștilor. Este de remarcat că acest dezvoltator a făcut ca arhitectura sistemelor pe care le-a creat să fie complet deschise, ceea ce a făcut posibil producătorii terți să dezvolte noi și să copieze dispozitivele existente compatibile cu Arduino, precum și să producă software pentru le.
Această abordare a oferit o mare popularitate pentru sistemele companiei italiene, dar are și un dezavantaj: din cauza faptului că pentru producție componentele pentru sistemele Arduino sunt luate, ca să spunem așa, toți cei care nu sunt leneși, nu reușesc întotdeauna să achiziționeze pentru prima dată o calitate superioară produs. De multe ori trebuie să vă confruntați cu problema compatibilității componentelor de la diferiți producători.
Un utilizator potențial ar trebui să știe că, din 2008, există două companii care produc produse sub marca Arduino. La început, care a început această direcție, site-ul oficial este situat la www.arduino.cc; al doilea, nou format - la www.arduino.org. Ceea ce a fost dezvoltat înainte de împărțire, pe ambele site-uri este reprezentat în mod egal, dar gama de produse noi este deja diferită.
Software-ul pentru sistemele "smart house" Arduino are forma unei cochilii software (numită IDE), în care puteți scrie și compila programele. Acesta este distribuit gratuit. Programele sunt scrise în C ++.
Versiunile programului IDE Arduino prezentate pe aceste site-uri sunt, de asemenea, foarte diferite, deși nu au același nume, ci și numerele de versiuni.Din acest motiv, sunt destul de ușor de confundat. Diferența este că fiecare software suportă bibliotecile și plăcile.
"Hardware-ul" sistemului este alcătuit dintr-o placă de bază cu un microcontroler (placa de procesor) și carduri de extensie instalate pe acesta, numite în mod obișnuit shild-uri. Conectarea ecranului la placa de procesor vă permite să adăugați componente noi în casa inteligentă. Sistemul asamblat poate fi complet autonom sau poate funcționa împreună cu un calculator printr-o interfață standard cu fir sau fără fir.
Avantajele sistemului Arduino
Acest pachet hardware-software atrage utilizatorul cu astfel de avantaje:
- posibilitatea muncii autonome, datorită prezenței propriului controlor;
- posibilități extinse de instalare a sistemului (utilizatorul însuși scrie un program în care pot fi furnizate scenarii de complexitate);
- Simplitatea procesului de încărcare a programului în controler: programatorul nu este necesar pentru acest lucru, este suficient să aveți un cablu USB (în microcontroler există un firmware Bootloader);
- costul accesibil al componentelor datorită lipsei drepturilor de monopol pentru un anumit producător (arhitectura este deschisă).
Dacă bootloader-ul Bootloader a început să funcționeze necorespunzător sau nu a apărut în microcontrolerul achiziționat, utilizatorul are opțiunea de a bloca el însuși. Coajă software IDE oferă suport pentru un număr mare de programatori populare și populare în acest scop. În plus, aproape toate procesoarele Arduino au un conector de tată care permite programarea în circuit.
Programul IDE Arduino, prezentat pe site-ul web arduino.cc, utilizatorii de hardware-platforme software, în timp ce în versiunea programului pe arduino.org astfel funcția este absentă.
Ce soluții oferă Arduino?
Deoarece producția de senzori și dispozitive compatibile cu Arduino este gestionată de mai multe companii, gama acestor produse este destul de largă. Aici se aplică cel mai adesea:
- Senzori care monitorizează parametrii climatici:
- temperatură;
- umiditate;
- precipitare (senzor de ploaie și zăpadă);
- iluminare;
- presiune.
- Senzori, care permit determinarea poziției spațiale a obiectului pe care sunt fixate:
- Senzor de giroscop cu 6 axe cu accelerometru;
- busolă.
- Senzori, care permit înregistrarea prezenței diferitelor obiecte:
- senzor de mișcare;
- senzor infraroșu (fixați o persoană nemișcată de ședință sau un animal cu sânge cald);
- senzor ultrasonic (detectează obiectele cu orice temperatură și determină distanța față de acestea).
- Senzori de urgență:
- detector de fum;
- senzor de incendiu;
- senzor de scurgere de gaz;
- senzor de dioxid de carbon.
- Alte dispozitive, de exemplu:
- microfon;
- ore;
- senzor de deschidere a usii;
- telecomenzi (frecvență radio și infraroșu) cu receptoare;
- butoanele de la distanță.
Unele dintre aceste dispozitive sunt incluse în kitul de bază Arduino Start, care de la unii producători este numit StarterKit.
Partea executivă conține un set imens de dispozitive, de exemplu:
- motoare electrice;
- relee și comutatoare diferite;
- dimmer (permite schimbarea ușoară a intensității iluminării);
- uși de închidere;
- Supape și valve cu 3 căi cu servomotoare.
Dacă intenționați să conectați iluminatul prin releul Arduino, atunci este mai bine să utilizați lămpile cu LED-uri ca corpuri de iluminat. Lămpile incandescente când sunt conectate prin astfel de relee ard rapid.
.Video: începem să lucrăm cu Arduino - gestionăm LED-ul prin interfața web
Elaborarea unui proiect pe Arduino
Procesul de creare și configurare a "casei inteligente" Arduino va fi prezentat pe exemplul unui sistem în care vor fi construite următoarele funcții:
- monitorizarea temperaturii pe stradă și în interior;
- monitorizarea stării ferestrei (deschis / închis);
- monitorizarea condițiilor meteorologice (clar / ploaie);
- generarea unui semnal sonor când senzorul de mișcare este declanșat, dacă funcția de alarmă este activată.
Sistemul va fi configurat astfel încât datele să poată fi vizualizate cu ajutorul unui dispozitiv special aplicație, precum și un browser web, adică utilizatorul va putea face acest lucru din orice loc unde există acces în Internet.
Abrevieri folosite:
- "GND" este baza.
- "VCC" - alimente.
- "PIR" - senzor de mișcare.
Componentele necesare pentru producerea sistemului "smart house"
Pentru sistemul Smart Home al companiei Arduino, veți avea nevoie de următoarele:
- placa de microprocesor Arduino;
- Modulul Ethernet ENC28J60;
- doi senzori de temperatură marca DS18B20;
- microfon;
- senzor de ploaie și zăpadă;
- senzor de mișcare;
- comutare stuf;
- releu;
- Rezistența la rezistență, kOhm;
- cablu twisted pair;
- Cablu Ethernet.
Costul tuturor componentelor este de aproximativ 90 USD.
Construiți "casa inteligentă instrucțiuni pas cu pas
Aceasta este secvența în care trebuie să acționați.
Conectarea dispozitivelor executive și senzorilor
Conectăm toate componentele conform schemei.
Dezvoltarea codului programului
Utilizatorul scrie întregul program în shell-ul IDE Arduino, pentru care acesta din urmă este echipat cu un editor de text, managerul de proiect, compilatorul, preprocesorul și mijloacele de umplere a codului de program în microprocesorul plăcii Arduino. Versiuni dezvoltate ale IDE pentru sistemele de operare Mac OS X, Windows și Linux. Limba de programare este C ++ cu câteva simplificări. Programe personalizate pentru Arduino sunt numite schițe (schiță), sau schiță, programul IDE le salvează în fișiere cu extensia «.ino».
Principala funcție (), care, în C ++ este obligatorie, IDE creează automat o coajă prescrie o serie de acțiuni standard. Utilizatorul trebuie să scrie) funcția de setare ((efectuată o singură dată în timpul lansării) și buclă () (executate într-o buclă fără sfârșit). Ambele funcții sunt obligatorii pentru Arduino.
Fișierele antet ale bibliotecilor standard nu trebuie introduse în program - IDE face acest lucru automat. Nu se aplică bibliotecilor de utilizatori - acestea trebuie specificate.
.Adăugarea de biblioteci la IDE "Project Manager" se realizează într-un mod puțin neobișnuit. În forma unui cod sursă scrise în C ++, ele sunt adăugate într-un director special din directorul de lucru al cofretei IDE. După aceasta, numele acestor biblioteci apar în meniul IDE corespunzător. Cei pe care marcajele utilizatorilor vor fi adăugați la lista de compilare.
.IDE oferă un minim de setări, iar abilitatea de a configura compilatorul lipsește deloc. Astfel, un programator începător este imun la erori.
Iată un exemplu de cel mai simplu program, care face ca LED-ul conectat la cea de-a 13-a ieșire a plăcii să clipească la fiecare 2 secunde:
.void setup () {pinMode (13, OUTPUT); // Arduino ieșire 13 ieșire}
void loop () {digitalWrite (13, HIGH); // Activați cea de-a 13-a ieșire, parametrul apelului funcției digitalWrite HIGH este un semn de nivel logic ridicat
întârziere (1000); // Ciclu de întârziere pentru 1000 msec - 1 secundă
digitalWrite (13, LOW); // Output turn off 13, parametrul de apel LOW - atribut la nivel logic scăzut
întârziere (1000); // Ciclu de întârziere timp de 1 secundă}
.În prezent, cu toate acestea, înainte ca utilizatorul nu este întotdeauna apare nevoia de personal a scrie programul: rețeaua este căptușit cu multe biblioteci și satira (să aruncați o privire aici de-a gata: http://arduino.ru/Reference). Există un program gata pentru sistemul luat în considerare în acest exemplu. Acesta trebuie să fie descărcat, despachetat și importat în IDE. Textul programului este furnizat cu comentarii care explică principiul funcționării acestuia.
Atunci când utilizatorul face clic pe browser-ul sau aplicația pe telefonul smartphone butonul «Refresh» (Actualizare), Arduino microcontroler pentru a trimite date la client. Pe fiecare pagină, identificat ca fiind «/ tempin», «/ tempout», «/ ploaie», «/ fereastră», «/ alarma», introduce codul, care este afișat pe ecran.
Instalarea unei aplicații client pe un smartphone (pentru sistemul de operare Android)
Pentru a primi date de la sistemul de acasă inteligent din rețea, puteți descărca aplicația gata.
Iată ce trebuie să facă proprietarul gadgetului:
- Descărcați fișierul SmartHome.apk.
- Trimiteți-l pe telefon.
- După deschiderea "Managerului de fișiere plasați acest fișier.
- Faceți clic pe ea și alegeți „Install“ (ar trebui să fie marcate „check“, care permite instalarea de programe în afara Google Play Service).
- Când instalarea este finalizată, activați aplicația.
- Stabilește-o.
Cu această aplicație puteți primi nu numai informații de la sistemul de „casă inteligentă“, dar, de asemenea, să-l gestioneze - pentru a activa sau dezactiva alarma. Dacă este activată, aplicația va primi o notificare când declanșează senzorul de mișcare. Interogarea sistemului Arduino pentru declanșarea aplicației senzorului de mișcare are o frecvență de o dată pe minut.
Activând pictograma "Setări puteți să vă editați adresa IP.
Configurarea browserului pentru a lucra cu "casa inteligentă"
În bara de adrese a browserului, introduceți XXX.XXX.XXX.XXX/all, unde "XXX.XXX.XXX.XXX" este adresa dvs. IP. După aceasta, va fi posibil să primiți date din sistem și să le gestionați.
Codul prezentat aici permite browserului să activeze și să dezactiveze lumina, în timp ce în aplicația smartphone Android nu este implementată o astfel de funcție.
Lucrul cu routerul
Apoi pe router trebuie să deschideți portul:
- deschideți setările routerului;
- prescrie adresa Arduino IP;
- portul deschis 80.
Configurarea unui cont la noip.com
Acest pas este opțional, dar este necesar dacă doriți să atribuiți un nume de domeniu adresei. Pentru a face acest lucru, trebuie să vă înregistrați pe site https://www.noip.com/, accesați secțiunea "Adăugați gazdă" și introduceți adresa IP a sistemului.
Crearea proiectului este finalizată, puteți verifica starea de sănătate a sistemului.
Video: Casă inteligentă pe Arduino
Caracteristicile unor componente hardware Arduino
Având în vedere faptul că componentele compatibile cu Arduino sunt produse de multe companii terțe care au o calitate a produsului în sine compania Arduino nu controlează, utilizatorul are mai multe șanse să cumpere o componentă care nu funcționează destul în mod corect.
.O situație similară sa dezvoltat în dezvoltarea calculatoarelor personale. La un moment dat, IBM a deschis arhitectura calculatoarelor sale, ca urmare a faptului că computerele compatibile cu IBM și componentele individuale au început să producă multe companii. Drept urmare, "personalități" de acest tip sunt răspândite pe scară largă în întreaga lume, totuși, calitatea componentelor și gradul de compatibilitate a acestora în multe cazuri nu au fost la cel mai înalt nivel. Tactica opusă a aderat la compania Apple. Acesta a limitat cercul dezvoltatorilor cu acces la arhitectură și aceeași politică a fost realizată în domeniul dezvoltării de software. Ca urmare, computerele Apple au fost mai puțin obișnuite și mai scumpe, dar sunt un ordin de mărime superioară dispozitivelor compatibile IBM cu Windows.
.Pentru unele componente pentru sistemele Arduino, utilizatorii au observat următoarele:
- Senzorul de temperatură DHT11, livrat împreună cu kitul de bază (StarterKit), oferă o eroare semnificativă de 2-3 grade. În cameră se recomandă utilizarea unui senzor de temperatură DHT22, care oferă indicații mai precise și pentru instalare pe stradă - DHT21, capabil să funcționeze la temperaturi negative și protejat de mecanică daune.
- Pe unele plăci microprocesoare Arduino, când releul conectat la ele se închide, portul COM nu reușește. Din acest motiv, microcontrolerul nu poate încărca schița: odată ce umplerea începe, procesorul repornește. Reluatul dă click, portul COM este dezactivat și procesul de încărcare a schiței se oprește.
- Senzorul de închidere a ferestrei / ușii prezintă uneori surprize sub formă de fals pozitive. În acest sens, schița este scrisă astfel încât sistemul să producă acțiunea necesară numai după primirea mai multor semnale la rând.
- Pentru a configura gestionarea proceselor cu ajutorul clapelor, unii utilizatori neexperimentați comandă un detector de sunet cu o ajustare manuală a pragului în locul unui microfon. În acest scop, această componentă nu este adecvată, deoarece are un interval foarte scurt: este necesar să nu aruncați mai mult de 10 cm de detector. În plus, acest senzor transmite semnale cu impulsuri de scurtă durată, astfel încât în prezența unui număr mare Schița, care durează un timp relativ lung de procesat, nu are timp pentru microcontroler pentru a repara.
- Pentru sistemul de alarmă de incendiu ar trebui folosit un detector de fum, mai degrabă decât un senzor de incendiu. Acesta din urmă înregistrează o flacără de cel mult 30 cm de la ea însăși.
- În cazul unei funcționări defectuoase a microcontrolerului sau al erorilor din cod, este mai bine să se utilizeze releele în mod normal închise cu comutatoare manuale conectate în serie.
Pentru a evita achiziționarea de componente de calitate scăzută, utilizatorii condimentați recomandă să examinați în prealabil revizuiri asupra acestora, publicate pe Web. Senzorii ieftini pot fi cumpărați în mai multe variante pentru a verifica personal care funcționează mai bine.
Poate că sistemul "smart house" de la Arduino nu este cel mai bun, însă cea mai largă alegere a componentelor și costul lor accesibil au făcut-o una dintre cele mai populare. Folosind sfaturile noastre, veți învăța rapid cum să creați proiecte Arduino prin automatizarea diferitelor procese de acasă.
.