Obsah:
Video: TextPlayBulb: REST povolený PlayBulb pomocou Raspberry Pi 3, BLE a Telegram: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
Tento návod ukazuje, ako sa pripojiť k bluetooth LED žiarovke PlayBulb Color pomocou systému Python, knižnice Raspberry Pi 3 a rozhrania Bluetooth a ako rozšíriť ovládanie pomocou rozhrania REST API pre scenár IoT a ako projekt tiež ukáže, ako rozšíriť REST API na ovládanie vášho PlayBulbu cez textového klienta IM, napr Telegram, ako napríklad rozprávanie sa s vašim automatizovaným domovom prostredníctvom textu.
Tento projekt je postavený na 3 moduloch:
- pyBulbDriver: Pripojte sa k PlayBulb prostredníctvom BLE gatttool a pythonu.
- pyBulbServer: Použitie programu pyBulbDriver na odhalenie ovládacieho prvku žiarovky pomocou rozhrania REST API.
- pyBulbMessenger: Pripojenie k telegramovému robotovi na odosielanie a prijímanie príkazov prostredníctvom telegramového klienta nainštalovaného na akomkoľvek inteligentnom telefóne a používanie rozhrania REST API na vydávanie príkazov pre PlayBulb.
Projekt môžete klonovať prostredníctvom úložiska git:
Cieľ projektu:
Na vytvorenie základného nástroja na interakciu s vašou žiarovkou rôznymi spôsobmi, ako je napríklad textové správy, by budúce scenáre mohli zahŕňať hlasové príkazy, gestá smerom k žiarovke … atď.
Ďalšie zdroje použité na vytvorenie tohto pokynu:
- Protokol Bluetooth PlayBulb Color:
- Pripojenie Pythonu k Playbulbu prostredníctvom Bluetooth:
- Nastavenie telegramového robota:
Príspevok
Program pyBulbDriver je rozšírený tak, aby bol flexibilnejší a parametrizovateľnejší pre uľahčenie budúceho rozšírenia, a vytvára scenár, ktorý vám umožní manipulovať s textovými správami žiarovky. Jednoduché rozhranie na testovanie a hranie sa.
Obmedzenie
Ovládač je napísaný pre PlayBulb Color, pre ostatné typy PlayBulb napr. Pôvodný alebo sviečkový kód bluetooth v programe pyBulbDriver je potrebné zmeniť podľa vyššie uvedeného protokolu.
Musíte si zaregistrovať telegramový účet a získať api kľúč, ktorý pridáte do súboru pyBulbMessenger.py, postupujte podľa nastavenia telegramového robota v iných zdrojoch.
Krok 1: Nastavenie projektu
1. Získanie kľúča API od Telegramu
> Postupujte podľa aktuálnych pokynov a získajte kľúč API
> Pridajte svoj kľúč API do premennej api v pyBulbMessenger.py
2. Nastavenie názvu PlayBulb v programe pyBulbDriver
> Aby gatttool našiel zapisovacie zariadenie, nastavte názov svojho zariadenia na skenovanie pomocou pyBulbDriver.scanForBulb ("FARBA PLAYBULB"). Príklad na nastavenie servera REST nájdete na stránke pyBulbServer.py
3. Spustenie projektu
> Najprv musíte spustiť pyBulbServer.py, potom nasleduje pyBulbMessenger.py na odosielanie textových správ. Príkazy pyBulbServer môžete otestovať pomocou CURL.
4. Potrebný materiál:
> Raspberry Pi 3 a sviečka PlayBulb Color alebo PlayBulb
> Inštalácia Telegramu pre Android alebo iOS
5. Inštalácia Rasberry Pi 3 LE Bluetooth:
www.elinux.org/RPi_Bluetooth_LE
Krok 2: Prechádzka kódom
pyBulbDriver.py
pyBulbDriver obsahuje triedy ovládačov na pripojenie k PlayBulb prostredníctvom BLE
Program pyBulbDriver je možné použiť aj pre akékoľvek iné generické projekty, pretože obsahuje iba kód na skenovanie a nastavenie pripojení PlayBulb.
Hlavné rozhrania API pre rozhranie používateľskej aplikácie:
- scanForBulb (názov zariadenia: reťazec)> Ak chcete vyhľadať PlayBulb alebo PlayBulbs podľa názvu zariadenia
- setBulbColor (s: int, r: int, g: int, b: int)> Na definovanie hodnôt jasu a farby RGB (0 až 255)
-
setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Podobné ako setBulbColor, ale zahŕňa typ efektu a rýchlosť. Ak sa chcete dozvedieť viac, pozrite sa do časti Efekty farebného protokolu
V tejto triede nájdete aj ďalšie pomocné metódy určené na kontrolu integrity údajov, a nie na používateľské rozhranie
- convertRGBToHexaCmd (s, r, g, b)
- convertIntToHex (číslo)
- checkModeAndSpeed (režim, offbeat, onbeat)
- kontrolyRGBInBounds (s, r, g, b)
pyBulbServer.py
pyBulbServer sprístupňuje rozhranie užívateľskej aplikácie RESTful hypertextovým odkazom pomocou PUT a JSON na odosielanie a prijímanie údajov do pyBulbDriver. Keď je server aktivovaný, prebieha aj skenovanie a inicializácia pripojenia BLE.
pyBulbResource (zdroj) smeruje hovory na server REST pomocou farby a efektu na definovanie príkazu bulb.
Príklad na ovládanie efektu:
127.0.0.1/bulb/effect
POSTUP JSON> {data ':' {"s": 0, "r": 255, "g": 255, "b": 255, "m": 1, "zapnuté": 15, "vypnuté": 15 } '}
pyBulbMessenger.py
Nakoniec pyBulbMessenger je zodpovedný za prepojenie telegramového robota pripojeného k vášmu telegramovému klientovi inteligentného telefónu. Ďalšie podrobnosti o konfigurácii a pripojení k telegramovému robotovi nájdete na stránke
cmdHandler (robot, aktualizácia) je miesto, kde sú textové príkazy definované a pripojené k PlayBulb prostredníctvom rozhrania RESTful API.
V súčasnosti má projekt iba text. Ďalším cieľom je tiež odoslať nahraté hlasové správy, ktoré by boli odoslané do rozpoznávača reči, aby sa aktivovali ďalšie príkazy (zatiaľ nie je implementované).
Krok 3: Záver
Súčasný návrh architektúry bol viac o zjednodušení než o škálovateľnosti. Stále chýba skupinová konektivita a ďalšie aplikácie týkajúce sa odosielania textových správ žiarovke, či už ide o priamy príkaz alebo hravú interakciu, sa stále skúmajú.
Prihlásením sa na odber git repo alebo sledovaním týchto nových aktualizácií získate ďalšie podrobnosti. Dôvodom pre takýto projekt bolo prepojenie zariadenia playBulb a vytvorenie RESTful rozhrania na uľahčenie vývoja v oblasti internetu vecí (scenár internetu vecí), ale aj otvorenie možnosti používať rôzne modality prostredníctvom telegramu klienta IM, ako sú obrázky, hlas a text na interakciu so zariadeniami z hľadiska výskumu.
Odporúča:
Ovládanie LED pomocou asistenta Google pomocou Raspberry Pi: 3 kroky
Ovládanie LED pomocou Asistenta Google pomocou Raspberry Pi: Hej! V tomto projekte implementujeme ovládanie LED pomocou Asistenta Google pomocou Raspberry Pi 4 pomocou HTTP v Pythone. LED diódu môžete nahradiť žiarovkou (samozrejme nie doslova, medzi tým budete potrebovať reléový modul) alebo iným domácim zariadením
Minimalistický indikátor bicykla, povolený dotykom!: 10 krokov (s obrázkami)
Minimalistický indikátor bicykla, povolený dotykom!: Dobrý deň! Toto je môj prvý návod. Vždy som chcel robiť veci od nuly, aby som zistil, ako to funguje a kto nemá rád veci typu „urob si sám“, keď môžeš niečo upraviť podľa svojich potrieb, však? Rovnako zaujímavé ako DIY m
Ovládanie vedené po celom svete pomocou internetu pomocou Arduina: 4 kroky
Ovládajte celý svet pomocou internetu pomocou Arduina: Ahoj, som Rithik. Vyrobíme LED diódu ovládanú internetom pomocou vášho telefónu. Budeme používať softvér ako Arduino IDE a Blynk. Je to jednoduché a ak sa vám to podarí, môžete ovládať ľubovoľný počet elektronických komponentov. Potrebujeme: Hardvér:
Výroba hodín pomocou M5stick C pomocou Arduino IDE - Hodiny RTC v reálnom čase s M5stack M5stick-C: 4 kroky
Výroba hodín pomocou M5stick C pomocou Arduino IDE | Hodiny RTC v reálnom čase s M5stack M5stick-C: Ahoj chlapci, v tomto návode sa naučíme, ako vyrobiť hodiny s vývojovou doskou m5stick-C m5stack pomocou Arduino IDE. Takže m5stick zobrazí dátum, čas a týždeň v mesiaci na displeji
Moje autorádio - povolený iPod: 8 krokov
My Car Stereo - Ipod Enabled: Láskavo Poznámka: Robte to na svoje vlastné riziko, je pravdepodobné, že by ste mohli pokaziť svoj iPod a autorádio. Ako si môžete urobiť zvuk do auta, Ipod povolený, mám audio do auta Pioneer a Ipod Mini. Potrebujete audio káble a stereo 2 mono kolíky