Inhoudsopgave:

DIY Smart Home met Google Assistent en Arduino - Ajarnpa
DIY Smart Home met Google Assistent en Arduino - Ajarnpa

Video: DIY Smart Home met Google Assistent en Arduino - Ajarnpa

Video: DIY Smart Home met Google Assistent en Arduino - Ajarnpa
Video: I built a smarter smart home 2024, November
Anonim
Image
Image
DIY Smart Home met Google Assistent en Arduino
DIY Smart Home met Google Assistent en Arduino

Wie wil er nu geen smart home? Een van de leukste dingen die je kunt doen, is de verlichting of andere apparaten in je huis schakelen met spraakbesturing. Met behulp van de Google Home app en de Google assistent is dit echt een fluitje van een cent……

Je hebt er niet veel onderdelen voor nodig en het is een leuk experiment om deze spraakbesturing zelf te bouwen met een slimme speaker, een Arduino mini computer en een paar schakelrelais. Je kunt ook veel goedkope slimme lampjes en stopcontacten kopen, maar zelf maken is veel leuker. Ik zal stap voor stap beschrijven hoe je dit kunt doen. Je hebt de volgende componenten nodig:

Benodigdheden

1 Een slimme speaker, bijvoorbeeld een Google Nest Mini.

2 Een Arduino MKR1000 computer om de spraakcommando's om te zetten in schakelcommando's.

3 Eén of meerdere 5 Volt schakelrelais, één voor elke lamp die je wilt aansturen.

4 Een USB-voeding voor de Arduino MKR1000 met micro-USB-stekker.

5 Hoofdbedrading (1,5 m²) en stopcontacten voor een veilige aansluiting van de lampen en andere apparaten.

6 Een Android-smartphone voor de Google Home-app.

Stap 1: Het opdrachtproces via internet

Het opdrachtproces via internet
Het opdrachtproces via internet

In deze afbeelding kunt u stap voor stap zien hoe het hele proces werkt.

Het in- en uitschakelen via de spraakcommando's verloopt volledig via internet. Hiervoor zijn drie (!) clouddiensten nodig… Voor elke clouddienst moet je een account aanmaken… Het is wat omslachtig maar het werkt!

Eerst heb je de Google Home-app nodig. Download het uit de Playstore op je Android-telefoon en installeer de app. Het begrijpen van je eigen spraakopdrachten met Google Home werkt alleen met de Engelse taal. Zet dus via instellingen/meer instellingen/assistent/talen de taal op Engels en kies vervolgens Engels (Verenigde Staten).

De Google Nest Mini hoort het spraakcommando, bijvoorbeeld "Hey Google, zet licht nummer één aan". Dit analoge audiosignaal wordt gedigitaliseerd en naar de Google Assistent-cloud gestuurd. Het wordt vervolgens doorgestuurd naar de IFTTT-cloud waar het antwoord wordt gegeven. IFTTT (If This Than That of “if you do one thing the other thing happen”) is een soort tussenstation dat het commando analyseert, het antwoord geeft en de acties doorstuurt naar de volgende cloud, de Adafruit IO. Als de opdracht volledig wordt begrepen, wordt het antwoord van IFTTT digitaal teruggestuurd naar de Google Nest Mini en daar wordt het omgezet in een audiosignaal. Als de opdracht niet wordt begrepen, zal de Google Assistent een ander antwoord teruggeven om duidelijk te maken dat er geen schakelactie zal volgen. Een goed begrepen commando zal door IFTTT worden doorgestuurd naar de Adafruit-website. Adafruit is een elektronicaleverancier die een website onderhoudt om slimme schakelgegevens op te slaan. Ze noemen het een "Feed". IFTTT stuurt de code die bij de opdracht hoort (in ons geval "one_on") naar deze feed. De Arduino MKR1000 is geprogrammeerd om deze website regelmatig te controleren, de data in de feed uit te lezen en vervolgens het betreffende schakelrelais aan of uit te schakelen. De Adafruit-feed is om veiligheidsredenen beveiligd met een accountnaam en een unieke Adafruit IOKEY die alleen bekend is bij de accounteigenaar.

Stap 2: Programmeren van de Arduino MKR1000

Programmeren van de Arduino MKR1000
Programmeren van de Arduino MKR1000
Programmeren van de Arduino MKR1000
Programmeren van de Arduino MKR1000

Gebruik de standaard IDE van de Arduino-website. Plaats de volgende bibliotheken in de IDE (via: tools / beheer bibliotheken): ArduinoJson en WiFi101.

Als je de MKR1000 nog niet eerder hebt geprogrammeerd, moet je dit bord eerst toegankelijk maken in de IDE. Download via het menu tools/board/boardmanager het boardfile “Arduino SAMD boards” waarna je het MKR1000 board kunt selecteren.

De schets gebruikt ook een extra bestand, arduino_secrets.h.

Dit is een tekstbestand dat u kunt maken met Kladblok. Dit bestand bevat de gebruikte toegangscodes voor het wifi-netwerk (netwerk-SSID en wachtwoord) en de inlogcodes van de Adafruit IO-webpagina (accountnaam en IOKEY-code). Sla dit bestand op in de arduino-bibliotheekmap op uw pc met de naam arduino_secrets.h in een aparte map. Vervang vóór het opslaan alle "xxx" door uw eigen netwerk en Adafruit-gegevens. Dit zou in het bestand arduino_secrets.h moeten staan:

#define SECRET_SSID "xxx"

#define SECRET_PASS "xxx"

#define IO_USERNAME "xxx"

#definieer IO_KEY "xxx"

Kopieer onderstaande Arduino sketch en laad deze via het Arduino IDE programma in de MKR1000.

Stap 3: Het Adafruit-voer

Het Adafruit-voer
Het Adafruit-voer

Maak een account aan op www.io.adafruit.com. Adafruit is een elektronicaleverancier die een website onderhoudt om slimme schakelgegevens op te slaan.

Maak een ON_OFF-feed waarin de opdrachten later worden opgeslagen. Adafruit heeft een uitgebreide tutorial die je laat zien hoe je dit doet:

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

Het is het beste om de "voer" in de voergeschiedenis op UIT te zetten, het is niet nodig om de schakelcommando's te onthouden. (de instellingen staan aan de rechterkant van de pagina).

Stap 4: De IFTTT-instellingen

De IFTTT-instellingen
De IFTTT-instellingen
De IFTTT-instellingen
De IFTTT-instellingen
De IFTTT-instellingen
De IFTTT-instellingen
De IFTTT-instellingen
De IFTTT-instellingen

Maak een account aan op www. IFTTT.com. Ga naar "verkennen" (rechtsboven) en kies vervolgens "maak je eigen applets helemaal opnieuw". Klik op "DIT" en zoek naar google. Kies Google Assistent. Kies dan de eerste optie "zeg een eenvoudige zin". Voer vervolgens de gewenste opdrachtbeschrijving en het te geven antwoord in.

(In ons geval “schakel alle lichten aan” en “OK. Ik zet alle lichten aan. Pas op!”). Druk vervolgens op “create trigger” en in het volgende scherm op “THAT”. Kies dan voor Adafruit en klik op “send data to adafruit IO”. In het eerste veld verschijnt de AAN-UIT-feed en voer vervolgens in het tweede veld de gewenste code in (hier als voorbeeld “all-on”).

Klik ten slotte op "actie maken" en vervolgens op "voltooien".

Je kunt ook een bericht op je telefoon ontvangen om te controleren wanneer een applet actief is geweest, wat handig is voor het oplossen van problemen, maar als alles werkt, kun je dit uitschakelen.

Als je meerdere lampen of andere huishoudelijke apparaten wilt bedienen, moet je voor elke opdracht een IFTTT-applet maken en moeten de codes die zijn opgeslagen in de Adafruit-feed overeenkomen met de codes in de Arduino-schets.

Stap 5: Test de verbindingen en de software

Test de verbindingen en de software
Test de verbindingen en de software

Om het systeem te testen kunt u een testopstelling maken met LED's in plaats van relais:

Stap 6: Huishoudelijke apparaten aansluiten

Huishoudelijke apparaten aansluiten
Huishoudelijke apparaten aansluiten
Huishoudelijke apparaten aansluiten
Huishoudelijke apparaten aansluiten

Om huishoudelijke apparaten te schakelen, moet je schakelrelais aansluiten op de poorten van de Arduino MKR1000 in plaats van de test-LED's. Gebruik 1,5 mm2 bedrading aan de voedingszijde van de netspanning om de apparaten en de relaiscontacten op een veilige manier aan te sluiten.

Aanbevolen: