Indholdsfortegnelse:
Video: TextPlayBulb: REST aktiveret PlayBulb ved hjælp af Raspberry Pi 3, BLE og Telegram: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Denne instruktør viser, hvordan man opretter forbindelse til en PlayBulb Color bluetooth LED -lampe ved hjælp af Python, et Raspberry Pi 3 og Bluetooth -bibliotek og udvider kontrollerne via en REST API til et IoT -scenario, og som en afvisning viser projektet også, hvordan man kan udvide REST API til at styre din PlayBulb over en IM -tekstklient f.eks Telegram, såsom at tale til dit automatiserede hjem via tekst.
Dette projekt er bygget på 3 moduler:
- pyBulbDriver: Opret forbindelse til PlayBulb via BLE gatttool og python.
- pyBulbServer: Brug af pyBulbDriver til at afsløre playbulb -kontrollen via REST API.
- pyBulbMessenger: Opretter forbindelse til en telegrambot for at sende og modtage kommandoer via telegramklient installeret på en hvilken som helst smarttelefon og ved hjælp af REST API til at udstede kommandoer til PlayBulb.
Du kan klone projektet via git repository:
Projektets mål:
For at oprette et basisværktøj til interaktion med din pære via forskellige modaliteter som f.eks. Sms'er i øjeblikket, kan fremtidsscenarier involvere talekommandoer, gestikulere til lampen … osv.
Andre ressourcer, der bruges til at oprette denne instruerbare:
- PlayBulb Color Bluetooth -protokol:
- Tilslutning af Python til Playbulb via Bluetooth:
- Opsætning af telegramboten:
Bidrag
pyBulbDriver er udvidet til at være mere fleksibel og parameteriseret for at lette fremtidig forlængelse og opbygger et scenarie, så du kan bøvle med at sms'e din lampe. Enkel grænseflade til test og fiddle rundt.
Begrænsning
Driveren er skrevet til PlayBulb Color, til andre typer PlayBulb f.eks. Original eller stearinlys, Bluetooth -koden i pyBulbDriver skal ændres i henhold til den førnævnte protokol.
Du skal registrere en telegramkonto og få en api -nøgle, som du tilføjer i pyBulbMessenger.py, følg opsætningen af telegramboten i andre ressourcer.
Trin 1: Opsætning af projektet
1. Hentning af din API -nøgle fra Telegram
> Følg den nuværende instruks for at få din API-nøgle
> Tilføj din api -nøgle til variabel api i pyBulbMessenger.py
2. Indstilling af dit PlayBulb -navn i pyBulbDriver
> For at gatttoolet kan finde skriveenheden, skal du indstille dit enhedsnavn til at blive scannet ved hjælp af pyBulbDriver.scanForBulb ("PLAYBULB COLOR"). Eksempel findes i pyBulbServer.py for at konfigurere din REST -server
3. At starte projektet
> Du skal starte pyBulbServer.py først, derefter efterfulgt af pyBulbMessenger.py til sms’en. Du kan teste pyBulbServer -kommandoerne ved hjælp af CURL.
4. Nødvendigt materiale:
> Raspberry Pi 3 og PlayBulb Color eller PlayBulb Candle
> Installation af Telegram til Android eller iOS
5. Installation af Rasberry Pi 3 LE Bluetooth:
www.elinux.org/RPi_Bluetooth_LE
Trin 2: Gå gennem koden
pyBulbDriver.py
pyBulbDriver indeholder driverklasser til forbindelse til PlayBulb via BLE
pyBulbDriver kan også bruges til alle andre generiske projekter, da den kun indeholder koden til at scanne og konfigurere playBulb -forbindelser.
De vigtigste API'er til brugerapplikationsgrænseflade:
- scanForBulb (enhedsnavn: String)> At scanne efter PlayBulb eller PlayBulbs via deres enhedsnavn
- setBulbColor (s: int, r: int, g: int, b: int)> For at definere værdierne for lysstyrke og RGB -farve (0 til 255)
-
setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Ligner setBulbColor, men inkluderer typen af effekt og hastighed. For at vide mere, tjek afsnittet Effekter i farveprotokol
I denne klasse finder du også andre hjælpermetoder beregnet til dataintegritetskontrol og ikke til brugergrænseflade
- convertRGBToHexaCmd (s, r, g, b)
- convertIntToHex (tal)
- checkModeAndSpeed (tilstand, offbeat, onbeat)
- checksRGBInBounds (s, r, g, b)
pyBulbServer.py
pyBulbServer udsætter brugerapplikationsgrænsefladen for RESTful -hyperlinks ved hjælp af PUT og JSON til at sende og modtage data til pyBulbDriver. Også scanningen og initialiseringen af BLE -forbindelsen foretages, når serveren aktiveres.
pyBulbResource (ressource) kanaliserer opkaldene til REST -serveren ved hjælp af farve og effekt til at definere pærekommandoen.
Eksempel Til kommando af en effekt:
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
Endelig er pyBulbMessenger ansvarlig for grænsefladen mellem Telegram -botten, der er forbundet til din telegram -smarttelefonklient. For flere detaljer om, hvordan du konfigurerer og opretter forbindelse til en telegram bot, tjek
cmdHandler (bot, opdatering) er, hvor tekstkommandoerne er defineret og forbundet til PlayBulb via RESTful API.
I øjeblikket har projektet kun tekst, et andet mål er også at sende indspillede talemeddelelser, der ville blive sendt til en talegenkender for at aktivere andre kommandoer (ikke implementeret endnu).
Trin 3: Konklusion
Det nuværende arkitekturdesign handlede mere om forenkling end skalerbarhed. Stadig manglende gruppeforbindelse, også flere applikationer vedrørende sms'er til pæren enten til lige kommando eller legende interaktion er stadig under forskning.
Ved at abonnere på git repo eller følge vil der komme flere detaljer om disse opdateringer. Grunden til et sådant projekt var at interface playBulb og oprette en RESTful -grænseflade for nem udvikling i et IoT (internet of things -scenario), men også for at åbne chancen for at bruge forskellige modaliteter via IM Client -telegrammet såsom billeder, stemme og tekst for at interagere med apparater fra et forskningsperspektiv.
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: 4 trin
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: Hej, jeg er Rithik. Vi kommer til at lave en internetstyret LED ved hjælp af din telefon. Vi kommer til at bruge software som Arduino IDE og Blynk.Det er enkelt, og hvis det lykkedes dig, kan du styre så mange elektroniske komponenter, du ønskerTing We Need: Hardware:
Alexa -aktiveret fjernbetjening (ved hjælp af WEMO D1 Mini): 3 trin
Alexa-aktiveret fjernbetjening (ved hjælp af WEMO D1 Mini): Dette er en opdateret version af et tidligere indlæg: https: //www.instructables.com/id/Voice-Activated-R…I den tidligere version brugte jeg en Geetech talemodul til styring af en almindelig fjernbetjening til garageportåbnere. I denne instruktive har jeg erstattet vo
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT