Sisukord:
Video: TextPlayBulb: REST -i lubatud PlayBulb Raspberry Pi 3, BLE ja telegrammi abil: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Selles juhendis näidatakse, kuidas ühendada PlayBulb Color Bluetoothi LED -lambiga, kasutades Pythoni, Raspberry Pi 3 ja Bluetoothi teeki ning laiendada juhtnuppe IEST -i stsenaariumi jaoks REST API kaudu. Projekt näitab ka, kuidas REST API PlayBulbi juhtimiseks kiirsuhtluse tekstikliendi kaudu, nt Telegram, näiteks automaatse koduga rääkimine teksti kaudu.
See projekt põhineb kolmel moodulil:
- pyBulbDriver: ühendage PlayBulbiga BLE gatttooli ja pythoniga.
- pyBulbServer: kasutades pyBulbDriveri, et paljastada playbulbi juhtimine REST API kaudu.
- pyBulbMessenger: ühenduse loomine telegrammibotiga, et saata ja vastu võtta käske mis tahes nutitelefonile installitud telegrammikliendi kaudu, ning kasutada REST API -d käskluste esitamiseks PlayBulbile.
Projekti saate kloonida giti hoidla kaudu:
Projekti eesmärk:
Selleks, et luua baasriist oma pirniga suhtlemiseks erinevate viiside, näiteks tekstisõnumite saatmise kaudu, võivad tulevased stsenaariumid hõlmata kõnekäsklusi, lampile viipamist jne.
Muud selle juhendi loomiseks kasutatud ressursid:
- PlayBulbi värviline Bluetooth -protokoll:
- Pythoni ühendamine Playbulbiga Bluetoothi kaudu:
- Telegrammiboti seadistamine:
Panus
PyBulbDriver on laiendatud paindlikumaks ja parameetriliseks, et hõlbustada edasist pikendamist, luues stsenaariumi, mis võimaldab teil lambi tekstisõnumite saatmisega tegeleda. Lihtne liides testimiseks ja ringi liikumiseks.
Piirang
Draiver on kirjutatud PlayBulb Colourile, muud tüüpi PlayBulbile nt. Originaal või küünal, pyBulbDriveri bluetooth -koodi tuleb muuta vastavalt eespool nimetatud protokollile.
Peate registreerima telegrammikonto ja hankima api võtme, mille lisate pyBulbMessenger.py, järgige telegrammiboti seadistamist muudes ressurssides.
Samm: projekti seadistamine
1. Oma API võtme hankimine Telegramist
> Järgige oma API võtme hankimiseks kehtivaid juhiseid
> Lisage api võti pyBulbMessenger.py muutuvasse api
2. PlayBulbi nime seadmine pyBulbDriveris
> Et gatttool saaks kirjutusseadme leida, määrake seadme nimi skannitavaks, kasutades pyBulbDriver.scanForBulb ("PLAYBULB COLOR"). REST -serveri seadistamiseks leiate näite saidilt pyBulbServer.py
3. Projekti alustamiseks
> Esmalt tuleb teksti saatmiseks käivitada pyBulbServer.py ja seejärel pyBulbMessenger.py. PyBulbServeri käske saate testida CURL -i abil.
4. Vajalik materjal:
> Raspberry Pi 3 ja PlayBulb Color või PlayBulb küünal
> Telegrammi installimine Androidile või iOS -ile
5. Rasberry Pi 3 LE Bluetoothi installimine:
www.elinux.org/RPi_Bluetooth_LE
2. samm: koodi läbimine
pyBulbDriver.py
pyBulbDriver sisaldab draiveriklasse PlayBulbiga ühenduse loomiseks BLE kaudu
pyBulbDriverit saab kasutada ka kõigi muude üldprojektide jaoks, kuna see sisaldab ainult koodi PlayBulbi ühenduste skannimiseks ja seadistamiseks.
Peamised rakendusliidese API -d:
- scanForBulb (seadme nimi: string)> PlayBulbi või PlayBulbide otsimine nende seadme nime kaudu
- setBulbColor (s: int, r: int, g: int, b: int)> Heleduse ja RGB värvi (0 kuni 255) väärtuste määramiseks
-
setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Sarnane setBulbColoriga, kuid sisaldab efekti tüüpi ja kiirust. Lisateabe saamiseks vaadake värviprotokolli efektide jaotist
Sellest klassist leiate ka muid abimeetodeid, mis on mõeldud andmete terviklikkuse kontrollimiseks, mitte kasutajaliideseks
- convertRGBToHexaCmd (s, r, g, b)
- convertIntToHex (arv)
- checkModeAndSpeed (režiim, ebaühtlane, onbeat)
- kontrollib RGBInBounds (s, r, g, b)
pyBulbServer.py
pyBulbServer avab kasutajarakenduse liidese RESTful hüperlinkideks, kasutades PUT ja JSON andmete saatmist ja vastuvõtmist pyBulbDriverile. Samuti skannitakse ja lähtestatakse BLE -ühendus, kui server on aktiveeritud.
pyBulbResource (ressurss) suunab kõned REST -serverisse, kasutades värvi ja efekti, et määrata bulb -käsk.
Näide efekti käsutamiseks:
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
Lõpuks vastutab pyBulbMessenger teie telegrammi nutitelefoni kliendiga ühendatud telegrammiboti liidestamise eest. Lisateavet telegrammiboti seadistamise ja sellega ühenduse loomise kohta leiate aadressilt
cmdHandler (bot, update) on tekstikäskluste määratlemise ja RESTful API kaudu PlayBulbiga ühendamise võimalus.
Praegu on projektis ainult tekst, teine eesmärk on saata ka salvestatud häälsõnumeid, mis saadetaks kõnetuvastusse teiste käskude aktiveerimiseks (pole veel rakendatud).
3. samm: järeldus
Praegune arhitektuuriprojekt hõlmas pigem lihtsustamist kui mastaapsust. Ikka puudub grupiühendus, samuti uuritakse veel rakendusi, mis käsitlevad pirni saatmist kas otsese käsu saamiseks või mänguliseks suhtlemiseks.
Kui tellite git repo või järgite, siis saab nende värskenduste kohta lisateavet. Sellise projekti põhjuseks oli PlayBulbi liidestamine ja RESTful liidese loomine asjade Interneti (asjade Interneti stsenaarium) arendamise hõlbustamiseks, aga ka võimalus avada võimalus kasutada erinevaid mooduseid IM -kliendi telegrammi kaudu, näiteks pilte, häält ja teksti, et suhelda seadmetega uurimisperspektiivist.
Soovitan:
Telegrammi robot koos NodeMCU -ga (ESP8266): 3 sammu
Telegrammi robot koos NodeMCU -ga (ESP8266): kas vajate robotit, et anda oma süsteemist märguandeid? või teha midagi lihtsalt sõnumi saatmisega? Telegram Bot on teie lahendus! Selles õpetuses kasutan oma robotite loomiseks Telegram Web ja BotFather
ESP32 -põhine telegrammi robot: 7 sammu
ESP32-l põhinev telegrammibot: Telegrami eesmärk on vabadus ja avatud lähtekoodid. Ta kuulutas 2015. aastal välja uue Telegrami bot API, mis võimaldas kolmandatel osapooltel luua ESP32 jaoks telegrammiroboteid, mis kasutavad sõnumsiderakendust oma peamise suhtlusliidesena. See tähendab, et me
Telegrammi leegihäire robot: 5 sammu
Telegrami leegihäire robot: selles artiklis esitlen IoT projekti, mis võimaldab leeki tunda ja saata kasutaja telegrammile märguande. Mida vajate: leegianduri moodul Mikrokontrolleri sõlm MCU ESP8266 Toiteallikas Wi -Fi väljundseade telegrammiga
[IoT] Telegrammi robot koos Arduino MKR WiFi -ga 1010: 5 sammu
[IoT] Telegrammi bot koos Arduino MKR WiFi 1010-ga: see projekt näitab, kuidas liita Arduino Telegram Boti API-dega. Projekt on üles ehitatud uue MKR WiFi 1010 plaadi ümber, mis on varustatud U-BLOX-i ESP32 mooduliga. Selles etapis projekt on vaid kontseptsiooni tõestus, lihtsalt selleks, et
Alexa lubatud kaugjuhtimispult (WEMO D1 Mini abil): 3 sammu
Alexa lubatud kaugjuhtimispult (WEMO D1 Mini abil): see on eelmise postituse uuendatud versioon: https: //www.instructables.com/id/Voice-Activated-R … Eelmises versioonis kasutasin Geetechi häälemoodul tavalise garaažiukseavaja tüüpi kaugjuhtimispuldi juhtimiseks. Selles juhendis asendasin vo