Sommario:

Automazione domestica con Android e Arduino: apri il cancello quando arrivi a casa: 5 passaggi
Automazione domestica con Android e Arduino: apri il cancello quando arrivi a casa: 5 passaggi

Video: Automazione domestica con Android e Arduino: apri il cancello quando arrivi a casa: 5 passaggi

Video: Automazione domestica con Android e Arduino: apri il cancello quando arrivi a casa: 5 passaggi
Video: Aprire il Cancello con il tuo Telefono! - Cancello SMART fai da te SENZA modifiche all'impianto 2024, Dicembre
Anonim
Automazione domestica con Android e Arduino: apri il cancello quando torni a casa
Automazione domestica con Android e Arduino: apri il cancello quando torni a casa

Questo Instructable riguarda la configurazione di un sistema domotico da controllare tramite smartphone, utilizzando una connessione Internet, in modo che sia accessibile da qualsiasi luogo ne abbiate bisogno. Inoltre, eseguirà determinate azioni ogni volta che viene soddisfatto un criterio (come, ad esempio, accendere la luce quando lo smartphone si connette alla rete Wi-Fi domestica, aprire il cancello quando si entra in un'area determinata dal GPS o qualsiasi altra cosa tu possa desiderare).

Verrà utilizzata un'applicazione Android esistente, che richiede la minor quantità di codice possibile: basta caricare il codice e il gioco è fatto. Il cervello - il microcontrollore - sarà un Arduino, o una scheda compatibile con Arduino, come un Aruino Uno con uno shield Ethernet o un NodeMCU ESP8266.

Per attivare il sistema quando si verifica una condizione (posizione GPS, ora, ecc…) utilizzeremo il famigerato Tasker; più su quello più tardi.

Nella realizzazione del sistema sono stati tenuti presenti i seguenti punti chiave:

  • Deve essere economico.
  • Deve essere accessibile dall'esterno della rete domestica locale (cioè il tuo wifi).
  • Deve essere DAVVERO facile e veloce da costruire e configurare.
  • Deve essere affidabile.

Detto questo, l'intero progetto avrà un costo di circa 20 € (7,50 € per un ESP8266, 8 € per una scheda relè, il resto per hardware aggiuntivo) e ti ci vorranno circa 30 minuti per configurarlo - niente male.

Quindi, se sei interessato, segui questa guida semplice e veloce e configura la tua!

Passaggio 1: configurazione dell'hardware

Configurazione dell'hardware
Configurazione dell'hardware

Una volta raccolti tutti i componenti, la prima cosa da fare è cablare il tutto.

In questo esempio collegheremo una lampadina all'ESP8266; tieni presente che devi essere estremamente attento quando lavori con le tensioni principali: le case usano 220 V, che possono ucciderti! Togli sempre la corrente prima di lavorarci sopra, e se non sei sicuro cerca un aiuto esperto!

Detto questo: per gestire tali livelli di tensione e corrente (che bruceranno il piccolo ESPR8266) dobbiamo usare un relè adatto (come questo che è logico a 5V, adatto per l'Arduino standard, o questo, un relè a livello logico da 3,3V, adatto per il pinout a 3,3 V dell'ESP82666); i collegamenti sono abbastanza facili, segui lo schema che abbiamo allegato.

Notare che alcune schede relè (come quella che abbiamo collegato) sono ATTIVE LOW; questo significa che devi collegare il relè a massa per farlo accendere e viceversa. Se questo è il tuo caso, Homotica offre una bella soluzione; quale vedremo nel prossimo paragrafo.

Passaggio 2: configurazione ESP8266

Configurazione ESP8266
Configurazione ESP8266
Configurazione ESP8266
Configurazione ESP8266
Configurazione ESP8266
Configurazione ESP8266

Ora che abbiamo impostato l'hardware del sistema di automazione, dobbiamo programmare il microcontrollore.

Per fare ciò, avremo bisogno del software Arduino per caricare lo schizzo fornito su ESP8266; quindi vai alla pagina di download di Arduino e prendi la versione più adatta a te.

Una volta scaricato, installalo.

Ora che abbiamo installato il nostro IDE, abbiamo bisogno della libreria necessaria per il funzionamento dello sketch; per installarlo apri l'App Github Repo e scegli Download dal pulsante verde a destra.

Vai alla cartella Download sul tuo PC e, utilizzando un software come WinRar o WinZip, decomprimi il file; apri la cartella "homotica-master" appena creata e copia la cartella interna denominata "Homotica" nella cartella Librerie di Arduino Editor (di solito la trovi in C:\Users\your_user_name\Documents\Arduino\libraries). Elimina i file rimanenti in "homotica-master", non ne avremo bisogno

Manca un passaggio per caricare il codice sull'ESP8266: dobbiamo ottenere la libreria per far comunicare l'IDE di Arduino con la scheda, poiché non è ufficialmente supportato.

Per farlo, segui questi passaggi (crediti: Github ES8266 Arduino Repo):

  • Avvia Arduino e apri la finestra File>Preferenze.
  • Immettere "https://arduino.esp8266.com/stable/package_esp8266com_index.json" (senza virgolette) nel campo URL aggiuntivi di Board Manager. Puoi aggiungere più URL, separandoli con virgole.
  • Apri Boards Manager dal menu Strumenti> Scheda e installa la piattaforma esp8266 (cerca "esp8266" e scarica "esp8266 di ESP8266 Community").

Tutto è impostato. Prendiamoci cura del codice schizzo.

Apri File>Esempio>Homotica>Homotica ESP8266, copia TUTTO il codice in un nuovo sketch e modifica i seguenti parametri:

  • ssid: inserisci qui il nome della tua rete wireless
  • password: la tua password wifi
  • ip, gateway, subnet: probabilmente non dovrai toccare queste impostazioni; cambia ip se vuoi che il tuo ESP8266 abbia un indirizzo diverso
  • mUdpPort: la porta che apriremo nel router in seguito; se non sai cos'è, non toccarlo
  • codice: un codice univoco di 8 caratteri che verrà utilizzato per autenticare la tua app; puoi scegliere quello che vuoi.

Se stai usando una configurazione ACTIVE LOW, non dimenticare di chiamare homotica.setActiveLow() come mostrato nel codice di esempio!

Per finire: aggiungi homotica.addUsedPin(5) (come mostrato nell'esempio) per dire all'ESP8266 quale GPIO deve gestire, tra il ciclo while e homotica.set(mUdpPort, code); eliminare tutte le righe homotica.simulateUdp(…).

Questo è il codice che dovresti rimanere con:

#includere

#include #include const char* ssid = "mywifiname"; const char* password = "wifipassword"; IPAddress ip(192, 168, 1, 20); IPAddress gateway(192, 168, 1, 1); Sottorete IPAddress(255, 255, 255, 0); unsigned int mUdpPort = 5858; static String code = "aBc159"; Homotica homotica; void setup() { WiFi.config(ip, gateway, subnet); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { ritardo(500); } homotica.addUsedPin(5); homotica.setActiveLow(); //<-- solo se ne hai bisogno homotica.set(mUdpPort, code); } void loop() { homotica.refresh(); }

Quando tutto è impostato correttamente, modifica le impostazioni del compilatore dal menu Strumenti in base allo screenshot allegato e seleziona la porta a cui è collegato il tuo ESP8266 sul tuo computer in Strumenti> Porta.

Ora, fai clic su Carica. Il tuo microcontrollore è tutto configurato e pronto per funzionare!

Passaggio 3: router e IP

Router e IP
Router e IP
Router e IP
Router e IP

Per comunicare con ESP8266 da ogni rete, dovremo dire al router di consentire il comando che gli inviamo.

Per farlo, vai alla pagina di configurazione del tuo router (di solito 192.168.1.1) e cerca qualcosa come "server virtuale" o "port forwarding"; puoi individuare l'impostazione precisa per il tuo modello di router cercando in Google.

Nel port forwarding, crea una nuova regola che consenta tutte le connessioni all'ESP8266 (quella configurata in precedenza) attraverso la porta ESP8266 (di nuovo, quella configurata in precedenza). Chiamalo Homotica, inserisci l'IP ESP8266 nel campo IP e salva.

Se il router che stai utilizzando non te lo consente, non preoccuparti: non potrai utilizzare l'app dalla rete mobile, ma funzionerà perfettamente dall'interno del tuo wifi di casa.

Ora, per fare riferimento al nostro router dal mondo esterno, dobbiamo conoscere il suo IP pubblico; il rovescio della medaglia è che la maggior parte degli internet provider non ti dà un IP statico, ma dinamico, che cambia nel tempo.

Ma aspetta, possiamo risolverlo!

Vai su NoIp, crea un nuovo account, quindi crea un nuovo nome host (vedi immagine allegata). Prendi nota del nome host che hai (nel mio esempio: https://yourhostname.ddns.net) e procedi al passaggio successivo.

(Nota: potresti volere che il tuo PC sincronizzi automaticamente l'IP del tuo router con il tuo nome host NoIp: scarica la loro app gratuita per farlo)

Passaggio 4: configurazione dell'app

Configurazione dell'app
Configurazione dell'app
Configurazione dell'app
Configurazione dell'app
Configurazione dell'app
Configurazione dell'app

Prendiamoci cura dell'app, vero?

Scarica l'app dalla pagina del Play Store e aprila.

Apri il menu a sinistra, seleziona Bacheche e creane una nuova. Compileremo i parametri che abbiamo precedentemente definito nel codice dello schizzo ESP8266:

  • Nome Arduino: cosa vuoi (lascia che questo sia ESP8266)
  • IP host: questo potrebbe essere

    • l'IP statico del router a cui si fa riferimento tramite il collegamento NoIp
    • l'IP ESP8266 se si desidera utilizzarlo solo dall'interno della rete wifi domestica 192.168.1.20
  • Porta host: quella che abbiamo impostato e aperto in precedenza 5858
  • Auth code: il codice di 8 caratteri che abbiamo definito nello sketch aBc195

Salva. Apri di nuovo il menu, crea un nuovo dispositivo; allegheremo una lampadina per dimostrazione:

  • Nome: luce
  • Nome del pulsante: useremo On, scegli quello che preferisci
  • Pin number: il pin a cui abbiamo attaccato la lampadina. Stai attento! Su ESP8266 le etichette dei pin (D1, D2…) NON corrispondono al nome del pin GPIO! Cerca in Google per determinare quale pin è quale GPIO (nel nostro esempio: il pin 5 è etichettato D1)
  • Comportamento: si può scegliere tra accensione, spegnimento, modifica dello stato di "spinta" (accensione e spegnimento) del dispositivo.

Salva. Se fino ad ora hai impostato tutto correttamente, premendo On la lampadina dovrebbe accendersi.

Bello, vero?

Ora puoi divertirti aggiungendo più dispositivi, ancora più schede e organizzandole in scene.

Ma per utilizzare al massimo quello che hai appena creato, dovremo usare Tasker.

Passaggio 5: integrazione con Tasker

Integrazione Tasker
Integrazione Tasker
Integrazione Tasker
Integrazione Tasker
Integrazione Tasker
Integrazione Tasker

Se possiedi Tasker, o vuoi acquistarlo, continua a leggere! Lo useremo per dire a Homotica cosa fare e quando farlo.

In questo esempio accenderemo la luce ogni volta che ci colleghiamo al nostro wifi di casa E l'ora è tra le 16:00 e le 18:00.

Apri Tasker; crea una nuova attività (chiamiamola Turn On Light), seleziona Aggiungi>Plugin>Homotica, premi l'icona a forma di matita per configurare il plug-in. Seleziona Luce> Acceso e salva. Torna al menu principale crea un nuovo profilo, seleziona Stato>WiFi connesso, inserisci il nome del tour Wifi nel campo SSID; premi indietro e seleziona Accendi la luce per entrare nell'attività. Ora, premi a lungo sulla parte sinistra del profilo appena creato, seleziona Aggiungi> Ora> Dalle 16:00 alle 18:00, quindi chiudi.

Abbiamo chiuso. La nostra luce si accenderà quando entreremo in casa all'orario che ci siamo prefissati.

È utile!

Ora tocca a te: diventa creativo con Homotica e Tasker, e non dimenticare di mostrarci cosa hai creato!

Consigliato: