Tartalomjegyzék:

Hangvezérelt kapcsoló Alexa és Arduino használatával: 10 lépés (képekkel)
Hangvezérelt kapcsoló Alexa és Arduino használatával: 10 lépés (képekkel)

Videó: Hangvezérelt kapcsoló Alexa és Arduino használatával: 10 lépés (képekkel)

Videó: Hangvezérelt kapcsoló Alexa és Arduino használatával: 10 lépés (képekkel)
Videó: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, November
Anonim
Hangvezérelt kapcsoló az Alexa és az Arduino használatával
Hangvezérelt kapcsoló az Alexa és az Arduino használatával

Ennek a projektnek a fő célja, hogy hőmérséklet -érzékelő segítségével vezérelje a kapcsolót (relét) a készülék be- vagy kikapcsolásához.

Az anyagok listája

  1. 12V relé modul ==> $ 4.2
  2. Arduino uno ==> 8 dollár
  3. DHT11 hőmérséklet -érzékelő ==> $ 3
  4. ESP8266 modul ==> 4,74 USD
  5. N26 optocsatoló ==> 0,60 USD
  6. LM1117 feszültségszabályozó ==> $ 0.60
  7. Kenyeretábla ==> $ 2.2
  8. Jumper vezetékek ==> $ 2,5
  9. Nyomógomb ==> $ 2.5

A projekt teljes költsége körülbelül 30 dollár. Ez a projekt három részre oszlik. Először is heroku -t használunk egy alkalmazás létrehozásához. Másodszor, építünk egy Amazon Alexa készséget a munkánk végrehajtásához (legfontosabb rész). Harmadszor, beállítjuk a hardvert, és az Arduino IDE segítségével programozzuk.

1. lépés: Heroku összekapcsolása a GitHub -tal

Heroku összekapcsolása a GitHub -tal
Heroku összekapcsolása a GitHub -tal
Heroku összekapcsolása a GitHub -tal
Heroku összekapcsolása a GitHub -tal
Heroku összekapcsolása a GitHub -tal
Heroku összekapcsolása a GitHub -tal

A Heroku egy felhőplatform, mint szolgáltatás (PaaS), amely több programozási nyelvet támogat, és amelyet webes alkalmazások telepítési modelljeként használnak. Először lépjen a heroku webhelyre, hozzon létre egy új fiókot, vagy jelentkezzen be. A link az alábbiakban található

Heroku weboldal

Kezdjük egy új alkalmazás létrehozásával. Az alkalmazás telepítésekor megadtam az alkalmazásom nevét "iottempswitch", a link létrejön.

Miután elkészítette az alkalmazást, menjen a GitHub. GitHub/

Jelentkezzen be, vagy regisztráljon, ha nincs fiókja. Miután bejelentkezett, hozzon létre új lerakatot. Adjon meg egy nevet, amelyet választani szeretne, majd nyomja meg a Létrehozás létrehozása gombot. A következő oldalon kattintson az OLVASÁS gombra, ezen az oldalon adja meg a leírást, amelyet meg szeretne osztani másokkal. Ezután kattintson az Új fájl végrehajtása gombra. Ezután kattintson a feltöltés gombra.

Két lehetőség van: vagy húzza át a mappát, vagy válassza ki a fájlt. Töltse le a szükséges fájlokat alulról. A fájlok kiválasztása után nyomja meg a változtatások végrehajtását. Nyissa meg a Herokuban létrehozott alkalmazást, majd lépjen a telepítés szakaszra. Ezután kattintson a GitHub elemre. Adja meg a GitHub oldalán létrehozott tárhelynevet. Az én esetemben ez az intelligens relé. Másolja ki és illessze be ide. Ha megjelenik a link, kattintson a Csatlakozás gombra. Ezután kattintson a telepítési ág (kézi) gombra. A telepítés után láthatja a linket az építési naplóban, vagy a beállításokban. Erre a linkre később szükségünk lesz, amikor az Amazon készségét fejlesztjük.

2. lépés: Amazon

amazon
amazon
amazon
amazon
amazon
amazon

Az Alexa készség legújabb képei

Az Amazon fejlesztői webhelyén az Amazon készségeit használva szabályozhatjuk a kapcsoló aktiválását a hőmérséklet és a páratartalom beállításával.

Lépjen az Amazon fejlesztői webhelyére. A link az alábbiakban található.

Amazon fejlesztői webhely

  • Lépjen a Fejlesztői konzolra a jobb felső sarokban az i4 ábra szerint
  • Nyissa meg az Alexát, majd válassza az Alexa Skill Kit lehetőséget, majd hozzon létre új készséget az Új készség hozzáadása gombra kattintva.

Amikor új készségeket ad hozzá, megjelenik a készséginformációk oldal.

1. Képességi információk (az i7 képen látható módon)

meg kell adnunk a készség típusát, nyelvét, nevét, meghívási nevét.

Készségtípus ==> válassza az egyéni lehetőséget

  • Név ==> válasszon ki egy nevet.
  • A meghívás neve ==> amelyet az Alexával való kommunikáció során használ. Például:- Alexa, kérje meg az érzékelőt, hogy kapcsolja be a kapcsológombot, vagy Alexa, kérdezze meg a fényt itt: a hívónevek az érzékelő és a fény.
  • Nyelv ==> angol (India). Válasszon országának megfelelően

kattintson a mentés, majd a következő gombra

2. Interakciós modell

Itt a készségfejlesztőt fogjuk használni. Tehát kattintson a Skill Builder indítására. az oldalt az i8 képen látható módon fogja látni.

Először új szándékokat hozunk létre. Kattintson a Hozzáadás gombra (a bal oldalon), és adja meg a kívánt nevet "smartswitch"

  • Adja meg a rés típusának nevét „mérési_típus”, és a résértékeket „hőmérséklet” és „páratartalom”, amint azt az i9.
  • Ezután adja hozzá a rés típusának nevét "lekérdezés", és a helyértékek "mi" és "mi", ahogy az i10 képen látható.
  • Ezt követően adja hozzá a "switchstate" bővítőhely típusát, és a nyílások értéke "be" és "kikapcsolt" az i11 képen látható módon.
  • Adjon hozzá egy másik "tempscale" típusú rést, és a helyértékek "fahrenheit" és "celcuis", amint az i12.
  • Ezután adjon hozzá új bővítőhely -típust, a meglévő bővítőhely -típust használjuk, és kattintson a meglévő bővítőhely használatára. A meglévő bővítőhelyen keresse meg az amazon.number parancsot, és válassza ki ezt, és adja hozzá. Hozzáadása után fog megjelenni foglalat típusokban, ahogy az i13 képen látható.

Tehát készen vagyunk a rés típusokkal, az általunk használt összes bővítőhely típusa 5. Most lépjen a következő lépésre. Kattintson a létrehozott szándékra, az én esetemben ez az intelligens kapcsoló. A jobb oldalon az i14 képen látható szándékos nyílás látható.

  • Hozzon létre egy új bővítőhelyet, adja meg a "Switch_State" nevet, és a legördülő gombbal jelölje le a "switchstate" állapotra az i15 képen látható módon.
  • Hozzon létre egy új bővítőhelyet, adja meg a "Sensor_Values" nevet, és rendelje hozzá a "mérés_típus" -hoz, amint azt az i16 kép mutatja.
  • Hozzon létre egy új helyet, adja meg a "query" nevet, és rendelje hozzá a "query" -hez az i17 képen látható módon.
  • Ezt követően hozzon létre egy új "tmp_scale" bővítőhelyet, és rendelje hozzá a "temppscale" -hoz az i18 képen látható módon.
  • Hozzon létre egy új "Numbers" bővítőhelyet, és rendelje hozzá az "Amazon. Numbers" -hez az i19 képen látható módon.

Most végeztünk az Intent slotokkal. 5 szándékolt rést használunk. Ezt követően a minta kijelentésekre lépünk, amint az az i20 képen látható.

Adja hozzá ezt a példamondatot.

állítsa a kapcsolóindítót {Numbers} százalékra {tmp_scale}

A {query} a kapcsoló állapota

{Switch_State} kapcsoló trigger

állítsa a kapcsolóindítót {Numbers} fokra {tmp_scale}

kapcsoló {Switch_State}

{query} switch {Switch_State}

{query} a jelenlegi {Sensor_Values}

Ezután mentse el a modellt, és készítse el. Várjon, amíg a modell felépül, majd kattintson a konfigurációra. Az elkészítés után megjelenik az i21 és i22 képen látható üzenet.

3. Konfiguráció

Válassza a HTTPS lehetőséget, és adjon hozzá egy linket, amely a heroku alkalmazás létrehozása során jött létre. Az én esetemben ez a https://iottempswitch.herokuapp.com/. A link hozzáadása után kattintson a következőre az i23 képen látható módon.

4. SSL tanúsítvány

sikeresen megteremtettük készségünket.

3. lépés: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Nyissa meg az Arduino IDE -t. Ezután lépjen a Fájl ==> Beállítások oldalra

A További táblák kezelőjében másolja ki és illessze be az URL -t, majd kattintson az OK gombra az i26 képen látható módon.

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

  • Nyissa meg a Board Managert az Eszközök ==> Board ==> Board Manager menüpontban.
  • Nyissa meg a Boards Manager alkalmazást, és keressen rá a nodemcu kifejezésre az i27 képen látható módon.
  • Ezután töltse le az ESP8266WiFi könyvtárat. Nyissa meg a könyvtárkezelőt: Sketch ==> Include library ==> Library.
  • Keresse meg és telepítse az ESP8266WiFi könyvtárat.
  • Válassza ki a táblát ==> Általános ESP8266 modul.
  • A kód feltöltése előtt három könyvtárra van szükségünk.

Kötelező könyvtárak

Helyezze át ezeket a könyvtárakat az Arduino könyvtárak mappájába

Három dolgot kell megváltoztatnia az SSID kódban, a PWD -ben és a heroku alkalmazás linkjében. Ezt követően töltse fel a kódot. Az ESP modulhoz nyomja meg a vaku gombot a kód feltöltése közben, majd nyomja meg egyszer a reset gombot, majd engedje fel a vaku gombot. A kód feltöltése után nyissa meg a terminált. látni fogja a kimenetet.

4. lépés: Az alkatrész leírása

Komponens leírása
Komponens leírása
Komponens leírása
Komponens leírása
Komponens leírása
Komponens leírása
Komponens leírása
Komponens leírása

1. Mi az a relé

A relé egy elektromágneses eszköz, amelyet két áramkör elektromos leválasztására és mágneses csatlakoztatására használnak. Nagyon hasznos eszközök, és lehetővé teszik, hogy az egyik áramkör átkapcsoljon egy másikra, miközben teljesen külön vannak. Gyakran használják egy (alacsony feszültségű) elektronikus áramkör és egy nagyon magas feszültségű elektromos áramkör összekapcsolására. Például egy relé 5 V egyenáramú akkumulátoráramkört hozhat létre a 230 V -os hálózati áramkör kapcsolásához.

Hogyan működik

A relé kapcsoló két részre osztható: bemenet és kimenet. A bemeneti szakasz tekercset tartalmaz, amely mágneses teret hoz létre, amikor egy elektronikus áramkör kis feszültségét alkalmazzák. Ezt a feszültséget üzemi feszültségnek nevezik. A leggyakrabban használt relék különböző üzemi feszültségekben kaphatók, például 6V, 9V, 12V, 24V stb. Egy alaprelében három kontaktor van: normál esetben nyitott (NO), normál esetben zárt (NC) és közös (COM). Ha nincs bemeneti állapot, a COM NC -hez van csatlakoztatva. Amikor az üzemi feszültséget alkalmazzák, a relé tekercs feszültség alá kerül, és a COM érintkezője NO -ra változik. Különböző relékonfigurációk állnak rendelkezésre, mint például az SPST, SPDT, DPDT stb., Amelyek különböző számú váltóérintkezővel rendelkeznek. A kontaktorok megfelelő kombinációjával az elektromos áramkör be- és kikapcsolható. Tudjon meg többet a relé kapcsoló szerkezetéről.

A COM terminál a közös terminál. Ha a COIL kivezetések névleges feszültséggel vannak ellátva, akkor a COM és NO terminálok folytonossággal rendelkeznek. Ha a COIL terminálok nincsenek feszültség alatt, akkor a COM és NO terminálok nem rendelkeznek folytonossággal.

Az NC terminál a normálisan zárt terminál. Ez a terminál akkor is bekapcsolható, ha a relé nem kap semmilyen feszültséget vagy nem elegendő a működéshez.

A NO terminál a Normally Open terminál. Ez az a terminál, ahová a kívánt kimenetet helyezi, amikor a relé megkapja a névleges feszültséget. Ha nincs feszültség a COIL kivezetéseken, vagy nincs elég feszültség, a kimenet nyitva van, és nem kap feszültséget. Ha a COIL sorkapcsok megkapják a névleges feszültséget vagy valamivel alatta, az NO terminál elegendő feszültséget kap, és bekapcsolhatja a készüléket a kimeneten.

2. DHT hőmérséklet -érzékelő

A DHT11 egy páratartalom- és hőmérsékletérzékelő, amely kalibrált digitális kimenetet hoz létre. A DHT11 bármely mikrovezérlővel, például Arduino -val, Raspberry Pi -vel, és azonnali eredményeket érhet el. A DHT11 egy olcsó páratartalom- és hőmérséklet -érzékelő, amely nagy megbízhatóságot és hosszú távú stabilitást biztosít.

3. ESP8266 Teljes leírás

Az ESP8266 WiFi modul egy önálló SOC beépített TCP/IP protokollköteggel, amely bármely mikrokontroller számára hozzáférést biztosít a WiFi hálózathoz. Az ESP8266 képes egy másik alkalmazás alkalmazáshálózati funkcióinak fogadására. Minden ESP8266 modul előre programozott AT paranccsal.

Az ESP8266 támogatja az APSD-t VoIP alkalmazásokhoz és a Bluetooth együttélési interfészeket, tartalmaz egy önkalibrált RF-t, amely lehetővé teszi, hogy minden működési körülmény között működjön, és nem igényel külső RF alkatrészeket.

Jellemzők

  • 802,11 b/g/n
  • Wi-Fi Direct (P2P),
  • soft-API integrált TCP/IP protokoll verem
  • Beépített TR kapcsoló, balun, LNA, erősítő és megfelelő hálózat
  • Integrált PLL -k, szabályozók, DCXO és energiagazdálkodási egységek
  • +19,5 dBm kimeneti teljesítmény 802.11b módban
  • A szivárgási áram kikapcsolása <10uA
  • 1 MB flash memória
  • Beépített, kis teljesítményű, 32 bites CPU alkalmazható processzorként
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU és A-MSDU aggregáció és 0,4 ms védőintervallum
  • Ébredjen fel és küldje el a csomagokat <2ms alatt
  • Készenléti energiafogyasztás <1,0 mW (DTIM3)

Tűleírás az i34 képen látható módon.

Az ESP modul Arduino UNO -hoz való csatlakoztatásához szükségünk van az Lm1117 3.3 feszültségszabályozóra vagy bármely szabályozóra, mert az Arduino nem képes 3.3 V feszültséget biztosítani az ESP8266 számára.

Megjegyzés:- A kód feltöltése közben nyomja meg a vaku gombot, majd nyomja meg egyszer a reset gombot, majd engedje el a vaku gombot az i29 képen látható módon.

A DHT11 érzékelő és a relé csatlakoztatásához az ESP8266 modul két GPIO érintkezőjét használjuk. A kód feltöltése után leválaszthatja az RX, TX, GPIO0 érintkezőket. GPIO0 -t használtam a DHT11 érzékelőhöz, és GPIO2 -t relékhez. A DHT11 érzékelő jól működik az ESP8266 készülékkel, de a relékhez szükségünk van egy extra dologra, azaz opto leválasztóra vagy optocsatolóra. Lásd az i30, i31, i32 és i33 képeket.

5. lépés: Csatlakozások

ESP8266 ===> DHT11GPIO0 ===> Kimeneti tüske

ESP8266 ===> RelayGPIO2 ===> Bemenet

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Reset gomb ===> RST

Vaku gomb ===> GPIO0

6. lépés: Az összes dolog ellenőrzése

Minden dolog ellenőrzése
Minden dolog ellenőrzése
Minden dolog ellenőrzése
Minden dolog ellenőrzése
Minden dolog ellenőrzése
Minden dolog ellenőrzése
Minden dolog ellenőrzése
Minden dolog ellenőrzése

Sikeresen létrehoztuk az alkalmazást, a készségeket, és a hardverünk készen áll. Tehát ideje ellenőrizni.

Ehhez az ESP8266 be van kapcsolva, mert szerverünk ESP8266 -on fut. Itt nem csatlakoztattam semmilyen érzékelőt az ESP8266 -hoz. Csak azt ellenőrzöm, hogy működik -e vagy sem, de csatlakoztathatja az érzékelőt, a relét az ESP8266 -hoz. Miután csatlakoztatta a Heroku -hoz, látni fogja a kapcsolatot. A teszteléshez menjen az Amazon készséghez, amelyet létrehozott, majd kattintson a tesztoldalra. Miután ellenőrizte működését, csatlakoztatom az érzékelőmet az ESP8266 -hoz. Az eredményeket az i35, i36, 37, 38, 39, 40 képeken láthatja.

Ha az ESP8266 csatlakoztatása nélkül használja, akkor ezt a hibát kapja, amint az az i41 képen látható.

Használható utóhatás

állítsa a kapcsolóindítót {Numbers} százalékra {tmp_scale}

például:- állítsa a kapcsolókapcsolót 50 százalékos páratartalomra

A {query} a kapcsoló állapota

ex-on/off a kapcsolási állapot

{Switch_State} kapcsoló trigger

ex -on/off kapcsoló trigger

állítsa a kapcsolóindítót {Numbers} fokra {tmp_scale}

ex - állítsa a kapcsoló triggerjét 76 fokosra

állítsa a kapcsolót 24 Celsius fokra

kapcsoló {Switch_State}

ex - kapcsolja ki/be a kapcsolót

Az eredményekért tekintse meg az i41 - i46 képeket.

Miközben AlexaAlexával beszél, kérje meg az arduino -t, hogy kapcsolja be/ki a kapcsolókapcsolót

Alexa, kérd meg az arduino -t, hogy állítsa a kapcsolót 24 Celsius fokra.

Alexa, kérd meg az arduino -t, hogy állítsa a kapcsolót 50 százalékos páratartalomra

Alexa, kérd meg az arduino -t, hogy kapcsolja be/ki a kapcsolót

7. lépés: VUI (Voice User Interface) diagram

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

8. lépés: Demo

Image
Image

1. Állítsa be a hőmérsékletet és a páratartalmat.

2. Állítsa a ravaszt 20 Celsius fokra.

3. Állítsa a ravaszt 80 százalékos páratartalomra.

9. lépés: Vázlatos

Ajánlott: