INHOUDSOPGAWE:

TextPlayBulb: REST -aangeskakel PlayBulb met behulp van Raspberry Pi 3, BLE en Telegram: 3 stappe
TextPlayBulb: REST -aangeskakel PlayBulb met behulp van Raspberry Pi 3, BLE en Telegram: 3 stappe

Video: TextPlayBulb: REST -aangeskakel PlayBulb met behulp van Raspberry Pi 3, BLE en Telegram: 3 stappe

Video: TextPlayBulb: REST -aangeskakel PlayBulb met behulp van Raspberry Pi 3, BLE en Telegram: 3 stappe
Video: Higurashi: When They Cry Tatarigoroshi, Livestream Part 3 2024, Julie
Anonim
TextPlayBulb: REST -aangeskakel PlayBulb met behulp van Raspberry Pi 3, BLE en Telegram
TextPlayBulb: REST -aangeskakel PlayBulb met behulp van Raspberry Pi 3, BLE en Telegram

Hierdie instruksies wys hoe u met 'n PlayBulb Color bluetooth LED -lamp kan koppel met behulp van Python, 'n Raspberry Pi 3 en Bluetooth -biblioteek en om die kontroles via 'n REST API uit te brei vir 'n IoT -scenario. REST API om u PlayBulb oor 'n IM -tekskliënt te beheer, bv Telegram, soos om met u outomatiese huis via teks te praat.

Hierdie projek is gebou op 3 modules:

  1. pyBulbDriver: Koppel aan die PlayBulb via BLE -gattool en python.
  2. pyBulbServer: Gebruik die pyBulbDriver om die speelbalbeheer via REST API bloot te stel.
  3. pyBulbMessenger: Koppel aan 'n telegrambot om opdragte te stuur en te ontvang via telegramkliënt wat op enige slimfoon geïnstalleer is, en gebruik die REST API om opdragte aan die PlayBulb uit te reik.

U kan die projek kloon via git repository:

Doel van die projek:

Om 'n basiese hulpmiddel te skep vir interaksie met u gloeilamp via verskillende modaliteite, soos vir eers sms'e, kan toekomstige scenario's spraakopdragte insluit, gebaar na die lamp … ens.

Ander hulpbronne wat gebruik word om hierdie instruksies te skep:

  • PlayBulb Color Bluetooth -protokol:
  • Koppel Python via Bluetooth aan Playbulb:
  • Die opstel van die telegram bot:

Bydrae

pyBulbDriver word uitgebrei om meer buigsaam en geparametreer te wees om die toekomstige uitbreiding makliker te maak, en skep 'n scenario waarmee u kan smeek met die stuur van 'n SMS na u lamp. Eenvoudige koppelvlak om te toets en te peuter.

Beperking

Die bestuurder is geskryf vir PlayBulb Color, vir ander soorte PlayBulb, bv. Die Bluetooth -kode in pyBulbDriver, oorspronklik of kers, moet verander word volgens die voormelde protokol.

U moet 'n telegramrekening registreer en 'n api -sleutel kry wat u by die pyBulbMessenger.py voeg, volg die opstel van die telegrambot in ander hulpbronne.

Stap 1: Die opstel van die projek

1. Kry u API -sleutel van Telegram

> Volg die huidige instruksies om u API-sleutel te kry

> Voeg u api -sleutel by veranderlike api in pyBulbMessenger.py

2. Stel u PlayBulb -naam in pyBulbDriver in

> Stel die toestel se naam in om deur die pyBulbDriver.scanForBulb ("PLAYBULB COLOR") geskandeer te word om die skryfinstrument te vind. Voorbeeld kan gevind word in pyBulbServer.py om u REST -bediener op te stel

3. Om die projek te begin

> U moet eers pyBulbServer.py begin, dan gevolg deur pyBulbMessenger.py vir die SMS. U kan die pyBulbServer -opdragte toets met behulp van CURL.

4. Benodigde materiaal:

> Raspberry Pi 3 en PlayBulb Color of PlayBulb Candle

> Installeer Telegram vir Android of iOS

5. Installasie van Rasberry Pi 3 LE Bluetooth:

www.elinux.org/RPi_Bluetooth_LE

Stap 2: Stap deur die kode

pyBulbDriver.py

pyBulbDriver bevat die bestuurderklasse om via BLE aan die PlayBulb te koppel

pyBulbDriver kan ook vir enige ander generiese projekte gebruik word, aangesien dit slegs die kode bevat om playBulb -verbindings te skandeer en op te stel.

Die belangrikste API's vir die gebruikerstoepassing -koppelvlak:

  • scanForBulb (toestelnaam: String)> Om na die PlayBulb of PlayBulbs te soek via hul toestelnaam
  • setBulbColor (s: int, r: int, g: int, b: int)> Om die helderheid en RGB -kleur (0 tot 255) waardes te definieer
  • setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Soortgelyk aan setBulbColor, maar bevat die tipe effek en spoed. Vir meer inligting, kyk na die kleurprotokol -effekte -afdeling

In hierdie klas vind u ook ander helpermetodes wat bedoel is vir die kontrole van data -integriteit en nie vir die gebruikerskoppelvlak nie

  • convertRGBToHexaCmd (s, r, g, b)
  • convertIntToHex (nommer)
  • checkModeAndSpeed (modus, offbeat, onbeat)
  • kontrole RGBInBounds (s, r, g, b)

pyBulbServer.py

pyBulbServer stel die gebruikerstoepassing -koppelvlak bloot in RESTful -hiperskakels met behulp van PUT en JSON om data na die pyBulbDriver te stuur en te ontvang. Die skandering en inisialisering van die BLE -verbinding word ook uitgevoer wanneer die bediener geaktiveer is.

pyBulbResource (Resource) kanaliseer die oproepe na die REST -bediener deur kleur en effek te gebruik om die gloeilampopdrag te definieer.

Voorbeeld Om 'n effek te beveel:

127.0.0.1/bulb/effect

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

pyBulbMessenger.py

Uiteindelik is pyBulbMessenger verantwoordelik vir die koppelvlak van die Telegram -bot wat gekoppel is aan u telegram -slimfoonkliënt. Raadpleeg https://www.instructables.com/id/Set-up-Telegram-Bo… vir meer besonderhede oor hoe om 'n telegram-bot op te stel en aan te sluit.

cmdHandler (bot, update) is waar die teksopdragte gedefinieer en met die PlayBulb verbind word via die RESTful API.

Die projek bevat tans slegs teks; 'n ander doel is om ook opgeneemde stemboodskappe te stuur wat na 'n spraakherkenning gestuur word om ander opdragte te aktiveer (nog nie geïmplementeer nie).

Stap 3: Gevolgtrekking

Die huidige argitektuurontwerp het meer gegaan oor vereenvoudiging as skaalbaarheid. Die groepverbindings ontbreek, en nog meer toepassings vir die stuur van sms -boodskappe na die gloeilamp, hetsy vir direkte opdrag of speelse interaksie, word nog ondersoek.

Deur in te teken op git repo of te volg, sal meer inligting oor hierdie opdaterings verskyn. Die rede vir so 'n projek was om die playBulb te koppel en 'n RESTful -koppelvlak te skep vir die gemak van ontwikkeling in 'n IoT (scenario van internet van dinge), maar ook om die kans oop te maak om verskillende modaliteite te gebruik via die IM Client -telegram, soos foto's, stem en teks uit interaksie met toestelle vanuit 'n navorsingsperspektief.

Aanbeveel: