Բովանդակություն:

TextPlayBulb: REST Enabled PlayBulb օգտագործելով Raspberry Pi 3, BLE և Telegram: 3 քայլ
TextPlayBulb: REST Enabled PlayBulb օգտագործելով Raspberry Pi 3, BLE և Telegram: 3 քայլ

Video: TextPlayBulb: REST Enabled PlayBulb օգտագործելով Raspberry Pi 3, BLE և Telegram: 3 քայլ

Video: TextPlayBulb: REST Enabled PlayBulb օգտագործելով Raspberry Pi 3, BLE և Telegram: 3 քայլ
Video: Mipow Smart LED Lights, LED Light Bluetooth Speaker, Solar Garden Light Content 2024, Նոյեմբեր
Anonim
TextPlayBulb: REST Միացված PlayBulb- ը ՝ օգտագործելով Raspberry Pi 3, BLE և Telegram
TextPlayBulb: REST Միացված PlayBulb- ը ՝ օգտագործելով Raspberry Pi 3, BLE և Telegram

Այս հրահանգը ցույց է տալիս, թե ինչպես կարելի է միացնել PlayBulb Color bluetooth LED լամպին ՝ օգտագործելով Python, Raspberry Pi 3 և Bluetooth գրադարան և ընդլայնել վերահսկողությունը IoT սցենարի համար REST API- ի միջոցով, և որպես վերադարձ, նախագիծը նաև ցույց է տալիս, թե ինչպես երկարացնել REST API ՝ ձեր PlayBulb- ը վերահսկելու համար IM տեքստային հաճախորդի վրա, օրինակ Հեռագիր, օրինակ ՝ տեքստով ձեր ավտոմատացված տան հետ խոսելը:

Այս նախագիծը հիմնված է 3 մոդուլի վրա.

  1. pyBulbDriver. Միացեք PlayBulb- ին BLE gatttool- ի և python- ի միջոցով:
  2. pyBulbServer. Օգտագործելով pyBulbDriver- ը ՝ REST API- ի միջոցով փամփուշտի կառավարումը ցուցադրելու համար:
  3. pyBulbMessenger. Connectանկացած խելացի հեռախոսի վրա տեղադրված հեռագրի հաճախորդի միջոցով հրամաններ ուղարկելու և ստանալու հեռագրի բոտին միանալը և REST API- ի միջոցով PlayBulb- ին հրամաններ տալու համար:

Կարող եք նախագիծը կլոնավորել git շտեմարանի միջոցով ՝

Նախագծի նպատակը

Ձեր լամպի հետ տարբեր եղանակների միջոցով փոխազդելու բազային գործիք ստեղծելու համար, օրինակ ՝ ներկայումս հաղորդագրություններ ուղարկելը, ապագա սցենարները կարող են ներառել խոսքի հրամաններ, լամպի շարժում … և այլն:

Այս ուսանելի ուսուցման ստեղծման համար օգտագործվող այլ ռեսուրսներ

  • PlayBulb Color Bluetooth արձանագրություն ՝
  • Bluetooth- ի միջոցով Python- ը Playbulb- ին միացնելը ՝
  • Հեռագրի բոտի տեղադրում ՝

Ներդրում

pyBulbDriver- ը երկարաձգվում է որպես ավելի ճկուն և պարամետրավորված ՝ հետագա ընդլայնման հեշտության համար ՝ կառուցելով սցենար, որը թույլ կտա ձեզ ճմլվել ձեր լամպի տեքստերով: Պարզ ինտերֆեյս ՝ շուրջը փորձարկելու և սղոցելու համար:

Սահմանափակում

Վարորդը գրված է PlayBulb Color- ի համար, PlayBulb- ի այլ տեսակների համար, օրինակ. Բնօրինակը կամ մոմը, pyBulbDriver- ի bluetooth ծածկագիրը պետք է փոխվի վերոնշյալ արձանագրության համաձայն:

Դուք պետք է գրանցեք հեռագրային հաշիվ և ստացեք api բանալին, որը ավելացնում եք pyBulbMessenger.py- ում, հետևեք հեռագրի բոտին O ռեսուրսներում տեղադրմանը:

Քայլ 1: Նախագծի ստեղծում

1. Ստանալով ձեր API բանալին Telegram- ից

> Հետևեք ընթացիկ հրահանգներին ՝ ձեր API բանալին ստանալու համար

> PyBulbMessenger.py- ում փոփոխվող api- ին ավելացրեք ձեր api բանալին

2. Տեղադրեք ձեր PlayBulb անունը pyBulbDriver- ում

> Որպեսզի gatttool- ը գտնի գրելու սարքը, սահմանեք, որ ձեր սարքի անունը սկանավորվի pyBulbDriver.scanForBulb («PLAYBULB COLOR») միջոցով: Օրինակ կարող եք գտնել pyBulbServer.py- ում ՝ ձեր REST սերվերը կարգավորելու համար

3. Նախագիծը սկսելու համար

> Նախ պետք է սկսել pyBulbServer.py, այնուհետև ՝ pyBulbMessenger.py տեքստային հաղորդագրությունների համար: Դուք կարող եք փորձարկել pyBulbServer հրամանները ՝ օգտագործելով CURL:

4. Անհրաժեշտ նյութեր

> Ազնվամորի Pi 3 և PlayBulb Color կամ PlayBulb Candle

> Telegram- ի տեղադրում Android- ի կամ iOS- ի համար

5. Rasberry Pi 3 LE Bluetooth- ի տեղադրում

www.elinux.org/RPi_Bluetooth_LE

Քայլ 2: Քայլ օրենսգրքի միջով

pyBulbDriver.py

pyBulbDriver- ը պարունակում է BLE- ի միջոցով PlayBulb- ին միանալու վարորդների դասեր

pyBulbDriver- ը կարող է օգտագործվել նաև ցանկացած այլ ընդհանուր նախագծերի համար, քանի որ այն պարունակում է միայն playBulb կապերը սկանավորելու և կարգավորելու կոդ:

Օգտվողի կիրառման միջերեսի հիմնական API- ները.

  • scanForBulb (devicename: String)> PlayBulb կամ PlayBulbs որոնել իրենց սարքի անվան միջոցով
  • setBulbColor (ներ: int, r: int, g: int, b: int)> Պայծառության և RGB գույնի (0 -ից 255) արժեքները սահմանելու համար
  • setBulbEffect (ներ: int, r: int, g: int, b: int, ռեժիմ ՝ int, onbeat: int, offbeat: int)> Նման է setBulbColor- ին, բայց ներառում է էֆեկտի և արագության տեսակը: Ավելին իմանալու համար ստուգեք գունային արձանագրության էֆեկտների բաժինը

Այս դասում դուք կգտնեք նաև այլ օժանդակ մեթոդներ, որոնք նախատեսված են տվյալների ամբողջականության ստուգման և ոչ թե ինտերֆեյսի համար

  • convertRGBToHexaCmd (ներ, ռ, գ, բ)
  • convertIntToHex (համար)
  • checkModeAndSpeed (ռեժիմ, անհաջող, օն -բիթ)
  • ստուգումներ RGBInBounds (ներ, ռ, գ, բ)

pyBulbServer.py

pyBulbServer- ը User Application ինտերֆեյսը ցուցադրում է RESTful հիպերհղումների մեջ ՝ օգտագործելով PUT և JSON ՝ pyBulbDriver- ին տվյալներ ուղարկելու և ստանալու համար: Նաև BLE կապի սկանավորումն ու նախաստորագրումը կատարվում է սերվերի ակտիվացման ժամանակ:

pyBulbResource (ռեսուրս) կանչերն ուղարկում է REST սերվեր ՝ օգտագործելով գույնը և էֆեկտը ՝ լամպի հրամանը սահմանելու համար:

Օրինակ ՝ էֆեկտ պատվիրելու համար.

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

Վերջապես pyBulbMessenger- ը պատասխանատու է ձեր հեռագրի խելացի հեռախոսի հաճախորդին միացված Telegram բոտին: Հեռագրի բոտին կազմաձևելու և միանալու մասին լրացուցիչ մանրամասների համար այցելեք

cmdHandler (բոտ, թարմացում) այն է, որտեղ տեքստային հրամանները սահմանվում և միացված են PlayBulb- ին RESTful API- ի միջոցով:

Ներկայումս նախագիծը միայն տեքստ ունի, մեկ այլ նպատակ է նաև ուղարկել ձայնագրված ձայնային հաղորդագրություններ, որոնք կուղարկվեն խոսքի ճանաչողին `այլ հրամաններ ակտիվացնելու համար (դեռ չի իրականացվում):

Քայլ 3: Եզրակացություն

Ներկայիս ճարտարապետական դիզայնը ավելի շատ պարզեցման, քան մասշտաբայնության մասին էր: Դեռևս բացակայում է խմբային կապը, ինչպես նաև լամպին տեքստ ուղարկելու վերաբերյալ ավելի շատ ծրագրեր ՝ ուղիղ հրամանի կամ խաղային փոխազդեցության համար, դեռ հետազոտության փուլում է:

Բաժանորդագրվելով git repo- ին կամ հետևելով ՝ այս թարմացումներին ավելի շատ մանրամասներ կհայտնվեն: Նման նախագծի պատճառն էր playBulb- ին միացնելը և RESTful ինտերֆեյսի ստեղծումը `IoT- ում (իրերի ինտերնետային սցենար) զարգացման հեշտության համար, ինչպես նաև IM Client հեռագրի միջոցով տարբեր եղանակներ օգտագործելու հնարավորություն, ինչպիսիք են նկարները, ձայնը և տեքստը հետազոտական տեսանկյունից կենցաղային տեխնիկայի հետ փոխազդելու համար:

Խորհուրդ ենք տալիս: