Come Controllare Una Ventilatore Con Alexa E La Board-Alex-Control
by HorizonLab in Circuits > Arduino
532 Views, 0 Favorites, 0 Comments
Come Controllare Una Ventilatore Con Alexa E La Board-Alex-Control
Questo progetto fa parte di Internet of Tricks ed è un dispositivo che simula in scala ridotta una piccola casa nella quale alcuni apparati IoT si interfacciano con un assistente vocale. La casetta è in grado di aprire e chiudere porte, accendere ventilatori e luci. Questo dispositivo ha degli scopi pedagogici, è pensato per aumentare la consapevolezza dell'utente sui rischi dell'IoT negli ambienti domestici. Ad esempio l'utente ha la possibilità di capire come sia facile scoprire quando in casa non vi sia nessuno se tutto gli apparati sono spenti, oppure l'utente può imparare quanto sia pericoloso se un malintenzionato riuscisse ad accendere gli apparati in assenza di sicurezza. Naturalmente, i vantaggi offerti dall'IoT permettono la semplificazione di molte azioni quotidiane. E' però necessario osservare alcuni accorgimenti perchè le abitudini domestiche non siano pubblicamente accessibili da malintenzionati.
In questo tutorial verrà mostraro come usare i comandi vocali di Alexa per poter accendere o spegnere una lampada. Il tutorial mostra come collegare la board sviluppata nel tutorial ad un ventilatore e come programmarlo perché riceva comandi attraverso protocollo MQTT provenienti da Alexa.
Cosa Ci Serve
Innanzitutto è necessario procurarsi:
- Un Dispositivo Alexa collegato ad internet(va bene anche solo uno smartphone sul quale è installata l'app Alexa)
- Jumpers
- Breadbord
- Laptop collegato ad internet
- Router wifi
- LED e una resistenza da 100Ohm ;
- ESP32 Microcontroller;
Schema Dei Collegamenti
L'immagine mostra la connessione tra l'ESP32 e il LED.
Il PIN positivo del LED deve essere consesso al PIN 33 tramite la resistenza
Il Servo motore viene controllato collegando il PIN13 al PIN di controllo del Servo
Node-RED
Per installare Node-RED sul laptop, dai uno sguardo a questa guida.
Questo schema Nore-RED si occupa di ricevere i comandi da Alexa e tradurli in comandi per l'ESP32, nello specifico va a gestire l'accensione e lo spegnimento del LED collegato all'ESP32 e salva un logo degli eventi.
Step by Step
- Da Node-Red installiamo da Manage Palette "node-red-contrib-alexa-home-skill", "node-red-contrib-moment" e "node-red-dashboard";
- Prendiamo il Nodo alexa-home e nel menù help a destra di node-red apriamo il link per la configurazione dei device "https://alexa-node-red.bm.hardill.me.uk/" ;
- Una volta registrati al sito andiamo in device e premiamo add device, Nel menù che viene mostrato per gestire una luce scegliamo l' Actions "ON e OFF" e come Application "Type Light" ;
- In Node-Red nelle proprietà del nodo Alexa Home inseriamo l'username e password scelte al punto 2;
- Una volta collegato l'account nel menù device del nodo Alexa troviamo il nuovo device selezionabile;
- Colleghiamo l'uscita del nodo Alexa Home all'ingresso del Nodo "mqtt in";
- Nelle proprietà del nodo "mqtt in" inseriamo le informazioni del broker (nel nostro caso broker.hivemq.com porta 1883);
Downloads
Alexa Skill - Comandi Vocali
Gli screenshot allegati mostrano come installare la skill Alexa per poter gestire con comandi vocali l'invio delle richieste a Nod-RED. I passi per settare la skilla alexa sono i seguenti:
- In Altro-> "Skill e giochi" cerchiamo e installiamo la skill "Node-Red" come da foto;
- Abilitare la Skill e inserire la Username e Password;
- Alexa automaticamente cercherà i nuovi dispositivi, in alternativa in "Dispositivi"->"Tuoi Dispositivi" è possibile trovare e aggiungere i nuovi dispositivi creati su "https://alexa-node-red.bm.hardill.me.uk/";
- Possiamo cambiare il comando di attivazione o disattivazione di un dispositivo andando in Altro-> Routine;
- In Routine aggiungerne una nuova assegnando un nome, un comando di attivazione nel menù Voce e un azione; nel menù azione selezioniamo "casa intelligente " e il dispositivo.
Firmware
Il firmware allegato va flashato sull'ESP32 perchè possa collegarsi al broker MQTT, ricevere i comandi, attuarli e rispondere con un feedback.
Nel caso stessimo gestendo più case e necessario avere dei nomi diversi per ogni casa per il
WiFiClient espClientHori2;
PubSubClient client(espClientHori2);
Dashboard
Node-Red permette di realizzare una Dashboard a partire dalle informazione che scorrono nei flussi realizzati negli step precedenti. Nel nostro caso, per monitorare le abitudini domestiche, è necessario inserire dei widget per tenere traccia degli eventi (come l'accensione di una lampada). Per realizzare la Dashboard è necessario:
- Inserire come primo nodo "mqtt out" con le informazioni relative al topic da leggere (come da immagine);
- All'uscita del nodo "mqtt out" collegare un nodo "Text" per stampare lo stato della luce e i blocchetti per la stampa del timestemp ("trigger", "Data/Time Format" e " Text");
- Per la Dashboard vera e proprio andiamo a creare un nuovo "tab" e all'interno del Tab un gruppo per ogni casetta;
- Possiamo poi collegare il nodo text al singolo gruppo andando a selezionare il gruppo nelle proprietà del nodo Text;
- La sezione layout nel Tab ci permette di modificare la grafica della nostra Dashboard.
Let's Play!
Aspetto nei file allegati trovi anche il progetto della casa per la stampa in 3D
Disclaim
This tutorial was developed as part of the Internet of Tricks project, co-financed by the Erasmus + program of the European Union. Project n°: 2021-1-SE02-KA220-YOU-000028971
The content of this publication does not reflect the official opinion of the European Union. Responsibility for the information and views expressed therein lies entirely with
The authors.
For more details contact info@horizonlab.eu