Sisukord:

TextPlayBulb: REST -i lubatud PlayBulb Raspberry Pi 3, BLE ja telegrammi abil: 3 sammu
TextPlayBulb: REST -i lubatud PlayBulb Raspberry Pi 3, BLE ja telegrammi abil: 3 sammu

Video: TextPlayBulb: REST -i lubatud PlayBulb Raspberry Pi 3, BLE ja telegrammi abil: 3 sammu

Video: TextPlayBulb: REST -i lubatud PlayBulb Raspberry Pi 3, BLE ja telegrammi abil: 3 sammu
Video: Секрет опытных мастеров! Как легко состыковать материал, если в углу стоит круглая труба? #shorts 2024, Juuli
Anonim
TextPlayBulb: REST -i lubatud PlayBulb Raspberry Pi 3, BLE ja telegrammi abil
TextPlayBulb: REST -i lubatud PlayBulb Raspberry Pi 3, BLE ja telegrammi abil

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:

  1. pyBulbDriver: ühendage PlayBulbiga BLE gatttooli ja pythoniga.
  2. pyBulbServer: kasutades pyBulbDriveri, et paljastada playbulbi juhtimine REST API kaudu.
  3. 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: