Table des matières:

DIY Smart Home avec Google Assistant et Arduino : 6 étapes
DIY Smart Home avec Google Assistant et Arduino : 6 étapes

Vidéo: DIY Smart Home avec Google Assistant et Arduino : 6 étapes

Vidéo: DIY Smart Home avec Google Assistant et Arduino : 6 étapes
Vidéo: Преобразует что угодно в IoT с помощью ESPClicker и Home Assistant 2024, Juillet
Anonim
Image
Image
DIY Smart Home avec Google Assistant et Arduino
DIY Smart Home avec Google Assistant et Arduino

Qui ne veut pas d'une maison intelligente ? L'une des choses les plus agréables que vous puissiez faire est d'allumer les lumières ou d'autres appareils de votre maison par commande vocale. Avec l'aide de l'application Google Home et de l'assistant Google, c'est vraiment du gâteau ……

Vous n'avez pas besoin de beaucoup de pièces pour cela et c'est une belle expérience de construire vous-même cette commande vocale avec un haut-parleur intelligent, un mini-ordinateur Arduino et quelques relais de commutation. Vous pouvez également acheter de nombreuses lampes intelligentes et prises de courant très bon marché, mais le faire vous-même est beaucoup plus amusant. Je vais décrire étape par étape comment vous pouvez le faire. Vous aurez besoin des composants suivants:

Fournitures

1 Un haut-parleur intelligent, par exemple un Google Nest Mini.

2 Un ordinateur Arduino MKR1000 pour convertir les commandes vocales en commandes de commutation.

3 Un ou plusieurs relais de commutation 5 volts, un pour chaque lampe que vous souhaitez contrôler.

4 Une alimentation USB pour l'Arduino MKR1000 avec prise micro-USB.

5 Câblage principal (1,5 mm²) et prises pour une connexion sûre des lumières et autres appareils.

6 Un smartphone Android pour l'application Google Home.

Étape 1: Le processus de commande via Internet

Le processus de commande via Internet
Le processus de commande via Internet

Dans cette image, vous pouvez voir étape par étape comment l'ensemble du processus fonctionne.

L'activation et la désactivation via les commandes vocales s'effectuent entièrement via Internet. Trois (!) services cloud sont nécessaires pour cela… Il faut créer un compte pour chaque service cloud… C'est un peu lourd mais ça marche !

Vous aurez d'abord besoin de l'application Google Home. Téléchargez-le depuis le Playstore sur votre téléphone Android et installez l'application. Comprendre vos propres commandes vocales avec Google Home ne fonctionne qu'en anglais. Réglez donc la langue sur anglais via paramètres / plus de paramètres / assistant / langues, puis choisissez anglais (États-Unis).

Le Google Nest Mini entend la commande vocale, par exemple "Hey Google, allume la lumière numéro un". Ce signal audio analogique est numérisé et envoyé au cloud Google Assistant. Il est ensuite transmis au cloud IFTTT où la réponse est faite. IFTTT (If This Than That ou « si vous faites une chose, l'autre chose se passe ») est une sorte de station intermédiaire qui analyse la commande, donne la réponse et transmet les actions au cloud suivant, l'Adafruit IO. Si la commande est parfaitement comprise, la réponse d'IFTTT sera renvoyée numériquement au Google Nest Mini et là, elle sera convertie en un signal audio. Si la commande n'est pas comprise, l'assistant Google renverra une autre réponse pour indiquer clairement qu'aucune action de commutation ne suivra. Une commande bien comprise sera transmise par IFTTT au site Web d'Adafruit. Adafruit est un fournisseur d'électronique qui gère un site Web pour stocker des données de commutation intelligente. Ils appellent ça un "Flux". IFTTT envoie le code associé à la commande (dans notre cas « one_on ») à ce flux. L'Arduino MKR1000 est programmé pour consulter régulièrement ce site Web, lire les données dans le flux, puis activer ou désactiver le relais de commutation correspondant. Le flux Adafruit est protégé pour des raisons de sécurité avec un nom de compte et un Adafruit IOKEY unique connu uniquement du propriétaire du compte.

Étape 2: Programmation de l'Arduino MKR1000

Programmation de l'Arduino MKR1000
Programmation de l'Arduino MKR1000
Programmation de l'Arduino MKR1000
Programmation de l'Arduino MKR1000

Utilisez l'IDE standard du site Web Arduino. Placez les bibliothèques suivantes dans l'IDE (via: outils / gérer les bibliothèques): ArduinoJson et WiFi101.

Si vous n'avez pas encore programmé le MKR1000, vous devez d'abord rendre cette carte accessible dans l'IDE. Téléchargez le fichier de carte "Cartes Arduino SAMD" via le menu Outils / Carte / Gestionnaire de carte, après quoi vous pouvez sélectionner la carte MKR1000.

L'esquisse utilise également un fichier supplémentaire, arduino_secrets.h.

Il s'agit d'un fichier texte que vous pouvez créer avec le bloc-notes. Ce fichier contient les codes d'accès utilisés pour le réseau Wi-Fi (SSID et mot de passe du réseau) et les codes de connexion de la page Web Adafruit IO (nom de compte et code IOKEY). Enregistrez ce fichier dans le répertoire de la bibliothèque arduino sur votre PC avec le nom arduino_secrets.h dans un répertoire séparé. Avant d'enregistrer, remplacez tous les « xxx » par votre propre réseau et les données Adafruit. Cela devrait être dans le fichier arduino_secrets.h:

#define SECRET_SSID "xxx"

#définir SECRET_PASS « xxx »

#define IO_USERNAME "xxx"

#define IO_KEY "xxx"

Copiez le croquis Arduino ci-dessous et chargez-le dans le MKR1000 via le programme Arduino IDE.

Étape 3: L'alimentation Adafruit

L'alimentation Adafruit
L'alimentation Adafruit

Créez un compte sur www.io.adafruit.com. Adafruit est un fournisseur d'électronique qui gère un site Web pour stocker des données de commutation intelligente.

Créez un flux ON_OFF dans lequel les commandes seront enregistrées ultérieurement. Adafruit a un tutoriel complet vous montrant comment faire ceci:

learn.adafruit.com/adafruit-io-basics-feeds/creating-a-feed

Il est préférable de désactiver le « flux » dans l'historique des flux, il n'est pas nécessaire de se souvenir des commandes de commutation. (les paramètres sont sur le côté droit de la page).

Étape 4: Les paramètres IFTTT

Les paramètres IFTTT
Les paramètres IFTTT
Les paramètres IFTTT
Les paramètres IFTTT
Les paramètres IFTTT
Les paramètres IFTTT
Les paramètres IFTTT
Les paramètres IFTTT

Créez un compte sur www. IFTTT.com. Allez dans « explorer » (en haut à droite) puis choisissez « créez vos propres applets à partir de zéro ». Cliquez sur « CECI » et recherchez google. Choisissez l'assistant google. Choisissez ensuite la première option « dire une phrase simple ». Saisissez ensuite la description de la commande souhaitée et la réponse à donner.

(Dans notre cas « allumez toutes les lumières » et « OK. Je vais allumer toutes les lumières. Attention ! »). Appuyez ensuite sur « créer un déclencheur » et dans l'écran suivant, appuyez sur « CELA ». Choisissez ensuite Adafruit et cliquez sur « envoyer les données à adafruit IO ». L'alimentation ON-OFF apparaît dans le premier champ puis saisissez le code souhaité dans le deuxième champ (ici à titre d'exemple « all-on »).

Enfin, cliquez sur « créer une action » puis sur « terminer ».

Vous pouvez également recevoir un message sur votre téléphone pour vérifier chaque fois qu'une applet a été active, ce qui est utile pour le dépannage, mais lorsque tout fonctionne, vous pouvez le désactiver.

Si vous souhaitez contrôler plusieurs lumières ou autres appareils électroménagers, vous devez créer une applet IFTTT pour chaque commande, et les codes stockés dans le flux Adafruit doivent correspondre aux codes du sketch Arduino.

Étape 5: Testez les connexions et le logiciel

Tester les connexions et le logiciel
Tester les connexions et le logiciel

Pour tester le système, vous pouvez effectuer une configuration de test avec des LED au lieu de relais:

Étape 6: Connexion des appareils électroménagers

Branchement d'appareils ménagers
Branchement d'appareils ménagers
Branchement d'appareils ménagers
Branchement d'appareils ménagers

Pour commuter des appareils électroménagers, vous devez connecter des relais de commutation aux ports de l'Arduino MKR1000 au lieu des LED de test. Utilisez un câblage de 1,5 mm2 du côté de l'alimentation en tension principale pour connecter les appareils et les contacts de relais en toute sécurité.

Conseillé: