- Szükséges anyagok:
- Kördiagramm:
- Raspberry Python program:
- A LED-ek vezérlése a Raspberry Pi és a Telegram bot segítségével:
A Telegram egy optimális alkalmazás, amelyet a Raspberry Pi-vel kombinálhatunk minden mobil vezérlési célunkhoz. Nagyon jó fejlesztői támogatással rendelkezik, és hamarosan rengeteg funkciót terveznek kiadni a Telegram Bots teljesítményének javítása érdekében. Korábbi bemutatónkban megtanultuk, hogyan állíthatunk be távirati botot a málna pi-hez, és azt is megtanultuk, hogy csevegjünk vele, és képeket, dokumentumokat és hangfájlokat osszunk meg.
Most folytatjuk a következő lépéssel, megtanulva, hogyan lehet a Telegram segítségével irányítani a Málna Pins GPIO-csapjait, hogy bizonyos hardveres támogatást nyújtsunk botunkhoz. Ebben az oktatóanyagban négy LED-et csatlakoztatunk a Raspberry Pi GPIO csapokhoz, és a Telegram természetes nyelvével (csevegéshez hasonlóan) kapcsoljuk őket. Érdekesen hangzik, igaz? Kezdjük.
Szükséges anyagok:
- Négy LED (bármilyen színű)
- Raspberry Pi (internetkapcsolattal)
- Kenyérlemez
- Csatlakozó vezetékek
Előfeltételek:
Az oktatóanyag folytatása előtt ellenőrizze, hogy a Raspberry Pi csatlakozik-e az internethez, és futtathat-e python programokat a Pi-n. Olvassa el az előző oktatóanyagot is, hogy megtudja, hogyan állíthatja be a Telegram botot a Raspberry Pi Pi alkalmazásával, mivel feltételezem, hogy Ön ismeri ezeket a dolgokat a projekt folytatásához.
Ha még nem ismeri a Raspberry Pi alkalmazást, kövesse a Raspberry Pi bemutatkozó cikkünket és más Raspberry Pi oktatóanyagokat.
Kördiagramm:
A LED-ek vezérlésének áramköri rajza a Raspberry Pi és a Telegram Android App segítségével nem más, mint négy LED és néhány összekötő vezeték. Nem lesz szükségünk az áramkorlátozó ellenállásokra, mivel a Raspberry Pi GPIO csapok 3,3 V TTL-en működnek. Kövesse az alábbi áramkört, és csatlakoztassa a LED-et.
Az alábbi táblázat segít meghatározni a pin-számot és a GPIO-számot négy led csatlakoztatásához.
Led Terminal |
Pinkód |
GPIO szám |
Zöld anód |
31. tű |
GPIO 6 |
Piros anód |
33. tű |
GPIO 13 |
Sárga anód |
35-ös tű |
GPIO 19 |
Fehér anód |
37. tű |
GPIO 26 |
Katód mind a négyből |
39-es tű |
Talaj |
Az alábbiakban látható az a kapcsolási rajz, amelyben négy LED van csatlakoztatva a fenti táblázat szerint:
A csatlakozás után a hardver beállításának ilyennek kell lennie az alábbiakban.
Raspberry Python program:
Miután a hardver készen áll, folytathatjuk a Python programot. Ebben a programban le kell olvasnunk a Telegram botról küldött adatokat (üzeneteket), és ennek megfelelően be kell kapcsolnunk a LED-et. Természetesebbé tétele érdekében az egyes mondatok ellenőrzése és a programunk belsejében lévő kódok kemény kódolása helyett ellenőrizhetjük a szavakat, és ennek megfelelően haladhatunk.
Tehát a program elsősorban két szót fog ellenőrizni, be és ki vannak kapcsolva. Miután észlelte e két szó egyikét, más kulcsszavakat keres, például fehér, sárga, zöld és piros. A megfelelő színű LED csak akkor vált, ha a szót észleli. Frissítünk egy karakterláncot az észlelt szavakhoz, hogy üzenetet küldhessünk a távirat botnak.
A teljes program az oldal alján található; közvetlenül az alábbiakban magyaráztam a programot azzal, hogy apró, értelmes junks-ekre bontottam.
Ahhoz, hogy ez a program működjön, szükségünk van a Raspberry Pi-be letöltött és importált telepotra . Korábbi bemutatónkban már letöltöttük a telepítést a Raspberry Pi-n belül, ezért most csak be kell importálnunk a programunkba a GPIO könyvtárral együtt, az alábbiak szerint.
importálja az RPi.GPIO-t GPIO-ként, importálja a telepotot a telepot-ból. importálja a MessageLoop-ot
Ezzel a programmal ellenőrizni fogjuk a LED-es lámpákat, és a LED-ek színe fehér, sárga, piros és zöld lesz. A kapcsolási rajzon látható csapokhoz vannak csatlakoztatva; hadd határozza meg a pin neveket a LED-ek alapján színük úgy, hogy használja őket a programban.
fehér = 26 sárga = 19 piros = 13 zöld = 6
A következő lépés az lenne, ha ezeket a LED-tűket kimeneti tűként definiálnánk, és alapértelmezés szerint kikapcsoltként definiálnánk az alábbi sorok használatával.
#LED Fehér GPIO.beállítás (fehér, GPIO.OUT) GPIO.output (fehér, 0) #Eredetileg #LED Sárga GPIO.setup (sárga, GPIO.OUT) GPIO.output (sárga, 0) #Eredetileg #LED Piros GPIO.beállítás (piros, GPIO.OUT) GPIO.output (piros, 0) #Eredetileg #LED zöld GPIO.setup (zöld, GPIO.OUT) GPIO.output (zöld, 0) #Off eredetileg
Ahogy előző oktatóanyagunkban megtudtuk, az összes olyan műveletet, amelyet a Raspberry botnak el kell végeznie, meghatározzuk a függvény műveleten belül. Itt meg kell tennünk a botot, hogy meghallgassa a mobilról küldött üzenetet, összehasonlítsa egyes kulcsszavakkal, és ennek megfelelően kapcsoljon a LED-re.
Minden mobilon küldött üzenethez tartozik egy csevegési azonosító és parancs. Ezt a csevegési azonosítót a program megköveteli, hogy válaszoljon a feladónak. Tehát elmentjük a csevegés azonosítóját és üzenetét az alábbiak szerint.
chat_id = msg parancs = msg
Most, bármit is küldünk a telefonról, karakterláncként menti a változó parancs . Tehát csak annyit kell tennünk, hogy ellenőrizzük a kulcsszavakat ebben a változóban. A Pythonnak van egy parancsa, amely megkönnyíti a dolgokat itt. Például, ha ellenőriznünk kell, hogy az „on” szó szerepel-e a parancsváltozóban tárolt karakterláncban, akkor egyszerűen használhatjuk az alábbi sort.
ha 'be' parancsban:
Hasonlóképpen ellenőrizzük az összes kulcsszót, ha kapunk egy „be” jelet, folytatjuk annak ellenőrzését, hogy a felhasználó melyik színt említette. Ezt ugyanazok a parancsok is elvégzik ugyanazon kulcsszavak összehasonlításával. Frissítünk egy üzenet nevű karakterláncot is, amelyre állapotüzenetként válaszolhatunk a felhasználónak.
ha 'be' parancsban: üzenet = "Bekapcsolt", ha "fehér" a parancsban: üzenet = üzenet + "fehér" GPIO.output (fehér, 1), ha "sárga" a parancsban: üzenet = üzenet + "sárga" GPIO.output (sárga, 1), ha a parancsban „piros”: üzenet = üzenet + „piros” GPIO.output (piros, 1), ha a parancsban zöld: üzenet = üzenet + „zöld” GPIO.output (zöld, 1) ha 'all' a parancsban: message = message + "all" GPIO.output (fehér, 1) GPIO.output (sárga, 1) GPIO.output (piros, 1) GPIO.output (piros, 1) GPIO.output (zöld, 1) message = üzenet + "light (s)" telegram_bot.sendMessage (chat_id, üzenet)
Mint fent látható, olyan kulcsszavakat keresünk, mint a „zöld”, „fehér”, „piros”, „sárga” és „minden” és „bekapcsolva”, csak az adott LED. A munka elvégzése után üzenetet küldünk a felhasználónak arról, hogy mi történt. Az azonos módszerrel lehet használni, hogy kapcsolja le a villanyt ki jól.
ha 'ki' parancsban: üzenet = "kikapcsolt", ha "fehér" a parancsban: üzenet = üzenet + "fehér" GPIO.output (fehér, 0) ha "sárga" a parancsban: üzenet = üzenet + "sárga" GPIO.output (sárga, 0), ha 'piros' a parancsban: üzenet = üzenet + "piros" GPIO.output (piros, 0), ha "zöld" a parancsban: üzenet = üzenet + "zöld" GPIO.output (zöld, 0) ha 'all' parancsban: üzenet = üzenet + "minden" GPIO.output (fehér, 0) GPIO.output (sárga, 0) GPIO.output (piros, 0) GPIO.output (piros, 0) GPIO.output (zöld, 0) message = üzenet + "light (s)" telegram_bot.sendMessage (chat_id, üzenet)
A LED-ek vezérlése a Raspberry Pi és a Telegram bot segítségével:
Csatlakoztassa a LED-eket, és indítsa el a programot a pythonon. Győződjön meg arról, hogy megváltoztatta a bot Token címét. És kezdje el beírni a kívánt parancsokat. Például a piros és sárga fény bekapcsolásához használhatja a következő parancsok bármelyikét.
1. Kapcsolja be a piros és a sárga fényt
2. Kapcsolja be a piros és a sárga színt jobbra
3. A piroson és a sárgán
4. Tegye fel a sárga és a piros lámpát
Mivel láthatja, hogy a bot csak a Kulcsszavakat keresi, és figyelmen kívül hagyja a Mondat többi szavát, így természetesen beszélhet vele. A projekt teljes kidolgozása megtalálható az oldal végén található videóban.
Menj tovább! Játssz a projekteddel és érezd jól magad. Most egy teljesen új szintre emelheti. Mindkét oktatóanyag együttesen képesek vagyunk vezérelni az intelligens telefonunk bármely hardverét a világ bármely pontjáról, és bemeneteket / eredményeket kapunk a Raspberry Pi-től üzenet formájában, hangként, képként, sőt dokumentumként is. Ha a LED-eket relékre és váltóáramú készülékekre cseréli, akkor ez egy intelligens telefon által vezérelt otthoni automatizálás lehet. Tehát használja ki kreativitását, és készítse el saját jó projektjeit…
Remélem tetszett a projekt, és élvezett valami hasonló építését. Mondja meg, ha bármilyen problémája van a megjegyzés részben, és szívesen segítek. Ossza meg velem ötletét, és nézze meg, mit tudunk építeni.