Taula de continguts:

Domòtica amb Android i Arduino: obriu la porta quan arribeu a casa: 5 passos
Domòtica amb Android i Arduino: obriu la porta quan arribeu a casa: 5 passos

Vídeo: Domòtica amb Android i Arduino: obriu la porta quan arribeu a casa: 5 passos

Vídeo: Domòtica amb Android i Arduino: obriu la porta quan arribeu a casa: 5 passos
Vídeo: TINETjornada 2013: "Raspberry Pi, un enginy personal?", amb Climent Aparicio i David Pàmies 2024, Desembre
Anonim
Domòtica amb Android i Arduino: obriu la porta quan arribeu a casa
Domòtica amb Android i Arduino: obriu la porta quan arribeu a casa

Aquest instructiu tracta de configurar un sistema domòtic que es pugui controlar mitjançant un telèfon intel·ligent mitjançant una connexió a Internet, de manera que s’hi pugui accedir des de qualsevol lloc que el necessiteu. A més, realitzarà certes accions sempre que es compleixin uns criteris (com, per exemple, encendre el llum quan el telèfon intel·ligent es connecta a la xarxa wifi domèstica, obrir la porta quan s'introdueix una zona determinada per GPS o qualsevol altra cosa que vulgueu).

S'utilitzarà una aplicació Android existent, que requereix la mínima quantitat de codificació possible: només heu de carregar el codi i ja està. El cervell, el microcontrolador, serà una placa Arduino o compatible amb Arduino, com ara un Aruino Uno amb un blindatge Ethernet o un NodeMCU ESP8266.

Per activar el sistema quan es compleixi una condició (posició GPS, hora, etc.) farem servir el notori Tasker; més sobre això més endavant.

En la realització del sistema s’han tingut en compte els següents punts clau:

  • Ha de ser barat.
  • Ha de ser accessible des de fora de la xarxa domèstica local (és a dir, el vostre wifi).
  • Ha de ser MOLT fàcil i ràpid de construir i configurar.
  • Ha de ser fiable.

Dit això, tot el projecte costarà uns 20 € (7,50 € per un ESP8266, 8 € per a una placa de relé, la resta per a maquinari addicional) i us trigarà uns 30 minuts a configurar-ho tot, no està gens malament.

Per tant, si esteu interessats, seguiu aquesta senzilla i ràpida guia i configureu la vostra propietat.

Pas 1: Configuració del maquinari

Configuració del maquinari
Configuració del maquinari

Un cop reunits tots els components, el primer que cal fer és connectar-ho tot.

En aquest exemple, connectarem una bombeta a l’ESP8266; Tingueu en compte que heu de tenir molta precaució quan es treballa amb tensions principals: les cases fan servir 220V, cosa que us pot matar. Abans de treballar-hi, sempre talleu l’alimentació i, si no esteu segurs, busqueu ajuda d’un expert.

Dit això: per manejar aquests nivells de tensió i corrent (que cremaran el petit ESPR8266) hem d’utilitzar un relé adequat (com aquest que és lògic de 5V, adequat per a l’Arduino estàndard, o aquest, un relé de nivell lògic de 3,3V, adequat per al pinout de 3,3 V de l’ESP82666); les connexions són força fàcils, seguiu l'esquema que us adjuntem.

Tingueu en compte que algunes plaques de relés (com la que hem enllaçat) són ACTIVES BAIXES; això vol dir que heu de connectar el relé a terra per activar-lo i viceversa. Si aquest és el vostre cas, Homotica us ofereix una bona solució; veurem quina al següent paràgraf.

Pas 2: configuració ESP8266

Configuració ESP8266
Configuració ESP8266
Configuració ESP8266
Configuració ESP8266
Configuració ESP8266
Configuració ESP8266

Ara que hem configurat el maquinari del sistema d'automatització, hem de programar el microcontrolador.

Per fer-ho, necessitarem el programari Arduino per penjar l'esbós proporcionat a l'ESP8266; aneu a la pàgina de descàrrega d’Arduino i agafeu la versió més adequada per a vosaltres.

Un cop descarregat, instal·leu-lo.

Ara que tenim instal·lat el nostre IDE, necessitem la biblioteca necessària perquè funcioni l'esbós; per instal·lar-lo, obriu l'App Github Repo i trieu Descarregar al botó verd que hi ha a la part dreta.

Aneu a la carpeta de descàrrega del vostre PC i, mitjançant un programari com WinRar o WinZip, descomprimiu el fitxer; obriu la carpeta recentment creada "homotica-master" i copieu la carpeta interna anomenada "Homotica" a la carpeta Arduino Editor Libraries (normalment la podeu trobar a C: / Users / your_user_name / Documents / Arduino / libraries). Suprimiu la resta de fitxers de "homotica-master", no els necessitarem

Falta un pas per carregar el codi a l’ESP8266: hem d’obtenir la biblioteca perquè l’Arduino IDE es comuniqui amb la placa, ja que no és compatible oficialment.

Per fer-ho, seguiu aquests passos (crèdits: Github ES8266 Arduino Repo):

  • Inicieu Arduino i obriu la finestra Fitxers> Preferències.
  • Introduïu "https://arduino.esp8266.com/stable/package_esp8266com_index.json" (sense cometes) al camp URL addicionals del gestor de taules. Podeu afegir diversos URL separant-los amb comes.
  • Obriu el Gestor de taules des del menú Eines> Tauler i instal·leu la plataforma esp8266 (cerqueu "esp8266" i descarregueu "esp8266 per la comunitat ESP8266").

Tot està preparat. Ens encarreguem del codi esbós.

Obriu Fitxer> Exemple> Homotica> Homotica ESP8266, copieu TOT el codi en un esbós nou i modifiqueu els paràmetres següents:

  • ssid: inseriu aquí el nom de la vostra xarxa sense fils
  • contrasenya: la vostra contrasenya wifi
  • ip, passarel·la, subxarxa: probablement no haureu de tocar aquesta configuració; canvieu d'IP si voleu que el vostre ESP8266 tingui una adreça diferent
  • mUdpPort: el port que obrirem al router més endavant; si no sabeu què és, no la toqueu
  • codi: un codi únic de 8 caràcters que s'utilitzarà per autenticar la vostra aplicació; podeu triar el que vulgueu.

Si utilitzeu una configuració ACTIVE LOW, no oblideu trucar a homotica.setActiveLow () tal com es mostra al codi d'exemple.

Per acabar-ho: afegiu homotica.addUsedPin (5) (com es mostra a l’exemple) per dir a l’ESP8266 quin GPIO ha de gestionar, entre el bucle while i homotica.set (mUdpPort, codi); suprimiu totes les línies homotica.simulateUdp (…).

Aquest és el codi que us hauria de quedar:

#incloure

#include #include const char * ssid = "mywifiname"; const char * password = "wifipassword"; Adreça IP IP (192, 168, 1, 20); Passarel·la IPAddress (192, 168, 1, 1); Subxarxa IPAddress (255, 255, 255, 0); unsigned int mUdpPort = 5858; static String code = "aBc159"; Homotica homotica; void setup () {WiFi.config (ip, passarel·la, subxarxa); WiFi.begin (ssid, contrasenya); while (WiFi.status ()! = WL_CONNECTED) {demora (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- només si el necessiteu homotica.set (mUdpPort, codi); } void loop () {homotica.refresh (); }

Quan tot estigui configurat correctament, canvieu la configuració del compilador des del menú Eines segons la captura de pantalla adjunta i seleccioneu el port que el vostre ESP8266 està connectat a l'ordinador a Eines> Port.

Ara feu clic a penja. El vostre microcontrolador està configurat i llest per funcionar.

Pas 3: enrutador i IP

Encaminador i IP
Encaminador i IP
Encaminador i IP
Encaminador i IP

Per comunicar-nos a l’ESP8266 des de totes les xarxes, haurem de dir al router que permeti l’ordre que li enviem.

Per fer-ho, aneu a la pàgina de configuració del router (normalment 192.168.1.1) i busqueu alguna cosa com "servidor virtual" o "reenviament de ports"; podeu localitzar la configuració precisa per a la cerca del model de router a Google.

En el reenviament de ports, creeu una nova regla que permeti totes les connexions a l’ESP8266 (la configurada anteriorment) a través del port ESP8266 (de nou, la configurada anteriorment). Anomeneu-lo Homotica, introduïu la IP ESP8266 al camp IP i deseu-la.

Si l’encaminador que utilitzeu no us permet fer-ho, no us preocupeu: no podreu utilitzar l’aplicació des de la xarxa mòbil, però funcionarà perfectament des del wifi de casa vostra.

Ara, per referir-nos al nostre enrutador del món exterior, hem de conèixer la seva IP pública; l’inconvenient és que la majoria dels proveïdors d’Internet no us proporcionen una IP estàtica, sinó una dinàmica, que canvia amb el pas del temps.

Però espereu, ho podem solucionar!

Aneu a NoIp, creeu un compte nou i, a continuació, creeu un nom d’amfitrió nou (vegeu la imatge adjunta). Preneu nota del nom d’amfitrió que teniu (al meu exemple: https://el vostre nom d’amfitrió.ddns.net) i continueu amb el següent pas.

(Nota: és possible que vulgueu que el vostre PC sincronitzi automàticament la vostra adreça IP del router amb el vostre nom d'amfitrió NoIp: descarregueu la seva aplicació gratuïta per fer-ho)

Pas 4: Configuració de l'aplicació

Configuració de l'aplicació
Configuració de l'aplicació
Configuració de l'aplicació
Configuració de l'aplicació
Configuració de l'aplicació
Configuració de l'aplicació

Cuidem l’aplicació, oi?

Baixeu l'aplicació des de la pàgina de Play Store i obriu-la.

Obriu el menú esquerre, seleccioneu Taulers i creeu-ne un de nou. Omplirem els paràmetres que hem definit prèviament al codi d'esbós ESP8266:

  • Nom Arduino: què voleu (que sigui ESP8266)
  • IP de l’amfitrió: això podria ser

    • la IP estàtica del router fa referència a través de l'enllaç NoIp
    • l’IP ESP8266 si el voleu utilitzar només des de la xarxa wifi de casa 192.168.1.20
  • Port amfitrió: el que vam configurar i vam obrir anteriorment 5858
  • Codi d'autenticació: el codi de 8 caràcters que hem definit a l'esbós aBc195

Desa. Obriu de nou el menú, creeu un dispositiu nou; adjuntarem una bombeta per demostració:

  • Nom: llum
  • Nom del botó: utilitzarem Activat, trieu el que preferiu
  • Número de pin: el pin al qual hem fixat la bombeta. Ves amb compte! A l'ESP8266, les etiquetes dels pins (D1, D2 …) NO corresponen al nom del PIN GPIO. Cerqueu a Google per determinar quin pin és quin GPIO (al nostre exemple: el pin 5 té l'etiqueta D1)
  • Comportament: podeu triar entre encendre, apagar, canviar l'estat de "empènyer" (encendre i apagar) el dispositiu.

Desa. Si fins ara ho heu configurat correctament, prement la bombeta hauria d’encendre’s.

Guai, oi?

Ara podeu divertir-vos afegint més dispositius, fins i tot més taulers i disposant-los en escenes.

Però per utilitzar a tota la potència el que acabeu de crear, haurem d’utilitzar Tasker.

Pas 5: integració de tasques

Integració de tasques
Integració de tasques
Integració de tasques
Integració de tasques
Integració de tasques
Integració de tasques

Si teniu Tasker o voleu comprar-lo, continueu llegint. L’utilitzarem per dir a Homotica què fer i quan fer-ho.

En aquest exemple, encendrem el llum sempre que ens connectem al wifi de casa I l’hora és entre les 16:00 i les 18:00.

Obre la tasca; creeu una nova tasca (posem-ne el nom Encén la llum), seleccioneu Afegeix> Complement> Homotica, premeu el llapis incon per configurar el connector. Seleccioneu Llum> Activat i Desa. De tornada al menú principal, creeu un perfil nou, seleccioneu Estat> WiFi connectat, inseriu el nom de Wifi turístic al camp SSID; premeu enrere i seleccioneu Activa la llum com a activitat. Ara, mantingueu premuda la part esquerra del perfil acabat de crear, seleccioneu Afegeix> Hora> De 16 a 18 h i, a continuació, tanqueu.

Hem acabat. El nostre llum s’encendrà quan entrem a casa a l’hora que establim.

Això és útil!

Ara és el vostre torn: feu-vos creatiu amb Homotica i Tasker i no oblideu mostrar-nos el que heu creat.

Recomanat: