Taula de continguts:
Vídeo: TextPlayBulb: REST habilitat PlayBulb mitjançant Raspberry Pi 3, BLE i Telegram: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Aquest instructiu mostra com connectar-se a una làmpada LED Bluetooth de PlayBulb Color mitjançant Python, una biblioteca Raspberry Pi 3 i Bluetooth i estendre els controls mitjançant una API REST per a un escenari IoT i, com a rebots, el projecte també mostra com ampliar el API REST per controlar el vostre PlayBulb sobre un client de text de missatgeria instantània, per exemple Telegram, com ara parlar amb la vostra llar automatitzada mitjançant text.
Aquest projecte es basa en 3 mòduls:
- pyBulbDriver: connecteu-vos a PlayBulb mitjançant el gatttool BLE i el python.
- pyBulbServer: utilitzant pyBulbDriver per exposar el control de la bombeta mitjançant l'API REST.
- pyBulbMessenger: connectar-se a un bot de telegrama per enviar i rebre ordres mitjançant un client de telegrama instal·lat a qualsevol telèfon intel·ligent i utilitzar l'API REST per emetre ordres a PlayBulb.
Podeu clonar el projecte mitjançant el repositori git:
Objectiu del projecte:
Per crear una eina base per interactuar amb la bombeta a través de diferents modalitats, com ara enviar missatges de text, els escenaris futurs podrien implicar ordres de veu, fer gestos cap a la llum … etc.
Altres recursos utilitzats per crear aquesta instrucció:
- Protocol Bluetooth de color PlayBulb:
- Connexió de Python a Playbulb mitjançant Bluetooth:
- Configuració del bot de telegrama:
Contribució
pyBulbDriver s’estén per ser més flexible i parametritzat per facilitar la futura extensió, creant un escenari que us permetrà jugar amb missatges de text a la llum. Interfície senzilla per provar i jugar.
Limitació
El controlador està escrit per a PlayBulb Color, per a altres tipus de PlayBulb, per exemple. Original o espelma, el codi bluetooth de pyBulbDriver ha de canviar segons el protocol esmentat.
Heu de registrar un compte de telegrama i obtenir una clau API, que afegiu a pyBulbMessenger.py, seguiu la configuració del bot de telegrama en altres recursos.
Pas 1: Configuració del projecte
1. Obtenir la clau API de Telegram
> Seguiu la instrucció actual per obtenir la vostra clau d'API
> Afegiu la vostra clau API a API variable a pyBulbMessenger.py
2. Configuració del nom de PlayBulb a pyBulbDriver
> Perquè el gatttool trobi el dispositiu d'escriptura, configureu el nom del dispositiu perquè s'escanegi amb pyBulbDriver.scanForBulb ("PLAYBULB COLOR"). Es pot trobar un exemple a pyBulbServer.py per configurar el servidor REST
3. Per iniciar el projecte
> Primer heu d'iniciar pyBulbServer.py, després, seguit de pyBulbMessenger.py per enviar missatges de text. Podeu provar les ordres pyBulbServer mitjançant CURL.
4. Material necessari:
> Raspberry Pi 3 i PlayBulb Color o PlayBulb Candle
> Instal·lació de Telegram per a Android o iOS
5. Instal·lació de Rasberry Pi 3 LE Bluetooth:
www.elinux.org/RPi_Bluetooth_LE
Pas 2: caminar pel codi
pyBulbDriver.py
pyBulbDriver conté les classes de controladors per connectar-se a PlayBulb mitjançant BLE
pyBulbDriver es pot utilitzar també per a qualsevol altre projecte genèric, ja que només conté el codi per escanejar i configurar connexions de playBulb.
Les principals API per a la interfície d'aplicació d'usuari:
- scanForBulb (devicename: String)> Per cercar PlayBulb o PlayBulbs mitjançant el nom del dispositiu
- setBulbColor (s: int, r: int, g: int, b: int)> Per definir els valors de brillantor i color RGB (0 a 255)
-
setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Semblant a setBulbColor, però inclou el tipus d’efecte i velocitat. Per obtenir més informació, consulteu la secció Efectes del protocol de color
En aquesta classe també trobareu altres mètodes auxiliars destinats a la comprovació de la integritat de les dades i no a la interfície d'usuari
- convertRGBToHexaCmd (s, r, g, b)
- convertIntToHex (número)
- checkModeAndSpeed (mode, desactivat, onbeat)
- checksRGBInBounds (s, r, g, b)
pyBulbServer.py
pyBulbServer exposa la interfície de l'aplicació d'usuari en hipervincles RESTful mitjançant PUT i JSON per enviar i rebre dades al pyBulbDriver. També l'escaneig i la inicialització de la connexió BLE es realitzen quan s'activa el servidor.
pyBulbResource (Recurs) canalitza les trucades al servidor REST mitjançant el color i l’efecte per definir l’ordre bombeta.
Exemple Per comandar un efecte:
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
Finalment, pyBulbMessenger s’encarrega de la interfície del bot de Telegram connectat al vostre client de telèfons intel·ligents. Per obtenir més informació sobre com configurar i connectar-se a un bot de telegrama, consulteu
cmdHandler (bot, actualització) és on es defineixen les ordres de text i es connecten a PlayBulb mitjançant l'API RESTful.
Actualment el projecte només té text, un altre objectiu és enviar també missatges de veu gravats que s'enviarien a un reconeixedor de veu per activar altres ordres (encara no implementades).
Pas 3: Conclusió
El disseny arquitectònic actual tractava més de la simplificació que de l’escalabilitat. Encara falta la connectivitat de grup, encara s’estan investigant més aplicacions relacionades amb l’enviament de missatges de text a la bombeta per a una ordre directa o una interacció lúdica.
Si us subscriviu a git repo o seguiu aquests detalls, es proporcionaran més detalls sobre aquestes actualitzacions. El motiu d’aquest projecte va ser la interfície de playBulb i la creació d’una interfície RESTful per facilitar el desenvolupament en un IoT (escenari d’internet de les coses), però també per obrir la possibilitat d’utilitzar diferents modalitats mitjançant el telegrama del client de missatgeria instantània, com ara imatges, veu i text per interactuar amb els electrodomèstics des de la perspectiva de la investigació.
Recomanat:
Com fer un robot de combat (per a qualsevol nivell d’habilitat): 8 passos
Com fer un robot de combat (per a qualsevol nivell d’habilitat): en iniciar la robòtica de combat, vaig trobar que no hi havia cap " pas a pas " El robot de combat ha estat construït de manera exhaustiva, de manera que després de fer moltes investigacions a Internet, vaig decidir compilar-ne alguns per crear una guia per fabricar un robot de combat perquè algú
IoT APIS V2: sistema de reg de plantes automatitzat habilitat per IoT autònom: 17 passos (amb imatges)
IoT APIS V2 - Sistema de reg de plantes automatitzat habilitat per l'IoT: aquest projecte és una evolució de la meva instrucció anterior: APIS - Sistema de reg de plantes automatitzat Fa gairebé un any que utilitzo APIS i volia millorar el disseny anterior: supervisar la planta remotament. Així és com
Mesurador de VU analògic habilitat per Bluetooth: 6 passos
Mesurador de VU analògic habilitat per Bluetooth: aquest era el meu projecte per a una de les meves classes universitàries anomenada SMP. Mentre utilitzàvem la placa de desenvolupament STM32F103RB, vaig basar el meu projecte en això, partint d’un simple mesurador de VU. A continuació, he afegit algunes funcions addicionals com el suport de Bluetooth per emetre va
Control remot habilitat per Alexa (mitjançant WEMO D1 Mini): 3 passos
Control remot habilitat per Alexa (amb WEMO D1 Mini): es tracta d’una versió actualitzada d’una publicació anterior: https: //www.instructables.com/id/Voice-Activated-R … A la versió anterior, utilitzava un Geetech mòdul de veu per controlar un comandament a distància obertor de porta de garatge normal. En aquest instructiu he substituït el vo
Botó Ascensor habilitat per Alexa: 4 passos
Botó d'ascensor habilitat per Alexa: el mètode d'aquesta instrucció es pot utilitzar per a qualsevol botó, però en aquest cas tenim un ascensor al qual volem trucar mitjançant Amazon Alexa. Tinc una instrucció prèvia on utilitzava un solenoide controlat per Alexa per fer el mateix, però