Съдържание:
Видео: TextPlayBulb: REST активиран PlayBulb с помощта на Raspberry Pi 3, BLE и Telegram: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Тази инструкция показва как да се свържете с Bluetooth LED лампа на PlayBulb Color с помощта на Python, библиотека Raspberry Pi 3 и Bluetooth и да разширите контролите чрез REST API за сценарий на IoT, а като стандарт, проектът също показва как да разширите REST API за управление на вашия PlayBulb през IM текстов клиент, напр Telegram, като например разговор с вашия автоматизиран дом чрез текст.
Този проект е изграден върху 3 модула:
- pyBulbDriver: Свържете се с PlayBulb чрез BLE gatttool и python.
- pyBulbServer: Използване на pyBulbDriver за излагане на контрола на playbulb чрез REST API.
- pyBulbMessenger: Свързване към телеграм бот за изпращане и получаване на команди чрез клиент за телеграма, инсталиран на всеки смартфон, и използване на REST API за издаване на команди към PlayBulb.
Можете да клонирате проекта чрез git хранилище:
Цел на проекта:
За да създадете основен инструмент за взаимодействие с вашата крушка чрез различни модалности, като например текстови съобщения за сега, бъдещите сценарии могат да включват речеви команди, жестове към лампата и т.н.
Други ресурси, използвани за създаването на тази инструкция:
- Цветен Bluetooth протокол на PlayBulb:
- Свързване на Python с Playbulb чрез Bluetooth:
- Настройка на телеграмния бот:
Принос
pyBulbDriver е разширен, за да бъде по -гъвкав и параметризиран за по -лесно бъдещо разширение, създавайки сценарий, който ви позволява да се занимавате с текстови съобщения на вашата лампа. Прост интерфейс за тестване и бъркане наоколо.
Ограничение
Драйверът е написан за PlayBulb Color, за други видове PlayBulb напр. Оригинален или свещ, кодът за bluetooth в pyBulbDriver трябва да се промени в съответствие с гореспоменатия протокол.
Трябва да регистрирате акаунт за телеграма и да получите api ключ, който добавяте в pyBulbMessenger.py, следвайте настройката на бота за телеграма в други ресурси.
Стъпка 1: Настройване на проекта
1. Получаване на вашия API ключ от Telegram
> Следвайте текущите инструкции, за да получите своя API ключ
> Добавете своя api ключ към променлива api в pyBulbMessenger.py
2. Задаване на вашето име на PlayBulb в pyBulbDriver
> За да може gatttool да намери записващото устройство, задайте името на вашето устройство да се сканира с помощта на pyBulbDriver.scanForBulb ("PLAYBULB COLOR"). Пример може да се намери в pyBulbServer.py за настройка на вашия REST сървър
3. За стартиране на проекта
> Първо трябва да стартирате pyBulbServer.py, а след това pyBulbMessenger.py за изпращане на текстови съобщения. Можете да тествате командите pyBulbServer с помощта на CURL.
4. Необходим материал:
> Raspberry Pi 3 и PlayBulb Color или PlayBulb Candle
> Инсталиране на Telegram за Android или iOS
5. Инсталиране на Rasberry Pi 3 LE Bluetooth:
www.elinux.org/RPi_Bluetooth_LE
Стъпка 2: Преминаване през кода
pyBulbDriver.py
pyBulbDriver съдържа класовете драйвери за свързване към PlayBulb чрез BLE
pyBulbDriver може да се използва и за всякакви други общи проекти, тъй като съдържа само кода за сканиране и настройване на връзки на playBulb.
Основните API за интерфейса на потребителското приложение:
- scanForBulb (име на устройство: Низ)> За сканиране за PlayBulb или PlayBulbs чрез името на устройството им
- setBulbColor (s: int, r: int, g: int, b: int)> За да определите стойностите на яркостта и цвета на RGB (от 0 до 255)
-
setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Подобно на setBulbColor, но включва вида на ефекта и скоростта. За да научите повече, проверете раздела за ефекти на цветовия протокол
В този клас ще намерите и други помощни методи, предназначени за проверка на целостта на данните, а не за потребителски интерфейс
- конвертира RGBToHexaCmd (s, r, g, b)
- convertIntToHex (номер)
- checkModeAndSpeed (режим, нестандартно, onbeat)
- проверява RGBInBounds (s, r, g, b)
pyBulbServer.py
pyBulbServer излага интерфейса на потребителското приложение в RESTful хипервръзки, използвайки PUT и JSON за изпращане и получаване на данни към pyBulbDriver. Също така сканирането и инициализирането на BLE връзката се извършва, когато сървърът е активиран.
pyBulbResource (Resource) канализира повикванията към REST сървъра, използвайки цвят и ефект, за да определи командата bulb.
Пример За командване на ефект:
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
И накрая, pyBulbMessenger е отговорен за свързването на Telegram бота, свързан към вашия клиент за смарт телефон на телеграма. За повече подробности относно начина на конфигуриране и свързване с бот на телеграма проверете
cmdHandler (бот, актуализация) е мястото, където текстовите команди са дефинирани и свързани към PlayBulb чрез API RESTful.
Понастоящем проектът има само текст, друга цел е също да се изпращат записани гласови съобщения, които биха били изпратени до разпознавател на реч, за да активира други команди (Все още не е изпълнено).
Стъпка 3: Заключение
Настоящият архитектурен дизайн е по -скоро опростяване, отколкото мащабируемост. Все още липсва групова свързаност, а още приложения, свързани с изпращане на текстови съобщения на крушката или за директно командване, или за игриво взаимодействие, все още се проучват.
Като се абонирате за git repo или следвате, ще получите повече подробности за тези актуализации. Причината за такъв проект беше да се свърже playBulb и да се създаде RESTful интерфейс за по -лесно развитие в IoT (сценарий на интернет на нещата), но и да се отвори възможността да се използват различни модалности чрез телеграмата на IM Client, като снимки, глас и текст за взаимодействие с уреди от изследователска гледна точка.
Препоръчано:
Направи си сам -- Как да си направим робот -паяк, който може да се контролира с помощта на смартфон с помощта на Arduino Uno: 6 стъпки
Направи си сам || Как да си направим робот -паяк, който може да се контролира с помощта на смартфон с помощта на Arduino Uno: Докато правите робот -паяк, човек може да научи толкова много неща за роботиката. В това видео ще ви покажем как да направите робот Spider, с който можем да управляваме с помощта на нашия смартфон (Androi
Управление на ESP8266 с помощта на приложението Telegram: 7 стъпки
Контролиране на ESP8266 с помощта на приложението Telegram: Хей, какво става, момчета! Akarsh тук от CETech. Чудили ли сте се някога за чат с вашите уреди през приложение за съобщения? Звучи странно, нали. Но днес ще направим нещо подобно на това. Не се притеснявайте, че не е нужно да купувате мобилни телефони
Мониторинг на ускорението с помощта на Raspberry Pi и AIS328DQTR с помощта на Python: 6 стъпки
Наблюдение на ускорението с помощта на Raspberry Pi и AIS328DQTR Използване на Python: Ускорението е ограничено, според мен според някои закони на физиката.- Тери Райли Гепардът използва невероятно ускорение и бързи промени в скоростта при преследване. Най -бързото същество на брега от време на време използва най -високото си темпо, за да хване плячка
Изградете дистанционно активиран разпръсквач с помощта на PiFace и Ubidots: 13 стъпки
Изградете дистанционно активирана пръскачка, използвайки PiFace и Ubidots: Това е готин пример, който ви учи как да използвате Raspberry Pi, PiFace и Ubidots, за да напоявате градината си от далеч. Ще можете да управлявате дистанционно електро-вентил, за да поливате растенията си от всяко място, само с помощта на телефона си
Управлявайте Arduino с помощта на Telegram Bot без допълнителен хардуер: 5 стъпки
Контролирайте Arduino с помощта на Telegram Bot без допълнителен хардуер: Има широк спектър от неща, които можете да правите с Arduino, но мислили ли сте някога да контролирате Arduino с помощта на бот Telegram? PC Някои контролируеми устройства (Използваме вградения светодиод на Arduino при