Innholdsfortegnelse:

Stemmestyrt bryter ved hjelp av Alexa og Arduino: 10 trinn (med bilder)
Stemmestyrt bryter ved hjelp av Alexa og Arduino: 10 trinn (med bilder)

Video: Stemmestyrt bryter ved hjelp av Alexa og Arduino: 10 trinn (med bilder)

Video: Stemmestyrt bryter ved hjelp av Alexa og Arduino: 10 trinn (med bilder)
Video: "Шутка ангела" 2004 комедия/ Комедия смотреть онлайн 2024, Juli
Anonim
Stemmestyrt bryter ved hjelp av Alexa og Arduino
Stemmestyrt bryter ved hjelp av Alexa og Arduino

Hovedmålet med dette prosjektet er å bruke temperatursensor til å styre bryteren (reléet) for å slå enheten på eller av.

Liste over materialer

  1. 12V relemodul ==> $ 4,2
  2. Arduino uno ==> $ 8
  3. DHT11 temperatursensor ==> $ 3
  4. ESP8266 -modul ==> $ 4,74
  5. N26 optokobler ==> $ 0,60
  6. LM1117 spenningsregulator ==> $ 0,60
  7. Brødbrett ==> $ 2,2
  8. Stikkledninger ==> $ 2,5
  9. Trykknapp ==> $ 2,5

Total prosjektkostnad er rundt $ 30 dollar. Dette prosjektet er delt inn i tre deler. Først bruker vi heroku til å lage en app. For det andre bygger vi en Amazon Alexa -ferdighet for å implementere arbeidet vårt (Den viktigste delen). For det tredje konfigurerer vi maskinvaren vår og programmerer den ved hjelp av Arduino IDE.

Trinn 1: Koble Heroku til GitHub

Kobler Heroku til GitHub
Kobler Heroku til GitHub
Kobler Heroku til GitHub
Kobler Heroku til GitHub
Kobler Heroku til GitHub
Kobler Heroku til GitHub

Heroku er en skyplattform som en tjeneste (PaaS) som støtter flere programmeringsspråk som brukes som en distribusjonsmodell for webapplikasjoner. Gå først til heroku -nettstedet, opprett en ny konto eller logg inn der. Lenken er gitt nedenfor

Heroku nettsted

La oss begynne med å lage en ny app. Jeg har gitt appnavnet mitt "iottempswitch" når du distribuerer appen, lenken genereres.

Når appen er gjort, gå til GitHub. GitHub/

Logg inn der eller registrer deg hvis du ikke har en konto. Når du er logget inn, opprett et nytt depot. Gi hvilket navn du vil velge, og trykk deretter på opprett depot. På neste side klikker du på README, på denne siden gir du en beskrivelse du vil dele med andre. Etter det klikker du på commit new file. Klikk deretter på opplastingsknappen.

Det er to alternativer enten du drar og slipper mappen eller velger fil. Last ned nødvendige filer nedenfor. Etter at du har valgt filer, trykker du på endringer. Åpne appen som du opprettet på Heroku, og gå deretter til distribusjonsdelen. Etter det Klikk på GitHub. Give depotnavn som du opprettet på GitHub -siden. I mitt tilfelle er det Smart-Relay. Kopier det og lim det inn her. Når lenken din er vist klikker du på koble til. Klikk deretter på distribuer grenen (manuell). Etter distribusjon kan du se koblingen i byggeloggen, eller du kan se lenken i innstillingene. Vi trenger denne lenken senere når vi lager Amazon -ferdigheter.

Trinn 2: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Siste bilder av Alexa -ferdigheter

På Amazon Developer -nettstedet bruker vi Amazon -ferdigheter til å kontrollere bryterutløseren ved å angi temperatur og fuktighet.

Gå til Amazon Developer Site. Lenken er gitt nedenfor.

Amazon utvikler nettsted

  • Gå til utviklerkonsollen øverst til høyre som vist i figur i4
  • Gå til Alexa, velg deretter Alexa Skill Kit og lag deretter ny ferdighet ved å klikke på Legg til ny ferdighet.

Når du legger til ny ferdighet, vil du se ferdighetsinformasjonssiden.

1. Ferdighetsinformasjon (som vist på bilde i7)

vi må oppgi ferdighetstype, språk, navn, påkallingsnavn.

Ferdighetstype ==> velg tilpasset

  • Navn ==> velg et hvilket som helst navn.
  • Tilkallingsnavn ==> som du bruker mens du kommuniserer med Alexa. For eksempel;- Alexa, be sensoren om å slå bryterutløser på eller Alexa, spør lyset på her påkallingsnavn er sensor og lys.
  • Språk ==> Engelsk (India). Velg i henhold til ditt land

klikk lagre og deretter neste

2. Samhandlingsmodell

Her vil vi bruke ferdighetsbygger. Så klikk på Launch Skill Builder. du vil se siden som vist på bilde i8.

Først skaper vi nye hensikter. Klikk på Legg til (på venstre side) og gi et navn du vil at jeg brukte "smartswitch"

  • Gi spaltypenavn "målingstype" og sporverdier "temperatur" og "fuktighet" som vist på bilde i9.
  • Deretter legger du til navnet på spørringstypen "spørring" og sporverdiene er "hva" og "er" som vist på bilde i10.
  • Deretter legger du til type "switchstate" og sporverdier er "på" og "av" som vist på bilde i11.
  • Legg til en annen spaltype "tempscale", og sporverdiene er "fahrenheit" og "celcuis" som vist på bilde i12.
  • Etter at du har lagt til en ny spiltype her, bruker vi eksisterende spor for at vi må klikke på bruk eksisterende spor. I eksisterende spor søk etter amazon.number og velg dette og legg det til. Etter at du har lagt den til, vil du se den i sportyper som vist på bilde i13.

Så vi er ferdige med spilleautomater. Total spiltype vi bruker er 5. Gå nå til neste trinn. Klikk på intensjonen som vi opprettet, i mitt tilfelle er det smartswitch. På høyre side vil du se intensjonssporet som vist på bilde i14.

  • Lag et nytt spor, gi det navnet "Switch_State" og kart det til "switchstate" ved å bruke rullegardinmenyen som vist på bilde i15.
  • Lag et nytt spor, gi det navnet "Sensor_Values" og kartlegg det til "målingstype" som vist på bilde i16.
  • Lag et nytt spor, gi det navnet "spørring" og kartlegg det til "spørring" som vist på bilde i17.
  • Deretter lager du det nye sporet "tmp_scale" og kartlegg det til "tempscale" som vist på bilde i18.
  • Lag et nytt spor "Numbers" og kartlegg det til "Amazon. Numbers" som vist på bilde i19.

Nå er vi ferdige med Intent -spor. Vi bruker 5 intensjonsspor. Etter dette går vi til Sample Utterances som vist på bilde i20.

Legg til dette eksempeluttalelsene.

sett bryterutløser til {Numbers} prosent {tmp_scale}

{query} er byttestatus

Bryterutløser for {Switch_State}

sett bryterutløser til {Numbers} grad {tmp_scale}

vri bryteren {Switch_State}

{query} bytte {Switch_State}

{query} er gjeldende {Sensor_Values}

Etter denne lagre modellen og bygge den. Vent på at modellen skal bygges etter at du klikker på konfigurasjonen. Etter bygningen vil du se meldingen som vist på bildet i21 og i22.

3. Konfigurasjon

Velg HTTPS og legg til lenke som ble generert mens du opprettet en heroku -app. I mitt tilfelle er det https://iottempswitch.herokuapp.com/. Etter å ha lagt til lenken, klikk på neste som vist på bilde i23.

4. SSL -sertifikat Velg det andre alternativet, og klikk på neste som vist på bilde i24.

vi har lykkes med å skape vår ferdighet.

Trinn 3: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Åpne Arduino IDE. Gå deretter til File ==> Preferanse

I Extra Boards Manager, kopier og lim inn URL -en og klikk ok som vist på bilde i26.

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

  • Åpne Board Manager ved å gå til Tools ==> Board ==> Board Manager.
  • Åpne Boards Manager og søk etter nodemcu som vist på bilde i27.
  • Etter det laster du ned ESP8266WiFi -biblioteket. Åpent bibliotekbehandling: Skisse ==> Inkluder bibliotek ==> Administrer biblioteker.
  • Søk etter ESP8266WiFi -bibliotek og installer det.
  • Velg brett ==> Generisk ESP8266 -modul.
  • Før vi laster opp koden trenger vi tre biblioteker.

Nødvendige biblioteker

Flytt disse bibliotekene til biblioteker -mappen i Arduino

Du må endre tre ting i koden SSID, PWD og heroku -app -koblingen. Last deretter opp koden. For ESP -modulen må du trykke på blitzknappen mens du laster opp koden, og deretter trykke på tilbakestillingsknappen en gang og deretter slippe blitsknappen. Etter å ha lastet opp koden, åpner du terminalen. du vil se utdata.

Trinn 4: Komponentbeskrivelse

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

1. Hva er et stafett

Relé er en elektromagnetisk enhet som brukes til å isolere to kretser elektrisk og koble dem magnetisk. De er veldig nyttige enheter og lar en krets bytte en annen mens de er helt atskilt. De brukes ofte til å koble en elektronisk krets (arbeider ved lav spenning) til en elektrisk krets som fungerer ved veldig høy spenning. For eksempel kan et relé lage en 5V DC batterikrets for å bytte en 230V AC nettkrets.

Hvordan det fungerer

En relébryter kan deles i to deler: inngang og utgang. Inngangsseksjonen har en spole som genererer magnetfelt når en liten spenning fra en elektronisk krets tilføres den. Denne spenningen kalles driftsspenningen. Vanlige reléer er tilgjengelige i forskjellige konfigurasjoner av driftsspenninger som 6V, 9V, 12V, 24V etc. Utgangsseksjonen består av kontaktorer som kobles til eller fra mekanisk. I et grunnleggende relé er det tre kontaktorer: normalt åpen (NO), normalt lukket (NC) og felles (COM). Uten inngangstilstand er COM koblet til NC. Når driftsspenningen tilføres reléspolen får strøm og COM endrer kontakten til NO. Ulike relékonfigurasjoner er tilgjengelige som SPST, SPDT, DPDT etc, som har forskjellig antall byttekontakter. Ved å bruke riktig kombinasjon av kontaktorer kan den elektriske kretsen slås av og på. Få indre detaljer om strukturen til en relébryter.

COM -terminalen er den vanlige terminalen. Hvis COIL -terminalene får strøm med den nominelle spenningen, har COM- og NO -terminalene kontinuitet. Hvis COIL -terminalene ikke får strøm, har COM- og NO -terminalene ingen kontinuitet.

NC -terminalen er den normalt lukkede terminalen. Det er terminalen som kan slås på selv om reléet ikke mottar noen eller tilstrekkelig spenning til å fungere.

NO -terminalen er den normalt åpne terminalen. Det er terminalen hvor du plasserer utgangen du vil ha når reléet mottar sin nominelle spenning. Hvis det ikke er spenning til COIL -terminalene eller utilstrekkelig spenning, er utgangen åpen og mottar ingen spenning. Når COIL -terminalene mottar den nominelle spenningen eller litt under, mottar NO -terminalen tilstrekkelig spenning og kan slå på enheten på utgangen.

2. DHT temperatursensor

DHT11 er en fuktighets- og temperatursensor, som genererer kalibrert digital utgang. DHT11 kan grensesnittet med hvilken som helst mikrokontroller som Arduino, Raspberry Pi, etc. og få øyeblikkelige resultater. DHT11 er en lavpris fuktighets- og temperatursensor som gir høy pålitelighet og langsiktig stabilitet.

3. ESP8266 Komplett beskrivelse

ESP8266 WiFi -modulen er en frittstående SOC med integrert TCP/IP -protokollstabel som kan gi enhver mikrokontroller tilgang til ditt WiFi -nettverk. ESP8266 er i stand til enten å være vert for en applikasjons nettverksfunksjoner fra en annen applikasjon Hver ESP8266-modul leveres forhåndsprogrammert med en AT-kommando.

ESP8266 støtter APSD for VoIP-applikasjoner og Bluetooth-sameksistensgrensesnitt, den inneholder en selvkalibrert RF som lar den fungere under alle driftsforhold, og krever ingen eksterne RF-deler.

Funksjoner

  • 802,11 b/g/n
  • Wi-Fi Direct (P2P),
  • soft-APIntegrated TCP/IP protocol stack
  • Integrert TR -bryter, balun, LNA, effektforsterker og matchende nettverk
  • Integrerte PLLer, regulatorer, DCXO og strømstyringsenheter
  • +19,5 dBm utgangseffekt i 802.11b -modus
  • Slå av lekkasjestrøm på <10uA
  • 1 MB flashminne
  • Integrert 32-biters CPU med lav effekt kan brukes som applikasjonsprosessor
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU & A-MSDU aggregering & 0,4 ms vaktintervall
  • Våkn opp og send pakker på <2 ms
  • Strømforbruk i standby på <1,0mW (DTIM3)

Pin Beskrivelse som vist på bilde i34.

For å koble ESP -modulen til Arduino UNO trenger vi Lm1117 3.3 spenningsregulator eller hvilken som helst regulator fordi Arduino ikke er i stand til å levere 3,3 v til ESP8266.

Merk:- Mens du laster opp koden, trykker du på flash-knappen og deretter trykker du på reset-knappen én gang og slipper deretter flash-knappen som vist på bilde i29.

For tilkobling av DHT11 -sensor og relé bruker vi to GPIO -pinner i ESP8266 -modulen. Etter å ha lastet opp koden kan du koble fra RX, TX, GPIO0 -pinnene. Jeg har brukt GPIO0 for DHT11 -sensor og GPIO2 for reléer. DHT11 -sensor fungerer fint med ESP8266, men for reléer trenger vi en ekstra ting, dvs. opto -isolator eller optokobler. Se bilde i30, i31, i32 og i33.

Trinn 5: Tilkoblinger

ESP8266 ===> DHT11GPIO0 ===> Utgangsnål

ESP8266 ===> ReléGPIO2 ===> Inngang

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Tilbakestill -knapp ===> RST

Flash -knapp ===> GPIO0

Trinn 6: Kontrollere alle tingene

Sjekker alt
Sjekker alt
Sjekker alt
Sjekker alt
Sjekker alt
Sjekker alt
Sjekker alt
Sjekker alt

Vi har lykkes med å lage vår app, ferdighet og maskinvaren vår er klar. Så det er på tide å sjekke.

Derfor er ESP8266 slått på fordi serveren vår kjører på ESP8266. Her har jeg ikke koblet noen sensor til ESP8266. Jeg sjekker bare om den fungerer eller ikke, men du kan koble sensor, relé til ESP8266. Når den er koblet til Heroku, vil du se tilkoblet. For testing, gå til Amazon -ferdigheten du opprettet, klikk deretter på testsiden. Når det er bekreftet at det fungerer, kobler jeg sensoren til ESP8266. Du kan se resultatene som vist i bildene i35, i36, 37, 38, 39, 40.

Hvis du bruker den uten å koble til ESP8266, får du denne feilen som vist på bilde i41.

Uttalelse du kan bruke

sett bryterutløser til {Numbers} prosent {tmp_scale}

eks:- sett bryterutløseren til 50 prosent fuktighet

{query} er byttestatus

av/på er bryterstatus

Bryterutløser for {Switch_State}

ex -on/off switch trigger

sett bryterutløser til {Numbers} grad {tmp_scale}

eks - sett bryterutløser til 76 grader fahrenheit

eks - sett bryterutløser til 24 grader celsius

vri bryteren {Switch_State}

eks - slå bryteren på/av

Se bilde i41 til i46 for resultater.

Mens du snakker med AlexaAlexa, spør arduino om å slå bryteren på/av

Alexa, be arduino om å sette bryterutløser til 24 grader celsius.

Alexa, be arduino om å sette bryterutløser til 50 prosent fuktighet

Alexa, be arduino om å slå bryteren på/av

Trinn 7: VUI (Voice User Interface) -diagram

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

Trinn 8: Demo

Image
Image

1. Sett utløser for temperatur og fuktighet.

2. Sett utløseren til 20 grader celsius.

3. Sett utløseren til 80 prosent fuktighet.

Trinn 9: Skjematisk

Anbefalt: