INHOUDSOPGAWE:

DIY Smart Home met Google Assistant en Arduino: 6 stappe
DIY Smart Home met Google Assistant en Arduino: 6 stappe

Video: DIY Smart Home met Google Assistant en Arduino: 6 stappe

Video: DIY Smart Home met Google Assistant en Arduino: 6 stappe
Video: How to use 4 channel Relay to control AC load with Arduino code 2024, Julie
Anonim
Image
Image
DIY Smart Home met Google Assistant en Arduino
DIY Smart Home met Google Assistant en Arduino

Wie wil nie 'n slim huis hê nie? Een van die lekkerste dinge wat u kan doen, is om die ligte of ander toestelle in u huis met stembeheer te skakel. Met die hulp van die Google Home -app en die Google -assistent is dit regtig 'n stukkie koek ……

U het nie baie dele daarvoor nodig nie, en dit is 'n goeie eksperiment om hierdie stembeheer self te bou met 'n slim luidspreker, 'n Arduino mini -rekenaar en 'n paar skakelrelais. U kan ook baie goedkoop slimligte en aansluitpunte koop, maar dit is baie lekkerder om dit self te maak. Ek sal stap vir stap beskryf hoe u dit kan doen. U benodig die volgende komponente:

Voorrade

1 'n Slim luidspreker, byvoorbeeld 'n Google Nest Mini.

2 'n Arduino MKR1000 -rekenaar om die stemopdragte in skakelopdragte om te skakel.

3 Een of meer 5 Volt -skakelrelais, een vir elke lamp wat u wil beheer.

4 'n USB-kragbron vir die Arduino MKR1000 met mikro-USB-aansluiting.

5 Hoofbedrading (1,5 vierkante meter) en voetstukke vir 'n veilige verbinding van die ligte en ander toestelle.

6 'n Android -slimfoon vir die Google Home -program.

Stap 1: Die opdragproses via internet

Die bevelproses via internet
Die bevelproses via internet

In hierdie prentjie kan u stap vir stap sien hoe die hele proses werk.

Deur die stemopdragte aan en af te skakel, loop dit heeltemal via die internet. Drie (!) Wolkdienste is nodig om dit te kan doen … U moet 'n rekening vir elke wolkdiens maak … Dit is 'n bietjie omslagtig, maar dit werk!

Eerstens benodig u die Google Home -app. Laai dit af van die Playstore op u Android -selfoon en installeer die app. Om u eie stemopdragte met Google Home te verstaan, werk slegs met die Engelse taal. Stel dus die taal in op Engels via instellings / meer instellings / assistent / tale en kies dan Engels (Verenigde State).

Die Google Nest Mini hoor die stemopdrag, byvoorbeeld "Hey Google, skakel lig nommer een aan". Hierdie analoog klanksein word gedigitaliseer en word na die Google Assistant -wolk gestuur. Dit word dan na die IFTTT -wolk gestuur waar die antwoord gemaak word. IFTTT (as dit as dit of "as u een ding doen, gebeur die ander ding") is 'n soort tussenstasie wat die opdrag ontleed, die antwoord gee en die aksies deurstuur na die volgende wolk, die Adafruit IO. As die opdrag volledig verstaan word, word die antwoord van IFTTT digitaal teruggestuur na die Google Nest Mini en word dit daar omgeskakel in 'n klanksignaal. As die opdrag nie verstaan word nie, sal die Google Assistent 'n ander antwoord terugstuur om duidelik te maak dat daar geen skakelaksie sal volg nie. 'N Goed verstaande opdrag sal deur IFTTT na die Adafruit-webwerf gestuur word. Adafruit is 'n elektroniese verskaffer wat 'n webwerf onderhou om slim skakeldata te stoor. Hulle noem dit 'n 'voer'. IFTTT stuur die kode wat verband hou met die opdrag (in ons geval "one_on") na hierdie feed. Die Arduino MKR1000 is geprogrammeer om hierdie webwerf gereeld na te gaan, die data in die voer voor te lees en dan die betrokke skakelrelais aan of uit te skakel. Die Adafruit -voer word om veiligheidsredes beskerm met 'n rekeningnaam en 'n unieke Adafruit IOKEY wat slegs aan die rekeningeienaar bekend is.

Stap 2: Programmering van die Arduino MKR1000

Die programmering van die Arduino MKR1000
Die programmering van die Arduino MKR1000
Die programmering van die Arduino MKR1000
Die programmering van die Arduino MKR1000

Gebruik die standaard IDE van die Arduino -webwerf. Plaas die volgende biblioteke in die IDE (via: gereedskap / bestuur biblioteke): ArduinoJson en WiFi101.

As u nog nie die MKR1000 geprogrammeer het nie, moet u eers hierdie bord in die IDE toeganklik maak. Laai die bordlêer "Arduino SAMD boards" af via die menu -gereedskap / bord / bordbestuurder, waarna u die MKR1000 -bord kan kies.

Die skets gebruik ook 'n ekstra lêer, arduino_secrets.h.

Dit is 'n tekslêer wat u met notepad kan skep. Hierdie lêer bevat die gebruikte toegangskodes vir die Wi-Fi-netwerk (netwerk-SSID en wagwoord) en die aanmeldkodes van die Adafruit IO-webwerf (rekeningnaam en IOKEY-kode). Stoor hierdie lêer in die arduino -biblioteekgids op u rekenaar met die naam arduino_secrets.h in 'n aparte gids. Voordat u stoor, moet u alle 'xxx' vervang met u eie netwerk en Adafruit -data. Dit moet in die arduino_secrets.h -lêer wees:

#definieer SECRET_SSID "xxx"

#definieer SECRET_PASS "xxx"

#definieer IO_USERNAME "xxx"

#definieer IO_KEY "xxx"

Kopieer die Arduino -skets hieronder en laai dit in die MKR1000 via die Arduino IDE -program.

Stap 3: Die Adafruit -voer

Die Adafruit Feed
Die Adafruit Feed

Skep 'n rekening by www.io.adafruit.com. Adafruit is 'n elektroniese verskaffer wat 'n webwerf onderhou om slim skakeldata te stoor.

Skep 'n ON_OFF -voer waarin die opdragte later gestoor sal word. Adafruit het 'n uitgebreide handleiding wat u wys hoe u dit moet doen:

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

Dit is die beste om die "voer" in die voergeskiedenis op OFF te stel; dit is nie nodig om die skakelopdragte te onthou nie. (die instellings is aan die regterkant van die bladsy).

Stap 4: Die IFTTT -instellings

Die IFTTT -instellings
Die IFTTT -instellings
Die IFTTT -instellings
Die IFTTT -instellings
Die IFTTT -instellings
Die IFTTT -instellings
Die IFTTT -instellings
Die IFTTT -instellings

Skep 'n rekening by www. IFTTT.com. Gaan na "verken" (regs bo) en kies dan "maak u eie applets van nuuts af". Klik op "DIT" en soek na google. Kies Google Assistant. Kies dan die eerste opsie "sê 'n eenvoudige frase". Voer dan die gewenste opdragbeskrywing in en die antwoord wat gegee moet word.

(In ons geval "skakel alle ligte aan" en "OK. Ek sal alle ligte aanskakel. Pas op!"). Druk dan op "skep sneller" en druk in die volgende skerm op "DIT". Kies dan Adafruit en klik op "stuur data na adafruit IO". Die AAN-UIT-voer verskyn in die eerste veld en voer dan die gewenste kode in die tweede veld in (hier as 'n voorbeeld "alles-aan").

Klik ten slotte op "skep aksie" en dan op "voltooi".

U kan ook 'n boodskap op u telefoon ontvang om te kontroleer elke keer dat 'n applet aktief was, wat nuttig is vir die oplos van probleme, maar as alles werk, kan u dit uitskakel.

As u verskeie ligte of ander huishoudelike toestelle wil beheer, moet u 'n IFTTT -applet vir elke opdrag skep en die kodes wat in die Adafruit -feed gestoor is, moet ooreenstem met die kodes in die Arduino -skets.

Stap 5: Toets die verbindings en die sagteware

Toets die verbindings en die sagteware
Toets die verbindings en die sagteware

Om die stelsel te toets, kan u 'n toets opstel met LED's in plaas van relais:

Stap 6: Koppel huishoudelike toestelle

Koppel huishoudelike toestelle
Koppel huishoudelike toestelle
Koppel huishoudelike toestelle
Koppel huishoudelike toestelle

Om huishoudelike toestelle oor te skakel, moet u skakelrelae aansluit op die poorte van die Arduino MKR1000 in plaas van die toets -LED's. Gebruik 1,5 mm2 -bedrading aan die hoofspanningskant om die toestelle en die afloskontakte op 'n veilige manier aan te sluit.

Aanbeveel: