Cuprins:

Home Automation cu Android și Arduino: deschideți poarta când ajungeți acasă: 5 pași
Home Automation cu Android și Arduino: deschideți poarta când ajungeți acasă: 5 pași

Video: Home Automation cu Android și Arduino: deschideți poarta când ajungeți acasă: 5 pași

Video: Home Automation cu Android și Arduino: deschideți poarta când ajungeți acasă: 5 pași
Video: Home Automation: Change direction of rotation of DC motor using 2 relays and Arduino - Robojax 2024, Noiembrie
Anonim
Home Automation cu Android și Arduino: deschideți poarta când ajungeți acasă
Home Automation cu Android și Arduino: deschideți poarta când ajungeți acasă

Acest instructabil se referă la configurarea unui sistem de automatizare a casei care să fie controlat prin smartphone, utilizând o conexiune la internet, astfel încât să poată fi accesat de oriunde ai nevoie de el. Mai mult, va efectua anumite acțiuni ori de câte ori este îndeplinit un criteriu (cum ar fi, de exemplu, aprinderea luminii atunci când smartphone-ul se conectează la rețeaua wifi de acasă, deschiderea porții când intrați într-o zonă GPS determinată sau orice altceva ați putea dori).

Va fi utilizată o aplicație Android existentă, care necesită cea mai mică cantitate posibilă de codificare: doar încărcați codul și ați terminat. Creierul - microcontrolerul - va fi o placă Arduino sau compatibilă Arduino, cum ar fi un Aruino Uno cu ecran Ethernet sau un NodeMCU ESP8266.

Pentru a declanșa sistemul atunci când este îndeplinită o condiție (poziția GPS, ora, etc.) vom folosi notorul Tasker; mai multe despre asta mai târziu.

La realizarea sistemului s-au ținut cont de următoarele puncte cheie:

  • Trebuie să fie ieftin.
  • Trebuie să fie accesibil din exteriorul rețelei locale de domiciliu (adică wifi-ul dvs.).
  • Trebuie să fie cu adevărat ușor și rapid de construit și configurat.
  • Trebuie să fie de încredere.

Acestea fiind spuse, întregul proiect va costa aproximativ 20 € (7,50 € pentru un ESP8266, 8 € pentru o placă de releu, restul pentru hardware suplimentar) și vă va dura aproximativ 30 de minute pentru a le aranja - nu este deloc rău.

Deci, dacă sunteți interesat, urmați acest ghid simplu și rapid și configurați-vă propriul!

Pasul 1: Configurarea hardware-ului

Configurarea hardware-ului
Configurarea hardware-ului

Odată ce ați adunat toate componentele, primul lucru de făcut este să le conectați.

În acest exemplu vom conecta o bec la ESP8266; rețineți că trebuie să fiți extrem de atenți atunci când lucrați cu tensiuni principale - casele folosesc 220V, care vă pot ucide! Tăiați întotdeauna curentul înainte de a lucra la el și, dacă nu aveți încredere, căutați un ajutor de specialitate!

Acestea fiind spuse: pentru a face față unor astfel de niveluri de tensiune și curent (care vor arde micul ESPR8266) trebuie să folosim un releu adecvat (ca acesta, care este logic de 5V, potrivit pentru Arduino standard, sau acesta, un releu de nivel logic de 3,3V, potrivit pentru pinout-ul de 3,3V al ESP82666); conexiunile sunt destul de ușoare, urmați schema atașată.

Rețineți că unele plăci de relee (cum ar fi cea pe care am conectat-o) sunt ACTIVE LOW; aceasta înseamnă că trebuie să conectați releul la masă pentru al porni și invers. Dacă acesta este cazul dvs., Homotica oferă o soluție plăcută; vom vedea care în paragraful următor.

Pasul 2: Configurare ESP8266

Configurare ESP8266
Configurare ESP8266
Configurare ESP8266
Configurare ESP8266
Configurare ESP8266
Configurare ESP8266

Acum că am configurat hardware-ul sistemului de automatizare, trebuie să programăm microcontrolerul.

Pentru a face acest lucru, vom avea nevoie de software-ul Arduino pentru a încărca schița furnizată pe ESP8266; deci navigați la pagina de descărcare Arduino și luați versiunea cea mai potrivită pentru dvs.

Odată descărcat, instalați-l.

Acum că avem IDE-ul instalat, avem nevoie de biblioteca necesară pentru ca schița să funcționeze; pentru ao instala deschideți aplicația Github Repo și alegeți Descărcați din butonul verde din partea dreaptă.

Accesați folderul Descărcare de pe computer și, utilizând un software precum WinRar sau WinZip, dezarhivați fișierul; deschideți folderul nou creat „homotica-master” și copiați folderul interior numit „Homotica” în folderul Arduino Editor Libraries (îl puteți găsi de obicei sub C: / Users / your_user_name / Documents / Arduino / libraries). Ștergeți fișierele rămase în „homotica-master”, nu vom avea nevoie de ele

Un pas lipsește din încărcarea codului pe ESP8266: trebuie să obținem biblioteca pentru ca Arduino IDE să comunice cu placa, deoarece nu este acceptat oficial.

Pentru a face acest lucru, urmați acești pași (credite: Github ES8266 Arduino Repo):

  • Porniți Arduino și deschideți fereastra Fișiere> Preferințe.
  • Introduceți „https://arduino.esp8266.com/stable/package_esp8266com_index.json” (fără ghilimele) în câmpul Adrese URL suplimentare ale administratorului de bord. Puteți adăuga mai multe adrese URL, separându-le cu virgule.
  • Deschideți Managerul de panouri din meniul Instrumente> Board și instalați platforma esp8266 (căutați „esp8266” și descărcați „esp8266 de către Comunitatea ESP8266”).

Totul este pregătit. Să avem grijă de codul schiței.

Deschideți Fișier> Exemplu> Homotica> Homotica ESP8266, copiați TOT codul într-o schiță nouă și modificați următorii parametri:

  • ssid: introduceți aici numele rețelei dvs. wireless
  • parola: parola wifi
  • ip, gateway, subrețea: probabil că nu va trebui să atingeți aceste setări; schimbați ip dacă doriți ca ESP8266 să aibă o altă adresă
  • mUdpPort: portul pe care îl vom deschide în router mai târziu; dacă nu știi ce este, nu-l atinge
  • cod: un cod unic de 8 caractere care va fi utilizat pentru autentificarea aplicației; poți alege orice vrei.

Dacă utilizați o configurare ACTIVE LOW, nu uitați să apelați homotica.setActiveLow () așa cum se arată în exemplul de cod!

Pentru a finaliza: adăugați homotica.addUsedPin (5) (așa cum se arată în exemplu) pentru a spune ESP8266 ce GPIO trebuie să se ocupe, între bucla while și homotica.set (mUdpPort, cod); ștergeți toate liniile homotica.simulateUdp (…).

Acesta este codul cu care ar trebui să rămâi:

#include

#include #include const char * ssid = "mywifiname"; const char * password = "wifipassword"; Adresa IP ip (192, 168, 1, 20); Gateway IPAddress (192, 168, 1, 1); Subrețea IPAddress (255, 255, 255, 0); unsigned int mUdpPort = 5858; static String code = "aBc159"; Homotica homotica; void setup () {WiFi.config (ip, gateway, subrețea); WiFi.begin (ssid, parolă); while (WiFi.status ()! = WL_CONNECTED) {întârziere (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- numai dacă aveți nevoie de acesta homotica.set (mUdpPort, cod); } void loop () {homotica.refresh (); }

Când totul este configurat corect, modificați setările compilatorului din meniul Instrumente în funcție de captura de ecran atașată și selectați portul pe care este conectat ESP8266 pe computerul dvs. în Instrumente> Port.

Acum, faceți clic pe încărcare. Microcontrolerul dvs. este configurat și gata de funcționare!

Pasul 3: Router și IP

Router și IP
Router și IP
Router și IP
Router și IP

Pentru a comunica ESP8266 din fiecare rețea, va trebui să spunem routerului să permită să introducă comanda pe care i-o trimitem.

Pentru aceasta, navigați la pagina de configurare a routerului (de obicei 192.168.1.1) și căutați ceva de genul „server virtual” sau „redirecționare port”; puteți localiza setarea precisă pentru căutarea modelului de router în Google.

În redirecționarea porturilor, creați o nouă regulă care permite toate conexiunile la ESP8266 (cea configurată anterior) prin portul ESP8266 (din nou, cea configurată mai devreme). Denumiți-l Homotica, introduceți IP-ul ESP8266 în câmpul IP și salvați.

Dacă routerul pe care îl utilizați nu vă permite să faceți acest lucru, nu vă faceți griji: nu veți putea folosi aplicația din rețeaua mobilă, dar va funcționa perfect din interiorul rețelei Wi-Fi de acasă.

Acum, pentru a ne referi la routerul nostru din lumea exterioară, trebuie să îi cunoaștem IP-ul public; dezavantajul este că majoritatea furnizorilor de internet nu vă oferă un IP static, ci unul dinamic, care se schimbă în timp.

Dar așteaptă, putem rezolva acest lucru!

Mergeți la NoIp, creați un cont nou, apoi creați un nume de gazdă nou (a se vedea imaginea atașată). Rețineți ce nume de gazdă aveți (în exemplul meu: https://numelehostei.ddns.net) și treceți la pasul următor.

(Notă: s-ar putea să doriți ca computerul dvs. să vă sincronizeze automat IP-ul routerului cu numele de gazdă NoIp: descărcați aplicația gratuită pentru a face acest lucru)

Pasul 4: Configurarea aplicației

Configurarea aplicației
Configurarea aplicației
Configurarea aplicației
Configurarea aplicației
Configurarea aplicației
Configurarea aplicației

Să ne ocupăm de aplicație, nu-i așa?

Descărcați aplicația din pagina Magazin Play și deschideți-o.

Deschideți meniul din stânga, selectați Panouri și creați unul nou. Vom completa parametrii pe care i-am definit anterior în codul de schiță ESP8266:

  • Nume Arduino: ce vrei (să fie ESP8266)
  • IP gazdă: acesta ar putea fi

    • IP-ul static al routerului la care se face referire prin linkul NoIp
    • IP-ul ESP8266 dacă doriți să îl utilizați numai din interiorul rețelei Wi-Fi de acasă 192.168.1.20
  • Port gazdă: cel pe care l-am configurat și deschis mai devreme 5858
  • Cod de autentificare: codul de 8 caractere pe care l-am definit în schița aBc195

Salvați. Deschideți din nou meniul, creați un dispozitiv nou; vom atașa un bec pentru demonstrație:

  • Nume: ușor
  • Nume buton: vom folosi Pornit, alegeți ce preferați
  • Numărul pinului: pinul pe care am atașat becul. Atenție! Pe ESP8266 etichetele pinului (D1, D2 …) NU corespund cu numele PIN GPIO! Căutați în Google pentru a determina care pin este GPIO (în exemplul nostru: pinul 5 este etichetat D1)
  • Comportament: puteți alege între pornirea, oprirea, schimbarea stării de „împingere” (pornire și oprire) a dispozitivului.

Salvați. Dacă ați configurat corect totul până acum, apăsând pe bec ar trebui să se aprindă.

Mișto, nu-i așa?

Acum vă puteți distra adăugând mai multe dispozitive, chiar mai multe plăci și aranjându-le în scene.

Însă, pentru a folosi la maxim ceea ce tocmai ați creat, va trebui să folosim Tasker.

Pasul 5: Integrarea Tasker-ului

Integrarea Tasker
Integrarea Tasker
Integrarea Tasker
Integrarea Tasker
Integrarea Tasker
Integrarea Tasker

Dacă dețineți Tasker sau doriți să îl cumpărați, continuați să citiți! Îl vom folosi pentru a-i spune lui Homotica ce să facă și când să o facă.

În acest exemplu, vom aprinde lumina ori de câte ori ne conectăm la wifi-ul nostru de acasă ȘI ora este între 16:00 și 18:00.

Deschideți Tasker; creați o nouă sarcină (permiteți-i să o numească Turn On Light), selectați Adăugare> Plugin> Homotica, apăsați pe creionul incon pentru a configura pluginul. Selectați Lumina> Pornit și Salvare. Înapoi la meniul principal creați un profil nou, selectați State> WiFi conectat, introduceți numele Wifi tur în câmpul SSID; apăsați înapoi și selectați Activare lumină ca activare. Acum, apăsați lung pe partea stângă a profilului nou creat, selectați Adăugați> Ora> De la 16:00 la 18:00, apoi închideți.

Am terminat. Lumina noastră se va aprinde când intrăm acasă în timpul stabilit.

E la îndemână!

Acum este rândul tău: fii creativ cu Homotica și Tasker și nu uita să ne arăți ce ai creat!

Recomandat: