Բովանդակություն:
Video: TextPlayBulb: REST Enabled PlayBulb օգտագործելով Raspberry Pi 3, BLE և Telegram: 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Այս հրահանգը ցույց է տալիս, թե ինչպես կարելի է միացնել PlayBulb Color bluetooth LED լամպին ՝ օգտագործելով Python, Raspberry Pi 3 և Bluetooth գրադարան և ընդլայնել վերահսկողությունը IoT սցենարի համար REST API- ի միջոցով, և որպես վերադարձ, նախագիծը նաև ցույց է տալիս, թե ինչպես երկարացնել REST API ՝ ձեր PlayBulb- ը վերահսկելու համար IM տեքստային հաճախորդի վրա, օրինակ Հեռագիր, օրինակ ՝ տեքստով ձեր ավտոմատացված տան հետ խոսելը:
Այս նախագիծը հիմնված է 3 մոդուլի վրա.
- pyBulbDriver. Միացեք PlayBulb- ին BLE gatttool- ի և python- ի միջոցով:
- pyBulbServer. Օգտագործելով pyBulbDriver- ը ՝ REST API- ի միջոցով փամփուշտի կառավարումը ցուցադրելու համար:
- 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 հեռագրի միջոցով տարբեր եղանակներ օգտագործելու հնարավորություն, ինչպիսիք են նկարները, ձայնը և տեքստը հետազոտական տեսանկյունից կենցաղային տեխնիկայի հետ փոխազդելու համար:
Խորհուրդ ենք տալիս:
Arduino Count Down W/ Rest կոճակ `4 քայլ
Arduino Count Down W/ Rest կոճակ. Այս հրահանգը կսովորեցնի ձեզ, թե ինչպես ստեղծել հետհաշվարկի ժամաչափ `օգտագործելով 4 թվանշանի 7-հատվածանոց էկրան, որը կարող է վերակայվել կոճակով: Ես ստեղծեցի այս գաղափարը, քանի որ դասարանում ստեղծելով 1-նիշանոց 7-հատվածանոց էկրան, ես ուզում էի ինչ-որ բան ստեղծել
ՌԴ 433MHZ ռադիոկառավարում ՝ օգտագործելով HT12D HT12E - Rf հեռակառավարման պատրաստում ՝ օգտագործելով HT12E և HT12D ՝ 433 մՀց հաճախությամբ ՝ 5 քայլ
ՌԴ 433MHZ ռադիոկառավարում ՝ օգտագործելով HT12D HT12E | Rf հեռակառավարման սարքի պատրաստում ՝ օգտագործելով HT12E և HT12D ՝ 433 մՀց հաճախականությամբ. HT12D ապակոդավորող IC: Այս հրահանգով դուք կարող եք ուղարկել և ստանալ տվյալներ ՝ օգտագործելով շատ էժան բաղադրիչներ, ինչպիսիք են ՝ HT
Վերահսկեք Arduino- ն ՝ օգտագործելով Telegram բոտը ՝ առանց որևէ լրացուցիչ սարքավորման. 5 քայլ
Կառավարեք Arduino- ն ՝ օգտագործելով Telegram Bot- ը ՝ առանց որևէ լրացուցիչ սարքավորման. Arduino- ի հետ կան բազմաթիվ բաներ, որոնք դուք կարող եք անել, բայց երբևէ մտածե՞լ եք, որ վերահսկեք ձեր Arduino- ն Telegram բոտի միջոցով: Ի՞ՆՉ ԿԱՐԻՔ ԿԱՐԻՔ ԱՀ Որոշ վերահսկելի սարք (Մենք օգտագործում ենք Arduino- ի ներկառուցված LED- ը
RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant: 12 Steps
RabbitPi - Alexa Enabled, IFTTT Connected, Ear -Wiggling IoT Assistant: Սա հնացած 2005 թվականի Nabaztag " խելացի նապաստակ " որ ես վերակառուցվել եմ ժամանակակից IoT օգնականի ՝ օգտագործելով Raspberry Pi 3 և Adafruit Motor HAT, վեբ -տեսախցիկի խոսափող և Philips Soundshooter բարձրախոս ՝ պարունակվող գեղեցիկ օրիգինալ պատյանում
BLE սարքից արժեքներ կարդալը ՝ օգտագործելով CSR1010 և Dragonboard 410c: 6 քայլ
CSR1010- ի և Dragonboard 410c- ի միջոցով BLE սարքից արժեքներ կարդալը. Այս ձեռնարկը ցույց է տալիս, թե ինչպես կարելի է արժեքներ կարդալ BLE սարքից CSR1010- ով ՝ օգտագործելով Dragonboard 410c- ը Linaro- ի հետ: Այս օրինակում CSR1010- ը ընդօրինակում է սրտի բաբախման տվիչը