Kazalo:
Video: TextPlayBulb: REST omogočeno PlayBulb z uporabo Raspberry Pi 3, BLE in Telegram: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
To navodilo prikazuje, kako se povežete z LED -svetilko Bluetooth PlayBulb Color z uporabo Pythona, knjižnice Raspberry Pi 3 in Bluetooth ter razširite kontrole prek API -ja REST za scenarij IoT, projekt pa pokaže tudi, kako razširiti REST API za nadzor vašega predvajalnika PlayBulb prek odjemalca besedilnih sporočil, npr Telegram, na primer pogovor z avtomatiziranim domom prek besedila.
Ta projekt je sestavljen iz treh modulov:
- pyBulbDriver: Povežite se z PlayBulb prek BLE gatttool in python.
- pyBulbServer: Uporaba pyBulbDriverja za razkritje nadzora predvajalnika s pomočjo API -ja REST.
- pyBulbMessenger: Vzpostavitev povezave s telegramskim botom za pošiljanje in sprejemanje ukazov prek odjemalca telegrama, nameščenega na katerem koli pametnem telefonu, in uporaba API -ja REST za izdajanje ukazov za PlayBulb.
Projekt lahko klonirate prek repozitorija git:
Cilj projekta:
Če želite ustvariti osnovno orodje za interakcijo z žarnico prek različnih načinov, na primer za zdaj pošiljanja sporočil, bi lahko prihodnji scenariji vključevali govorne ukaze, kretnje k svetilki itd.
Drugi viri, uporabljeni za ustvarjanje tega navodila:
- PlayBulb barvni protokol Bluetooth:
- Povezovanje Pythona z Playbulbom prek Bluetootha:
- Nastavitev telegram bota:
Prispevek
pyBulbDriver je razširjen, da je bolj prilagodljiv in parametriziran za lažjo prihodnjo razširitev, pri čemer se ustvari scenarij, ki vam omogoča, da se poigravate pri pošiljanju sporočil svetilki. Enostaven vmesnik za testiranje in igranje.
Omejitev
Gonilnik je napisan za PlayBulb Color, za druge vrste PlayBulb npr. Original ali svečo, kodo bluetooth v pyBulbDriver je treba spremeniti v skladu s prej omenjenim protokolom.
Registrirati morate račun za telegram in dobiti ključ api, ki ga dodate v pyBulbMessenger.py, sledite nastavitvi telegramskega bota v drugih virih.
1. korak: Nastavitev projekta
1. Pridobivanje ključa API iz Telegrama
> Sledite trenutnim navodilom, da dobite ključ API
> Dodajte ključ api spremenljivki api v pyBulbMessenger.py
2. Nastavitev imena PlayBulb v pyBulbDriver
> Če želite, da gatttool poišče pisalno napravo, nastavite, da se optično prebere ime vaše naprave z uporabo pyBulbDriver.scanForBulb ("BARVA PLAYBULB"). Primer lahko najdete v pyBulbServer.py za nastavitev strežnika REST
3. Za začetek projekta
> Najprej morate zagnati pyBulbServer.py, nato pa pyBulbMessenger.py za pošiljanje sporočil. Ukaze pyBulbServer lahko preizkusite z uporabo CURL.
4. Potreben material:
> Raspberry Pi 3 in PlayBulb Color ali PlayBulb Candle
> Namestitev Telegrama za Android ali iOS
5. Namestitev Rasberry Pi 3 LE Bluetooth:
www.elinux.org/RPi_Bluetooth_LE
2. korak: Sprehodite se po kodi
pyBulbDriver.py
pyBulbDriver vsebuje razrede gonilnikov za povezavo z PlayBulb prek BLE
pyBulbDriver se lahko uporablja tudi za vse druge generične projekte, saj vsebuje samo kodo za skeniranje in nastavitev povezav playBulb.
Glavni API -ji za uporabniški vmesnik:
- scanForBulb (ime naprave: String)> Za iskanje PlayBulb ali PlayBulbs prek imena njihove naprave
- setBulbColor (s: int, r: int, g: int, b: int)> Za določitev vrednosti svetlosti in barve RGB (od 0 do 255)
-
setBulbEffect (s: int, r: int, g: int, b: int, način: int, onbeat: int, offbeat: int)> Podobno kot setBulbColor, vendar vključuje vrsto učinka in hitrost. Če želite izvedeti več, preverite razdelek Učinki barvnega protokola
V tem razredu boste našli tudi druge pomožne metode za preverjanje integritete podatkov in ne za uporabniški vmesnik
- pretvori RGBToHexaCmd (s, r, g, b)
- convertIntToHex (število)
- checkModeAndSpeed (način, neobičajno, onbeat)
- preverja RGBInBounds (s, r, g, b)
pyBulbServer.py
pyBulbServer razkrije vmesnik uporabniške aplikacije v hiperpovezave RESTful z uporabo PUT in JSON za pošiljanje in sprejemanje podatkov na pyBulbDriver. Tudi skeniranje in inicializacija povezave BLE se izvede, ko je strežnik aktiviran.
pyBulbResource (Resource) kanalizira klice na strežnik REST z uporabo barve in učinka za definiranje ukaza bulb.
Primer za ukaz učinka:
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
Nazadnje je pyBulbMessenger odgovoren za povezovanje Telegram bota, povezanega z vašim odjemalcem pametnega telefona Telegram. Za več podrobnosti o tem, kako konfigurirate in se povežete s telegramskim botom, preverite
cmdHandler (bot, update) je kraj, kjer so besedilni ukazi definirani in povezani z PlayBulb prek API -ja RESTful.
Trenutno ima projekt samo besedilo, drugi cilj pa je tudi pošiljanje posnetih glasovnih sporočil, ki bi bila poslana prepoznavalniku govora za aktiviranje drugih ukazov (še ni izvedeno).
3. korak: Zaključek
Trenutna arhitekturna zasnova je bila bolj poenostavljena kot prilagodljiva. Še vedno manjka skupinska povezljivost, še vedno se raziskuje tudi več aplikacij, ki se nanašajo na pošiljanje sporočil žarnici za neposreden ukaz ali igrivo interakcijo.
Če se naročite na git repo ali sledite, bodo te posodobitve objavile več podrobnosti. Razlog za takšen projekt je bil povezovanje playBulb in ustvarjanje vmesnika RESTful za lažji razvoj v IoT (scenarij interneta stvari), pa tudi odpiranje možnosti uporabe različnih načinov prek telegrama IM odjemalca, kot so slike, glas in besedilo za interakcijo z napravami z raziskovalnega vidika.
Priporočena:
Matrična svetilka z omogočeno WiFi: 6 korakov (s slikami)
Matrična svetilka z omogočeno WiFi: Kdo ne želi imeti osupljive svetilke, ki lahko prikazuje animacije in se sinhronizira z drugimi svetilkami v hiši? Prav, nihče. Zato sem naredil svetilko RGB po meri. Svetilka je sestavljena iz 256 posamezno naslovljivih LED, vse LED pa je mogoče krmiliti
Gumb za dvigalo z omogočeno Alexa: 4 koraki
Gumb dvigala z omogočeno Alexa: Metodo v tem navodilu je mogoče uporabiti za kateri koli gumb, vendar imamo v tem primeru dvigalo, ki ga želimo poklicati z uporabo Amazon Alexa. Imam prejšnji pouk, kjer sem za isto stvar uporabil elektromagnet, ki ga nadzira Alexa, vendar
Avtomobilski merilniki OLED ESP32 z omogočeno Wi -Fi povezavo: 3 koraki (s slikami)
Wi -Fi omogočen OLED ESP32 avtomobilski merilniki: Najprej uvod … Avtometre gradim kot nekakšen znova vklopljen in izključen hobi. Za dva novejša primera glej https: //www.instructables.com/id/Remote-Car-Monit … in https: //www.instructables.com/id/Remote-Car-Monit … Še posebej mi je všeč
Surova vremenska postaja z omogočeno WiFi: 3 koraki (s slikami)
Surova vremenska postaja, ki podpira WiFi Deli, ki sem jih uporabil, so na voljo na kumantech.com
1 meter POV z omogočeno funkcijo IOT: 3 koraki (s slikami)
1 -metrski POV z omogočeno funkcijo IOT: Preden se lotim razlage o tem projektu, bi se rad opravičil za nizko kakovost slike in videoposnetkov, vendar iskreno, res je težko narediti ostro in jasno sliko pri izvajanju POV z običajno kamero, kot je moja mobilna kamera. Potrebuje zelo hitro d