Tartalomjegyzék:

Google asszisztens alapú LED -vezérlés a Raspberry Pi használatával: 3 lépés
Google asszisztens alapú LED -vezérlés a Raspberry Pi használatával: 3 lépés

Videó: Google asszisztens alapú LED -vezérlés a Raspberry Pi használatával: 3 lépés

Videó: Google asszisztens alapú LED -vezérlés a Raspberry Pi használatával: 3 lépés
Videó: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Július
Anonim
Google asszisztens alapú LED vezérlés a Raspberry Pi segítségével
Google asszisztens alapú LED vezérlés a Raspberry Pi segítségével
Google asszisztens alapú LED vezérlés a Raspberry Pi segítségével
Google asszisztens alapú LED vezérlés a Raspberry Pi segítségével
Google asszisztens alapú LED -vezérlés a Raspberry Pi segítségével
Google asszisztens alapú LED -vezérlés a Raspberry Pi segítségével
Google asszisztens alapú LED vezérlés a Raspberry Pi segítségével
Google asszisztens alapú LED vezérlés a Raspberry Pi segítségével

Hé!

Ebben a projektben a Google asszisztensen alapuló LED -vezérlést fogjuk megvalósítani Raspberry Pi 4 használatával, HTTP segítségével Pythonban. A LED -et egy izzóra cserélheti (nyilvánvalóan nem szó szerint, szükség van egy relé modulra) vagy bármely más háztartási készülékre, hogy ez a projekt tovább valósulhasson otthoni automatizálási célokra.

Kellékek

Amire szüksége lesz ehhez a projekthez:

1. Málna Pi

2. LED

3. Jumper vezetékek-2 (férfi-hüvely)

4. Kenyeretábla

5. IFTTT alkalmazás (https://play.google.com/store/apps/details?id=com.ifttt.ifttt&hl=hu)

6. Thingspeak fiók (https://thingspeak.com/)

Néhány előfeltétel:

1. Hálózati alapismeretek-HTTP

2. Python a webes adatok eléréséhez

1. lépés: Létrehoz egy Thingspeak csatornát

Létrehoz egy Thingspeak csatornát
Létrehoz egy Thingspeak csatornát
Létrehoz egy Thingspeak csatornát
Létrehoz egy Thingspeak csatornát
Létrehoz egy Thingspeak csatornát
Létrehoz egy Thingspeak csatornát
Létrehoz egy Thingspeak csatornát
Létrehoz egy Thingspeak csatornát

Ha még nem ismeri a Thingspeak -et, és még soha nem használta, kövesse az alábbi lépéseket:

Lépjen a https://thingspeak.com/ oldalra

A Thingspeak használatának megkezdése előtt regisztrálnia kell

A regisztráció után lépjen a Csatornák részre

A Csatornák alatt válassza az Új csatorna lehetőséget (lásd a képet a hivatkozáshoz)

Az Új csatorna különböző információs mezőket fog látni. Csak ki kell töltenie a Név mezőt. A csatornádat úgy nevezheted el, ahogy akarod. Csatoltam egy képet, ahol a csatornámat Raspberry Pi 4 -nek neveztem el. Hagyja a többi dobozt úgy, ahogy van.

Gratulálunk! Sikeresen létrehozott egy csatornát az IoT -projekthez. (lásd a mellékelt képet, ahol a Raspberry Pi 4 nevű csatornámat láthatod sikeresen létrehozva)

2. lépés: Az IFTTT alkalmazás használata

Az IFTTT alkalmazás használata
Az IFTTT alkalmazás használata
Az IFTTT alkalmazás használata
Az IFTTT alkalmazás használata
Az IFTTT alkalmazás használata
Az IFTTT alkalmazás használata
Az IFTTT alkalmazás használata
Az IFTTT alkalmazás használata

Ezt az alkalmazást arra kell használnunk, hogy GET kérést indítsunk az adatok közzétételére a létrehozott Thingspeak csatornán a Google Segéd segítségével. Tekintse ezt az alkalmazást a Google Segéd és a Thingspeak csatornája közötti interfésznek.

Ezután létrehozunk GET kéréseket az IFTTT alkalmazásban.

Töltse le az IFTTT alkalmazást a https://play.google.com/store/apps/details?id=com… webhelyről.

Hozd létre fiókodat

Lépjen a Készítsen saját kisalkalmazásokat a semmiből című cikkhez

Érintse meg a Ha ez opciót

Válassza ki a trigger szolgáltatást Google Segédként

Ebben válassza a Say a simple kifejezés lehetőséget

Ezen opció alatt néhány információs mező jelenik meg. Ehhez nézze meg a képeket, és ennek megfelelően töltse ki a részleteket! (két kép van erre a célra: 1. A LED bekapcsolása 2. A LED kikapcsolása)

Befejeztük a Ha ez a részt, amely a Google Segéd. Most kiválasztjuk a Then That opciót, amely a Webhooks.

Ez alatt válassza a Webes kérés létrehozása lehetőséget

Nézze meg a képen azokat az információkat, amelyeket ki kell tölteni a mezőkbe. Hivatkozzon erre az URL -re https://api.thingspeak.com/update?api_key= INSERT YOUR WRITE API KEY & field1 = 1

A fenti URL -ben észreveheti, hogy már említettem a WRITE API KEY INSERT beszúrását. Ez az API -kulcs, amely a Thingspeak -en létrehozott csatorna azonossága (lásd a képet). Az Write API kulcs segít abban, hogy egy adott adatot írjon a csatornájához, és hasonlóan az API API kulcsa segít a csatornától származó adatok beszerzésében.

Az Write API kulcsán kívül a dobozok többi információja változatlan marad.

Tehát itt létrehozott egy aktiválási szabályt, amelyben amikor azt mondja Google Segédjének: „Kapcsolja be a LED -et”, az 1 -es számot küld a Thingspeak csatornájára.

Most, hasonló módon, létre kell hoznia egy új kisalkalmazást az IFTTT alkalmazásban a LED kikapcsolásához. Csatoltam képeket, ha zavarban vagy. Ellenkező esetben a LED kikapcsolásának eljárása megegyezik a fentiekkel, néhány apró változtatástól eltekintve.

3. lépés: Végül kezdjen el kódolni

Végül elkezdjük kódolni
Végül elkezdjük kódolni

Elmagyarázom a Python kód fő célját. Az adatokat a Thingspeak csatornáról kell lekérnünk, amely "1" vagy "0" lesz az alapján, amit Google Segédjének mond. Ennek alapján ki- vagy be kell kapcsolnunk a LED -et. Ha a feltöltött érték a Thingspeak csatornán "1", akkor bekapcsoljuk a LED -et, és ha "0", akkor kikapcsoljuk.

A kódban két dologra lesz szüksége: 1. Read API kulcsa 2. Csatornaazonosítója (ugyanezt lásd a képeken)

Íme a kód (feltételezve, hogy ismeri a HTTP és a Python előfeltételeit):

import urllib

import kérések

import json

importálási idő

importálja az RPi. GPIO -t GPIO -ként

GPIO.setmode (GPIO. BOARD)

GPIO.setup (7, GPIO. OUT)

próbáld ki:

míg (1):

URL = 'https://api.thingspeak.com/channels/ INSER YOUR CHANNEL ID/fields/1.json? Api_key =' KEY = 'INSERT YOUR READ API KEY'

HEADER = '& results = 2'

NEW_URL = URL+KULCS+FEJ

#print (NEW_URL)

get_data = request.get (NEW_URL).json ()

#print (get_data)

feild_1 = get_data ['feeds']

#print ("Mező:", feild_1)

t =

x -hez a feild_1 -ban:

t.append (x ['mező1'])

nyomtatás (t [1])

ha int (t [1]) == 1:

GPIO kimenet (7, 1)

elif int (t [1]) == 0:

GPIO kimenet (7, 0)

A billentyűzet megszakítása kivételével:

GPIO.cleanup ()

Ajánlott: