Turinys:

„TextPlayBulb“: „REST“įgalintas „PlayBulb“naudojant „Raspberry Pi 3“, „BLE“ir „Telegram“: 3 žingsniai
„TextPlayBulb“: „REST“įgalintas „PlayBulb“naudojant „Raspberry Pi 3“, „BLE“ir „Telegram“: 3 žingsniai

Video: „TextPlayBulb“: „REST“įgalintas „PlayBulb“naudojant „Raspberry Pi 3“, „BLE“ir „Telegram“: 3 žingsniai

Video: „TextPlayBulb“: „REST“įgalintas „PlayBulb“naudojant „Raspberry Pi 3“, „BLE“ir „Telegram“: 3 žingsniai
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Liepa
Anonim
„TextPlayBulb“: „REST“įgalintas „PlayBulb“naudojant „Raspberry Pi 3“, BLE ir telegramą
„TextPlayBulb“: „REST“įgalintas „PlayBulb“naudojant „Raspberry Pi 3“, BLE ir telegramą

Šioje instrukcijoje parodyta, kaip prisijungti prie „PlayBulb Color“„Bluetooth“LED lempos, naudojant „Python“, „Raspberry Pi 3“ir „Bluetooth“biblioteką, ir išplėsti valdymą naudojant REST API, skirtą daiktų interneto scenarijui, ir kaip projektas, taip pat parodoma, kaip išplėsti REST API, skirta valdyti „PlayBulb“per IM teksto klientą, pvz Telegrama, pvz., Kalbėjimasis su jūsų automatizuotais namais tekstu.

Šis projektas yra pagrįstas 3 moduliais:

  1. „pyBulbDriver“: prisijunkite prie „PlayBulb“naudodami „BLE gatttool“ir „python“.
  2. „pyBulbServer“: naudojant „pyBulbDriver“, norėdami parodyti žaidimo valdiklį per REST API.
  3. „pyBulbMessenger“: prisijungimas prie telegramos roboto, kad būtų galima siųsti ir gauti komandas per bet kuriame išmaniajame telefone įdiegtą telegramų klientą, ir naudojant REST API komandoms „PlayBulb“.

Galite klonuoti projektą naudodami „git“saugyklą:

Projekto tikslas:

Jei norite sukurti pagrindinį įrankį, skirtą sąveikauti su lempute naudojant įvairius būdus, pvz., Siunčiant trumpąsias žinutes, būsimi scenarijai gali apimti kalbos komandas, gestavimą lemputei ir pan.

Kiti ištekliai, naudojami kuriant šią instrukciją:

  • „PlayBulb“spalvotas „Bluetooth“protokolas:
  • „Python“prijungimas prie „Playbulb“per „Bluetooth“:
  • Telegramos roboto nustatymas:

Įnašas

„pyBulbDriver“išplėstas, kad būtų lankstesnis ir parametrizuotas, kad būtų lengviau jį pratęsti ateityje, sukuriant scenarijų, leidžiantį sustoti ir siųsti žinučių siuntimo žinutes. Paprasta sąsaja testavimui ir pasivaikščiojimui.

Apribojimas

Tvarkyklė parašyta „PlayBulb Color“, kitų tipų „PlayBulb“, pvz. Originalus arba žvakė, „Bluetooth“kodą „pyBulbDriver“reikia pakeisti pagal pirmiau minėtą protokolą.

Turite užregistruoti telegramos paskyrą ir gauti API raktą, kurį pridėsite prie pyBulbMessenger.py, atlikite telegramos roboto nustatymą kituose ištekliuose.

1 žingsnis: nustatykite projektą

1. API rakto gavimas iš „Telegram“

> Vykdykite dabartines instrukcijas, kad gautumėte savo API raktą

> Pridėkite savo API raktą prie kintamojo api, esančio pyBulbMessenger.py

2. „PlayBulb“vardo nustatymas „pyBulbDriver“

> Kad gatttool surastų rašymo įrenginį, nustatykite savo įrenginio pavadinimą, kad jis būtų nuskaitytas naudojant pyBulbDriver.scanForBulb ("PLAYBULB COLOR"). Pavyzdį rasite pyBulbServer.py, kad nustatytumėte REST serverį

3. Norėdami pradėti projektą

> Pirmiausia turite paleisti pyBulbServer.py, o po to pyBulbMessenger.py, kad galėtumėte siųsti žinutes. Galite išbandyti pyBulbServer komandas naudodami CURL.

4. Reikalinga medžiaga:

> Raspberry Pi 3 ir PlayBulb Color arba PlayBulb Candle

> Telegramos diegimas, skirtas „Android“arba „iOS“

5. Rasberry Pi 3 LE Bluetooth diegimas:

www.elinux.org/RPi_Bluetooth_LE

2 žingsnis: eikite per kodą

pyBulbDriver.py

„pyBulbDriver“yra tvarkyklių klasės, skirtos prisijungti prie „PlayBulb“per BLE

„pyBulbDriver“taip pat gali būti naudojamas bet kokiems kitiems bendriesiems projektams, nes jame yra tik „PlayBulb“jungčių nuskaitymo ir nustatymo kodas.

Pagrindinės vartotojo sąsajos API:

  • scanForBulb (įrenginio pavadinimas: eilutė)> Norėdami ieškoti „PlayBulb“ar „PlayBulb“pagal jų įrenginio pavadinimą
  • setBulbColor (s: int, r: int, g: int, b: int)> Nustatyti ryškumo ir RGB spalvų (nuo 0 iki 255) reikšmes
  • setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Panašus į setBulbColor, tačiau apima efekto tipą ir greitį. Norėdami sužinoti daugiau, patikrinkite spalvų protokolo efektų skyrių

Šioje klasėje taip pat rasite kitų pagalbinių metodų, skirtų duomenų vientisumui tikrinti, o ne vartotojo sąsajai

  • konvertuotiRGBToHexaCmd (s, r, g, b)
  • convertIntToHex (skaičius)
  • checkModeAndSpeed (režimas, neįprastas, įjungtas)
  • patikrinimai RGBInBounds (s, r, g, b)

pyBulbServer.py

„pyBulbServer“atskleidžia vartotojo programos sąsają į RESTful hipersaitus, naudojančius PUT ir JSON, kad išsiųstų ir gautų duomenis į pyBulbDriver. Taip pat BLE ryšys nuskaitomas ir inicijuojamas, kai suaktyvinamas serveris.

pyBulbResource (Resource) nukreipia skambučius į REST serverį naudodami spalvą ir efektą, kad apibrėžtų lemputės komandą.

Efekto nurodymo pavyzdys:

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

Galiausiai pyBulbMessenger yra atsakingas už telegramos roboto, prijungto prie jūsų išmaniojo telefono kliento kliento, sąsają. Norėdami gauti daugiau informacijos apie tai, kaip sukonfigūruoti ir prisijungti prie telegramos roboto, apsilankykite

„cmdHandler“(robotas, atnaujinimas) yra teksto komandų apibrėžimas ir prijungimas prie „PlayBulb“per RESTful API.

Šiuo metu projekte yra tik tekstas, kitas tikslas - taip pat siųsti įrašytus balso pranešimus, kurie būtų siunčiami į kalbos atpažinimo priemonę, kad būtų suaktyvintos kitos komandos (dar neįgyvendinta).

3 žingsnis: Išvada

Dabartinis architektūros dizainas buvo labiau susijęs su supaprastinimu nei mastelio keitimu. Vis dar trūksta grupės ryšio, taip pat vis dar tiriamos daugiau programų, susijusių su teksto siuntimu į lemputę, kad būtų galima tiesiogiai valdyti ar žaisti žaismingai.

Užsiprenumeravę „git repo“ar sekdami, gausite daugiau informacijos apie šiuos atnaujinimus. Tokio projekto priežastis buvo sujungti „playBulb“ir sukurti RESTful sąsają, kad būtų lengviau kurti daiktus internete (daiktų interneto scenarijus), bet taip pat atverti galimybę naudoti skirtingus būdus naudojant IM kliento telegramą, pvz., Paveikslėlius, balsą ir tekstą, kad galėtumėte bendrauti su prietaisais tyrimo požiūriu.

Rekomenduojamas: