INHOUDSOPGAWE:
Video: TextPlayBulb: REST -aangeskakel PlayBulb met behulp van Raspberry Pi 3, BLE en Telegram: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
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:
- pyBulbDriver: Koppel aan die PlayBulb via BLE -gattool en python.
- pyBulbServer: Gebruik die pyBulbDriver om die speelbalbeheer via REST API bloot te stel.
- 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:
Beheer van ESP8266 met behulp van die Telegram -app: 7 stappe
Beheer ESP8266 met behulp van die Telegram -app: Hey, wat gaan aan, ouens! Akarsh hier van CETech af. Het u al ooit daaroor gewonder om met u toestelle te gesels oor 'n boodskapprogram? Klink vreemd, reg. Maar vandag gaan ons iets soortgelyk aan dit doen. Moenie bekommerd wees nie, u hoef nie selfone te koop nie
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: 4 stappe
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: Hallo, ek is Rithik. Ons gaan 'n internetbeheerde LED maak met u telefoon. Ons gaan sagteware soos Arduino IDE en Blynk gebruik. Dit is eenvoudig, en as u daarin geslaag het, kan u soveel elektroniese komponente beheer as wat u wil
Monitor versnelling met behulp van Raspberry Pi en AIS328DQTR met behulp van Python: 6 stappe
Monitering van versnelling met behulp van Raspberry Pi en AIS328DQTR Gebruik van Python: Versnelling is eindig, volgens ek volgens sommige wette van die fisika.- Terry Riley 'n Jagluiperd gebruik ongelooflike versnelling en vinnige spoedveranderinge wanneer hy jaag. Die vinnigste wesens aan wal gebruik af en toe sy hoogste tempo om prooi te vang. Die
Beheer Arduino met behulp van Telegram Bot sonder enige ekstra hardeware: 5 stappe
Beheer Arduino met behulp van Telegram Bot sonder ekstra hardeware: daar is 'n wye verskeidenheid dinge wat u met Arduino kan doen, maar het u ooit daaraan gedink om u Arduino te beheer met 'n Telegram bot? WAT U NODIG HET: Arduino UNO Node.js geïnstalleer op u PC 'n Beheerbare toestel (ons gebruik die ingeboude LED van Arduino op
Hoe om van 0 tot 99 te tel met behulp van 8051 mikrobeheerder met 7 segmentweergawe: 5 stappe (met foto's)
Hoe om van 0 tot 99 te tel Met behulp van 8051 mikrobeheerder met 7 -segmentweergawe: Hallo almal, in hierdie tutoriaal gaan ons u vertel hoe om van 0 tot 99 te tel met twee 7 -segment -skerms