Tartalomjegyzék:
Videó: TextPlayBulb: REST engedélyezett PlayBulb Raspberry Pi 3, BLE és távirat használatával: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ez az oktatóanyag bemutatja, hogyan lehet Python, Raspberry Pi 3 és Bluetooth könyvtár használatával csatlakozni a PlayBulb Color Bluetooth LED -lámpához, és kiterjeszteni a vezérlést egy REST API -n keresztül egy IoT -forgatókönyv esetén, és a projekt bemutatja azt is, hogyan kell kiterjeszteni a REST API a PlayBulb vezérléséhez egy IM szöveges ügyfél felett, pl Távirat, például az automatikus otthonnal való beszélgetés szöveges üzenetben.
Ez a projekt 3 modulra épül:
- pyBulbDriver: Csatlakozzon a PlayBulb -hez BLE gatttool és python segítségével.
- pyBulbServer: A pyBulbDriver segítségével leleplezi a playbulb vezérlést a REST API -n keresztül.
- pyBulbMessenger: Csatlakozás egy táviratbothoz, hogy parancsokat küldjön és fogadjon bármely okostelefonra telepített távirat kliensen keresztül, és a REST API használatával parancsokat adjon ki a PlayBulb -nak.
A projektet klónozhatja a git tárolón keresztül:
A projekt célja:
Ahhoz, hogy egy alap eszközt hozzon létre az izzóval való interakcióhoz különböző módokon, például egy SMS -ben, a jövőbeli forgatókönyvek beszédparancsokat, intést a lámpához stb.
Az utasítás létrehozásához használt egyéb források:
- PlayBulb színes Bluetooth protokoll:
- A Python csatlakoztatása a Playbulb-hez Bluetooth-on keresztül:
- A távirat bot beállítása:
Hozzájárulás
A pyBulbDriver rugalmasabb és paraméterezett, a későbbi bővítés megkönnyítése érdekében, egy olyan forgatókönyvet építve, amely lehetővé teszi a lámpa szöveges küldését. Egyszerű felület a teszteléshez és a fikázáshoz.
Korlátozás
Az illesztőprogram PlayBulb Color -ra van írva, más típusú PlayBulb -ra pl. Eredeti vagy gyertya, a pyBulbDriver Bluetooth -kódját meg kell változtatni a fent említett protokollnak megfelelően.
Regisztrálnia kell egy táviratfiókot, és be kell szereznie egy api kulcsot, amelyet hozzáadhat a pyBulbMessenger.py fájlhoz, és kövesse a távirat bot beállítását az egyéb forrásokban.
1. lépés: A projekt beállítása
1. Az API -kulcs beszerzése a Telegramból
> Kövesse az aktuális utasításokat az API-kulcs beszerzéséhez
> Adja hozzá az api kulcsát a pyBulbMessenger.py api változójához
2. A PlayBulb név beállítása a pyBulbDriver programban
> Ahhoz, hogy a gatttool megtalálja az íróeszközt, állítsa be az eszköz nevét a pyBulbDriver.scanForBulb használatával ("PLAYBULB COLOR"). Példa található a pyBulbServer.py webhelyen a REST szerver beállításához
3. A projekt elindításához
> Először el kell indítania a pyBulbServer.py -t, majd a pyBulbMessenger.py -t a szöveges üzenetekhez. A pyBulbServer parancsokat a CURL segítségével tesztelheti.
4. Szükséges anyag:
> Raspberry Pi 3 és PlayBulb Color vagy PlayBulb Candle
> Telegram telepítése Androidra vagy iOS -re
5. A Rasberry Pi 3 LE Bluetooth telepítése:
www.elinux.org/RPi_Bluetooth_LE
2. lépés: Séta a kódon
pyBulbDriver.py
A pyBulbDriver tartalmazza azokat az illesztőprogram -osztályokat, amelyek a BLE -n keresztül csatlakoznak a PlayBulb -hez
A pyBulbDriver más általános projektekhez is használható, mivel csak a playBulb kapcsolatok vizsgálatához és beállításához szükséges kódot tartalmazza.
A felhasználói API fő API -i:
- scanForBulb (eszköz neve: karakterlánc)> A PlayBulb vagy a PlayBulbs keresése az eszköz nevén keresztül
- setBulbColor (s: int, r: int, g: int, b: int)> A fényerő és az RGB szín (0 - 255) értékeinek meghatározása
-
setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Hasonló a setBulbColor -hoz, de tartalmazza az effektust és a sebességet. Ha többet szeretne megtudni, ellenőrizze a színprotokoll -effektusok részt
Ebben az osztályban más segítő módszereket is talál, amelyek az adatok integritásának ellenőrzésére szolgálnak, és nem a felhasználói felületre
- convertRGBToHexaCmd (s, r, g, b)
- convertIntToHex (szám)
- checkModeAndSpeed (mód, offbeat, onbeat)
- ellenőrzések RGBInBounds (s, r, g, b)
pyBulbServer.py
A pyBulbServer a felhasználói alkalmazás felületét RESTful hiperhivatkozásoknak teszi ki a PUT és a JSON használatával, hogy adatokat küldjön és fogadjon a pyBulbDriver számára. A szerver aktiválásakor a BLE kapcsolat vizsgálata és inicializálása is megtörténik.
A pyBulbResource (erőforrás) a hívásokat a REST szerverhez irányítja szín és effektus segítségével a bulb parancs meghatározásához.
Példa egy effekt parancsra:
127.0.0.1/bulb/effect
JSON POST> {data ':' {"s": 0, "r": 255, "g": 255, "b": 255, "m": 1, "on": 15, "off": 15 } '}
pyBulbMessenger.py
Végül a pyBulbMessenger felelős a távirat okostelefon klienséhez csatlakoztatott Telegram bot összekapcsolásáért. A táviratbot konfigurálásáról és a csatlakozásról további részleteket a https://www.instructables.com/id/Set-up-Telegram-Bo… címen talál.
A cmdHandler (bot, frissítés) az a hely, ahol a szöveges parancsok definiálhatók, és a RESTful API -n keresztül kapcsolódnak a PlayBulb -hez.
Jelenleg a projektnek csak szövege van, egy másik cél az, hogy rögzített hangüzeneteket is küldjön, amelyeket a beszédfelismerőnek küldenek más parancsok aktiválásához (még nem hajtották végre).
3. lépés: Következtetés
A jelenlegi architektúra inkább az egyszerűsítésről szólt, mint a méretezhetőségről. Még mindig hiányzik a csoportkapcsolat, és még több olyan alkalmazás is van, amelyek az izzó szöveges küldésére szolgálnak, akár közvetlen parancsért, akár játékos interakcióért.
Ha feliratkozik a git repo -ra vagy követi, további részletek fognak megjelenni ezekről a frissítésekről. Egy ilyen projekt oka az volt, hogy a playBulb -ot interfészbe helyezték, és egy RESTful felületet hoztak létre az IoT (dolgok internete forgatókönyve) fejlesztésének megkönnyítése érdekében, de lehetőséget adtak arra is, hogy az IM Client táviraton keresztül különböző módokat, például képeket, hangokat és szöveget, hogy kutatási szempontból kölcsönhatásba léphessen a készülékekkel.
Ajánlott:
Távirat bot NodeMCU -val (ESP8266): 3 lépés
Távirat bot NodeMCU -val (ESP8266): Szüksége van egy botra, hogy értesítéseket küldjön a rendszerből? vagy tegyen valamit csak üzenet küldésével? A Telegram Bot a megoldás! Ebben az oktatóanyagban a Telegram Web és a BotFather segítségével fogom elkészíteni a botomat
Távirat lángriasztó bot: 5 lépés
Távirat lángriasztó bot: Ebben a cikkben bemutatom az IoT projektet, amely lehetővé teszi a láng érzékelését, és értesítést küld a felhasználó táviratának. Amire szüksége lesz: Lángérzékelő modul Mikrokontroller csomópont MCU ESP8266 Erőforrás Wi -Fi kimeneti eszköz távirattal
Hogyan készítsünk egyszerű IOT -t távirat -alkalmazással: 5 lépés
Hogyan készítsünk egyszerű IOT -t távirat -alkalmazással: A jelenlegi generációban minden az internet. A dolgok internete nagy szerepet játszik a jelenlegi világban. Sok idő pazarlása nélkül áttérhetünk az IOT gyakorlati működésére. Itt irányítani fogjuk a ledeket és a
Hőszivattyú hibaérzékelés és riasztás ESP8266, Openhab, távirat, elemmel működő MQTT: 5 lépés
Hőszivattyú hibafelismerés és riasztás ESP8266, Openhab, távirat, elemmel működő MQTT: A hőszivattyúm a házam és a víz fűtésére időnként hibát kap. Ezt a hibát nem lehet könnyen észrevenni, mivel nincs piros fény vagy valami, csak egy kis „P” látható egy kis LCD képernyőn. Ezért készítettem ezt az érzékelőt a hiba észlelésére, és
Alexa engedélyezett távirányító (WEMO D1 Mini használatával): 3 lépés
Alexa engedélyezett távirányító (WEMO D1 Mini használatával): Ez egy korábbi bejegyzés frissített változata: https: //www.instructables.com/id/Voice-Activated-R..Az előző verzióban egy Geetech-t használtam hangmodul a normál garázskapu -nyitó típusú távirányító vezérléséhez. Ebben az utasításban lecseréltem a vo