Orodha ya maudhui:

NakalaPlayBulb: REST PlayBulb iliyowezeshwa Kutumia Raspberry Pi 3, BLE na Telegram: Hatua 3
NakalaPlayBulb: REST PlayBulb iliyowezeshwa Kutumia Raspberry Pi 3, BLE na Telegram: Hatua 3

Video: NakalaPlayBulb: REST PlayBulb iliyowezeshwa Kutumia Raspberry Pi 3, BLE na Telegram: Hatua 3

Video: NakalaPlayBulb: REST PlayBulb iliyowezeshwa Kutumia Raspberry Pi 3, BLE na Telegram: Hatua 3
Video: Mipow PlayBulb Lite Edition BTL100S - Обзор музыкальной лампы 2024, Novemba
Anonim
TextPlayBulb: REST PlayBulb iliyowezeshwa Kutumia Raspberry Pi 3, BLE na Telegram
TextPlayBulb: REST PlayBulb iliyowezeshwa Kutumia Raspberry Pi 3, BLE na Telegram

Hii inaweza kufundishwa jinsi ya kuungana na taa ya LED ya PlayBulb ya Rangi ya Bluetooth ukitumia Python, Raspberry Pi 3 na maktaba ya Bluetooth na kupanua udhibiti kupitia REST API kwa hali ya IoT, na kama bouns, mradi pia unaonyesha jinsi ya kupanua REST API kudhibiti PlayBulb yako juu ya mteja wa maandishi ya IM mfano Telegram, kama vile kuzungumza na nyumba yako ya kiotomatiki kupitia maandishi.

Mradi huu umejengwa kwa moduli 3:

  1. pyBulbDriver: Unganisha kwenye PlayBulb kupitia BLE gatttool na chatu.
  2. pyBulbServer: Kutumia pyBulbDriver kufunua udhibiti wa balbu ya kucheza kupitia REST API.
  3. pyBulbMessenger: Kuunganisha kwenye bot ya telegram kutuma na kupokea amri kupitia mteja wa telegram iliyowekwa kwenye simu yoyote mahiri, na kutumia REST API kutoa amri kwa PlayBulb.

Unaweza kubuni mradi kupitia hazina ya git:

Lengo la Mradi:

Kuunda zana ya msingi ya kuingiliana na balbu yako kupitia njia tofauti kama vile kutuma ujumbe kwa sasa, matukio ya siku za usoni yanaweza kuhusisha amri za hotuba, ishara kwa taa … nk.

Rasilimali zingine zinazotumiwa kuunda hii inayoweza kufundishwa:

  • Itifaki ya Bluetooth ya PlayBulb:
  • Kuunganisha Python kwa Playbulb kupitia Bluetooth:
  • Kuanzisha bot ya telegram:

Mchango

pyBulbDriver imepanuliwa ili kubadilika zaidi na kuwekewa vigezo kwa urahisi wa ugani wa siku zijazo, ikijenga hali ya kukuruhusu kugombana na kutuma taa yako. Rahisi interface kwa kupima na kucheza karibu.

Kikomo

Dereva imeandikwa kwa Rangi ya PlayBulb, kwa aina zingine za PlayBulb k.v. Asili au mshumaa, nambari ya bluetooth katika pyBulbDriver inahitaji kubadilishwa kulingana na itifaki iliyotajwa hapo juu.

Unahitaji kusajili akaunti ya telegram, na upate kitufe cha api, ambacho unaongeza kwenye pyBulbMessenger.py, fuata usanidi wa bot ya telegram katika rasilimali za O ther.

Hatua ya 1: Kuanzisha Mradi

1. Kupata ufunguo wako wa API kutoka Telegram

> Fuata maagizo ya sasa kupata ufunguo wako wa API

> Ongeza ufunguo wako wa api kwa api inayobadilika katika pyBulbMessenger.py

2. Kuweka jina lako la PlayBulb katika pyBulbDriver

> Kwa gatttool kupata kifaa cha kuandika, weka jina la kifaa chako ili lichunguzwe kwa kutumia pyBulbDriver.scanForBulb ("PLAYBULB COLOR"). Mfano unaweza kupatikana katika pyBulbServer.py ili kuanzisha Seva yako ya REST

3. Kuanzisha mradi

> Unahitaji kuanza pyBulbServer.py kwanza, halafu ikifuatiwa na pyBulbMessenger.py kwa maandishi. Unaweza kujaribu amri za pyBulbServer ukitumia CURL.

4. Nyenzo Inahitajika:

> Raspberry Pi 3 na Rangi ya PlayBulb au Mshumaa wa PlayBulb

> Kufunga Telegram kwa Android au iOS

5. Ufungaji wa Rasberry Pi 3 LE Bluetooth:

www.elinux.org/RPi_Bluetooth_LE

Hatua ya 2: Kutembea Kupitia Nambari

pyBulbDriver.py

pyBulbDriver ina madarasa ya dereva ya kuunganisha kwenye PlayBulb kupitia BLE

pyBulbDriver inaweza kutumika pia kwa miradi mingine yoyote ya generic, kwani ina nambari tu ya kuchanganua na kuanzisha unganisho la playBulb.

API kuu za kiolesura cha Maombi ya Mtumiaji:

  • ScanForBulb (jina la jina: Kamba)> Kuchunguza PlayBulb au PlayBulbs kupitia jina la kifaa
  • setBulbColor (s: int, r: int, g: int, b: int)> Kufafanua mwangaza na rangi ya RGB (0 hadi 255)
  • setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Sawa na setBulbColor, lakini inajumuisha aina ya athari na kasi. Ili kujua zaidi angalia sehemu ya Athari za itifaki ya rangi

Katika darasa hili utapata pia njia zingine za wasaidizi zinazokusudiwa kuangalia uadilifu wa data na sio kwa kiolesura cha mtumiaji

  • kubadilishaRGBToHexaCmd (s, r, g, b)
  • convertIntToHex (nambari)
  • checkModeAndSpeed (mode, offbeat, onbeat)
  • hundiRGBInBounds (s, r, g, b)

pyBulbServer.py

pyBulbServer inafichua kiolesura cha Maombi ya Mtumiaji katika viungo vyenye kufurahisha kwa kutumia PUT na JSON kutuma na kupokea data kwa pyBulbDriver. Pia skanisho na uanzishaji wa unganisho la BLE hufanywa wakati seva imeamilishwa.

pyBulbResource (Rasilimali) hupiga simu kwenda kwa REST Server kwa kutumia rangi na athari kufafanua amri ya balbu.

Mfano wa kuamuru athari:

127.0.0.1 / bulb / athari

JSON POST> {data ':' {"s": 0, "r": 255, "g": 255, "b": 255, "m": 1, "on": 15, "off": 15 } '}

pyBulbMessenger.py

Mwishowe pyBulbMessenger inawajibika kwa kuingiza bot ya Telegram iliyounganishwa na mteja wako wa simu ya rununu. Kwa maelezo zaidi juu ya jinsi ya kusanidi na kuungana na hundi ya telegram https://www.instructables.com/id/Set-up-Telegram-Bo …….

cmdHandler (bot, sasisha) ni mahali ambapo maagizo ya maandishi yanafafanuliwa na kushikamana na PlayBulb kupitia API ya RESTful.

Hivi sasa mradi una maandishi tu, lengo lingine ni pia kutuma ujumbe wa sauti uliorekodiwa ambao utatumwa kwa kitambulisho cha hotuba ili kuamsha amri zingine (Hazijatekelezwa Bado).

Hatua ya 3: Hitimisho

Ubunifu wa usanifu wa sasa ulikuwa zaidi juu ya kurahisisha kuliko usumbufu. Bado inakosa muunganisho wa kikundi, pia matumizi zaidi kuhusu kutuma maandishi kwa balbu kwa amri moja kwa moja au mwingiliano wa kucheza bado iko chini ya utafiti.

Kwa kujisajili kwa git repo au kufuata, maelezo zaidi yatakuja kwenye visasisho hivi. Sababu ya mradi kama huo ilikuwa kuoanisha playbulb na kuunda kiolesura cha RESTful kwa urahisi wa maendeleo katika IoT (mtandao wa hali ya mambo) lakini pia kufungua nafasi ya kutumia njia tofauti kupitia telegram ya Mteja wa IM kama picha, sauti na Nakala ya kuingiliana na vifaa kutoka kwa mtazamo wa utafiti.

Ilipendekeza: