Indholdsfortegnelse:

Stemmestyret switch ved hjælp af Alexa og Arduino: 10 trin (med billeder)
Stemmestyret switch ved hjælp af Alexa og Arduino: 10 trin (med billeder)

Video: Stemmestyret switch ved hjælp af Alexa og Arduino: 10 trin (med billeder)

Video: Stemmestyret switch ved hjælp af Alexa og Arduino: 10 trin (med billeder)
Video: Få Alexa til at styre dit hjem (Billigt) Sonof Wifi Smart Switch 2024, November
Anonim
Stemmestyret switch ved hjælp af Alexa og Arduino
Stemmestyret switch ved hjælp af Alexa og Arduino

Hovedformålet med dette projekt er at bruge temperatursensor til at styre kontakt (relæ) til at tænde eller slukke for enheden.

Liste over materialer

  1. 12V relæmodul ==> $ 4,2
  2. Arduino uno ==> $ 8
  3. DHT11 temperatursensor ==> $ 3
  4. ESP8266 -modul ==> $ 4,74
  5. N26 optokobler ==> $ 0,60
  6. LM1117 spændingsregulator ==> $ 0,60
  7. Breadboard ==> $ 2,2
  8. Jumperwires ==> $ 2,5
  9. Tryk på knappen ==> $ 2,5

De samlede omkostninger ved projektet er omkring $ 30 dollars. Dette projekt er opdelt i tre dele. Først bruger vi heroku til at oprette en app. For det andet bygger vi en Amazon Alexa -færdighed til at implementere vores arbejde (Den vigtigste del). For det tredje opsætter vi vores hardware og programmerer den ved hjælp af Arduino IDE.

Trin 1: Linking Heroku til GitHub

Sammenkædning af Heroku med GitHub
Sammenkædning af Heroku med GitHub
Forbinder Heroku med GitHub
Forbinder Heroku med GitHub
Sammenkædning af Heroku med GitHub
Sammenkædning af Heroku med GitHub

Heroku er en cloud -platform som en service (PaaS), der understøtter flere programmeringssprog, der bruges som en model til implementering af webapplikationer. Gå først til heroku -webstedet, opret en ny konto eller log ind der. Linket er angivet herunder

Heroku -websted

Lad os starte med at oprette en ny app. Jeg har givet mit appnavn "iottempswitch", når du implementerer app, link genereres.

Når appen er lavet, skal du gå til GitHub. GitHub/

Log ind der, eller tilmeld dig, hvis du ikke har en konto. Når du er logget ind, skal du oprette et nyt arkiv. Giv et navn, du vil vælge, og tryk derefter på opret arkiv. På næste side klikker du på README, på denne side giver du en beskrivelse, du vil dele med andre. Klik derefter på begå ny fil. Klik derefter på upload -knappen.

Der er to muligheder enten at trække og slippe mappe eller vælge fil. Download nødvendige filer nedenunder. Når du har valgt filer, skal du trykke på begå ændringer. Åbn appen, som du oprettede på Heroku, og gå derefter til implementeringsafsnittet. Derefter klikker du på GitHub. Give depotnavn, som du har oprettet på GitHub -siden. I mit tilfælde er det Smart-Relay. Kopier det og indsæt det her. Når dit link er vist klikker du på Opret forbindelse. Klik derefter på implementeringsgren (manuel). Efter implementering kan du se link i build -log, eller du kan se link i indstillinger. Vi har brug for dette link senere, når vi laver Amazon -færdigheder.

Trin 2: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Seneste billeder af Alexa -færdigheder

På Amazon Developer -webstedet bruger vi Amazon -færdigheder til at styre switch trigger ved at indstille temperatur og luftfugtighed.

Gå til Amazon Developer Site. Linket er angivet herunder.

Amazons udviklerwebsted

  • Gå til udviklerkonsol øverst til højre som vist i figur i4
  • Gå til Alexa, vælg derefter Alexa Skill Kit og opret derefter ny færdighed ved at klikke på Tilføj ny færdighed.

Når du tilføjer nye færdigheder, vil du se siden med oplysninger om færdigheder.

1. Færdighedsinformation (som vist på billede i7)

vi skal angive færdighedstype, sprog, navn, påkaldelsesnavn.

Færdighedstype ==> vælg tilpasset

  • Navn ==> vælg et hvilket som helst navn.
  • Tilkaldelsesnavn ==> som du bruger, mens du kommunikerer med Alexa. For eksempel;- Alexa, bed sensoren om at tænde for kontakten eller Alexa, spørg lyset på her påkaldelsesnavne er sensor og lys.
  • Sprog ==> engelsk (Indien). Vælg efter dit land

klik på gem og derefter næste

2. Interaktionsmodel

Her vil vi bruge skill Builder. Så klik på Launch Skill Builder. du vil se siden som vist på billede i8.

Først skaber vi nye hensigter. Klik på Tilføj (på venstre side), og angiv et navn, du vil have, jeg brugte "smartswitch"

  • Angiv slottypenavn "målingstype" og slotværdier "temperatur" og "fugtighed" som vist på billede i9.
  • Derefter tilføjes slot type navn "forespørgsel" og slot værdier er "hvad" og "er" som vist i billede i10.
  • Derefter tilføjes slot type "switchstate" og slot værdier er "on" og "off" som vist på billede i11.
  • Tilføj en anden slottype "tempscale", og slotværdierne er "fahrenheit" og "celcuis" som vist på billede i12.
  • Efter at tilføje ny slot type her bruger vi eksisterende slot type, for at vi skal klikke på brug eksisterende slot. I eksisterende slot søg efter amazon.number og vælg dette og tilføj det. Når du har tilføjet det, vil du se det i slottyper som vist på billede i13.

Så vi er færdige med slottyper, den samlede slottype, vi bruger, er 5. Gå nu til næste trin. Klik på hensigt, som vi skabte, i mit tilfælde er det smartswitch. På højre side vil du se intention slot som vist på billede i14.

  • Opret en ny slot, giv den navnet "Switch_State" og kort den til "switchstate" ved at bruge rullemenuen som vist på billede i15.
  • Opret ny slot, giv den navnet "Sensor_Values" og kort den til "målingstype" som vist på billede i16.
  • Opret ny slot, giv den navnet "forespørgsel" og tilknyt den til "forespørgsel" som vist på billede i17.
  • Derefter skal du oprette en ny slot "tmp_scale" og kortere den til "tempscale" som vist på billede i18.
  • Opret ny slot "Numbers" og kort den til "Amazon. Numbers" som vist på billede i19.

Nu er vi færdige med Intent slots. Vi bruger 5 intention slots. Herefter flytter vi til Sample Utterances som vist på billede i20.

Tilføj denne prøveudtalelse.

indstil switch trigger til {Numbers} procent {tmp_scale}

{query} er switch -tilstanden

{Switch_State} switch trigger

indstil switch trigger til {Numbers} grad {tmp_scale}

drej kontakten {Switch_State}

{query} switch {Switch_State}

{forespørgsel} er den aktuelle {Sensor_Values}

Efter denne gemme model og bygge det. Vent på, at modellen skal bygges, klik derefter på konfigurationen. Efter opbygningen vil du se meddelelsen som vist i billede i21 og i22.

3. Konfiguration

Vælg HTTPS, og tilføj et link, der blev genereret under oprettelsen af en heroku -app. I mit tilfælde er det https://iottempswitch.herokuapp.com/. Når du har tilføjet linket, skal du klikke på næste som vist på billede i23.

4. SSL -certifikat Vælg den anden mulighed, og klik på næste som vist på billede i24.

vi har med succes skabt vores dygtighed.

Trin 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Åbn Arduino IDE. Gå derefter til Filer ==> Præference

I Extra Boards Manager skal du kopiere og indsætte URL'en og klikke på ok som vist på billede i26.

arduino.esp8266.com/versions/2.4.0/package_…

  • Åbn Board Manager ved at gå til Tools ==> Board ==> Board Manager.
  • Åbn Boards Manager, og søg efter nodemcu som vist på billede i27.
  • Efter det skal du downloade ESP8266WiFi -bibliotek. Åbn bibliotekshåndtering: Skitse ==> Inkluder bibliotek ==> Administrer biblioteker.
  • Søg efter ESP8266WiFi -bibliotek og installer det.
  • Vælg bord ==> Generisk ESP8266 -modul.
  • Inden vi uploader koden har vi brug for tre biblioteker.

Påkrævede biblioteker

Flyt denne biblioteker til bibliotekernes mappe i Arduino

Du skal ændre tre ting i kode SSID, PWD og linket til din heroku -app. Herefter uploader du koden. For ESP -modulet skal du trykke på flash -knappen, mens du uploader koden, og derefter trykke på reset -knappen én gang og derefter slippe flash -knappen. Når du har uploadet koden, skal du åbne terminalen. du vil se output.

Trin 4: Komponentbeskrivelse

Komponent Beskrivelse
Komponent Beskrivelse
Komponent Beskrivelse
Komponent Beskrivelse
Komponent Beskrivelse
Komponent Beskrivelse
Komponent Beskrivelse
Komponent Beskrivelse

1. Hvad er et relæ

Relæ er en elektromagnetisk enhed, der bruges til at isolere to kredsløb elektrisk og forbinde dem magnetisk. De er meget nyttige enheder og tillader et kredsløb at skifte et andet, mens de er helt adskilte. De bruges ofte til at tilslutte et elektronisk kredsløb (arbejder ved lav spænding) til et elektrisk kredsløb, der fungerer ved meget høj spænding. For eksempel kan et relæ lave et 5V DC batterikredsløb til at skifte et 230V vekselstrømskredsløb.

Hvordan det virker

En relæafbryder kan opdeles i to dele: input og output. Indgangssektionen har en spole, der genererer magnetfelt, når der tilføres en lille spænding fra et elektronisk kredsløb. Denne spænding kaldes driftsspændingen. Almindeligt anvendte relæer fås i forskellige konfigurationer af driftsspændinger som 6V, 9V, 12V, 24V osv. Udgangssektionen består af kontaktorer, der tilsluttes eller afbrydes mekanisk. I et grundrelæ er der tre kontaktorer: normalt åben (NO), normalt lukket (NC) og fælles (COM). Uden indgangstilstand er COM tilsluttet NC. Når driftsspændingen tilsluttes, får relæspolen strøm, og COM skifter kontakt til NO. Forskellige relækonfigurationer er tilgængelige som SPST, SPDT, DPDT osv., Som har forskellige antal skiftekontakter. Ved at bruge en korrekt kombination af kontaktorer kan det elektriske kredsløb tændes og slukkes. Få indre detaljer om strukturen af en relæafbryder.

COM -terminalen er den fælles terminal. Hvis COIL -terminalerne får strøm med den nominelle spænding, har COM- og NO -terminalerne kontinuitet. Hvis COIL -terminalerne ikke får strøm, har COM- og NO -terminalerne ingen kontinuitet.

NC -terminalen er den normalt lukkede terminal. Det er terminalen, der kan tændes, selvom relæet ikke modtager nogen eller tilstrækkelig spænding til at fungere.

NO -terminalen er den normalt åbne terminal. Det er terminalen, hvor du placerer den udgang, du ønsker, når relæet modtager sin nominelle spænding. Hvis der ikke er spænding til COIL -terminalerne eller utilstrækkelig spænding, er udgangen åben og modtager ingen spænding. Når COIL -terminalerne modtager den nominelle spænding eller lidt under, modtager NO -terminalen tilstrækkelig spænding og kan tænde enheden på udgangen.

2. DHT temperatursensor

DHT11 er en fugtigheds- og temperatursensor, som genererer kalibreret digital output. DHT11 kan være grænseflade med enhver mikrocontroller som Arduino, Raspberry Pi osv. Og få øjeblikkelige resultater. DHT11 er en billig luftfugtigheds- og temperatursensor, der giver høj pålidelighed og stabilitet på lang sigt.

3. ESP8266 Komplet beskrivelse

ESP8266 WiFi -modulet er en selvstændig SOC med integreret TCP/IP -protokolstak, der kan give enhver mikrokontroller adgang til dit WiFi -netværk. ESP8266 er i stand til enten at være vært for en applikations netværksfunktioner fra en anden applikation Hvert ESP8266-modul leveres forudprogrammeret med en AT-kommando.

ESP8266 understøtter APSD til VoIP-applikationer og Bluetooth-sameksistensgrænseflader, den indeholder en selvkalibreret RF, der gør det muligt at arbejde under alle driftsbetingelser og kræver ingen eksterne RF-dele.

Funktioner

  • 802,11 b/g/n
  • Wi-Fi Direct (P2P),
  • soft-APIntegreret TCP/IP-protokolstak
  • Integreret TR -switch, balun, LNA, effektforstærker og matchende netværk
  • Integrerede PLL'er, regulatorer, DCXO og strømstyringsenheder
  • +19,5 dBm udgangseffekt i 802.11b -tilstand
  • Sluk lækstrøm på <10uA
  • 1 MB flashhukommelse
  • Integreret 32-bit CPU med lav effekt kan bruges som applikationsprocessor
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU & A-MSDU aggregation & 0.4ms guard interval
  • Vågn op og send pakker på <2 ms
  • Standby -strømforbrug på <1,0mW (DTIM3)

Pin Beskrivelse som vist på billede i34.

For at forbinde ESP -modul med Arduino UNO har vi brug for Lm1117 3.3 spændingsregulator eller en hvilken som helst regulator, fordi Arduino ikke er i stand til at levere 3,3 v til ESP8266.

Bemærk:- Mens du uploader koden, skal du trykke på flash-knappen og derefter trykke på reset-knappen én gang og derefter slippe flash-knappen som vist på billede i29.

Til tilslutning af DHT11 -sensor og relæ bruger vi to GPIO -ben i ESP8266 -modulet. Efter upload af koden kan du afbryde RX, TX, GPIO0 benene. Jeg har brugt GPIO0 til DHT11 sensor og GPIO2 til relæer. DHT11 -sensor fungerer fint med ESP8266, men til relæer har vi brug for en ekstra ting, dvs. opto -isolator eller optokobler. Se billede i30, i31, i32 og i33.

Trin 5: Forbindelser

ESP8266 ===> DHT11GPIO0 ===> Output -pin

ESP8266 ===> RelæGPIO2 ===> Input

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Nulstil knap ===> RST

Flash -knap ===> GPIO0

Trin 6: Kontrol af alle tingene

Tjek alle tingene
Tjek alle tingene
Tjek alle tingene
Tjek alle tingene
Tjek alle tingene
Tjek alle tingene
Tjek alle tingene
Tjek alle tingene

Vi har med succes oprettet vores app, dygtighed og vores hardware er klar. Så er det tid til at tjekke.

Derfor er din ESP8266 tændt, fordi vores server kører på ESP8266. Her har jeg ikke tilsluttet nogen sensor til ESP8266. Jeg kontrollerer bare, om den virker eller ej, men du kan tilslutte sensor, relæ til ESP8266. Når det er forbundet til Heroku, vil du se tilsluttet. For test, gå til Amazon -færdigheder, som du har oprettet, klik derefter på testsiden. Når det er bekræftet, at det fungerer, vil jeg forbinde min sensor til ESP8266. Du kan se resultater som vist på billederne i35, i36, 37, 38, 39, 40.

Hvis du bruger den uden at tilslutte ESP8266, får du denne fejl som vist på billede i41.

Uttalelse du kan bruge

indstil switch trigger til {Numbers} procent {tmp_scale}

eks:- indstil switch trigger til 50 procent fugtighed

{query} er switch -tilstanden

tænd/sluk er omskifterstatus

{Switch_State} switch trigger

ex -on/off switch trigger

indstil switch trigger til {Numbers} grad {tmp_scale}

ex - sæt switch trigger til 76 grader fahrenheit

ex - indstil switch trigger til 24 grader celsius

drej kontakten {Switch_State}

ex - tænd/sluk kontakten

Se billede i41 til i46 for resultater.

Mens du taler med AlexaAlexa, skal du bede arduino om at tænde/slukke for kontakten

Alexa, spørg arduino om at indstille switch trigger til 24 grader celsius.

Alexa, spørg arduino om at indstille switch trigger til 50 procent fugtighed

Alexa, spørg arduino om at tænde/slukke for kontakten

Trin 7: VUI (Voice User Interface) diagram

VUI (Voice User Interface) diagram
VUI (Voice User Interface) diagram

Trin 8: Demo

Image
Image

1. Sæt trigger til temperatur og fugtighed.

2. Indstil udløseren til 20 grader celsius.

3. Indstil udløseren til 80 procent fugtighed.

Trin 9: Skematisk

Anbefalede: