Мазмұны:
Бейне: TextPlayBulb: Raspberry Pi 3, BLE және Telegram көмегімен REST қосылған PlayBulb: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Бұл нұсқаулықта Python, Raspberry Pi 3 және Bluetooth кітапханасының көмегімен PlayBulb Color bluetooth LED шамына қосылу және IoT сценарийі үшін басқару элементтерін REST API арқылы кеңейту әдісі көрсетілген. REST API сіздің PlayBulb -ті жылдам мәтіндік клиент арқылы басқаруға мүмкіндік береді, мысалы Telegram, мысалы, сіздің автоматтандырылған үйіңізбен мәтін арқылы сөйлесу.
Бұл жоба 3 модульге негізделген:
- pyBulbDriver: PlayBulb -ке BLE gatttool және python арқылы қосылыңыз.
- pyBulbServer: pyBulbDriver көмегімен REST API арқылы ойнау шамдарын басқару үшін.
- pyBulbMessenger: кез келген смартфонға орнатылған телеграммалық клиент арқылы пәрмендерді жіберу және алу үшін телеграмма ботына қосылу және REST API көмегімен PlayBulb командасын беру.
Сіз жобаны git репозиторийі арқылы клондай аласыз:
Жобаның мақсаты:
Лампамен әр түрлі тәсілдермен өзара әрекеттесудің негізгі құралын жасау үшін, мысалы, мәтіндік хабарлама жіберу, болашақ сценарийлерде сөйлеу командалары, шамды ымдау … болуы мүмкін.
Бұл нұсқаулықты жасау үшін пайдаланылатын басқа ресурстар:
- PlayBulb түсті Bluetooth протоколы:
- Python-ды Bluetooth арқылы Playbulb-ке қосу:
- Telegram ботын орнату:
Үлес
pyBulbDriver икемді және болашақта кеңейту үшін параметрлерге бейімделіп, шамға мәтінмен скрипка жасауға мүмкіндік беретін сценарий құрады. Тексеруге және айналдыруға арналған қарапайым интерфейс.
Шектеу
Драйвер PlayBulb Color үшін жазылған, басқа PlayBulb түрлері үшін, мысалы. Түпнұсқа немесе шам, bluetooth кодын pyBulbDriver жоғарыда аталған хаттамаға сәйкес өзгертуі керек.
Сізге жеделхат тіркелгісін тіркеу және pyBulbMessenger.py файлына қосылатын api кілтін алу қажет, басқа ресурстарда телеграмма ботын реттеуді орындаңыз.
1 -қадам: Жобаны орнату
1. Telegram -дан API кілтін алу
> API кілтін алу үшін ағымдағы нұсқаулықты орындаңыз
> apB кілтін pyBulbMessenger.py ішіндегі айнымалы api -ге қосыңыз
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 шамы
> Android немесе iOS үшін Telegram орнату
5. Rasberry Pi 3 LE Bluetooth орнату:
www.elinux.org/RPi_Bluetooth_LE
2 -қадам: Кодексте жүру
pyBulbDriver.py
pyBulbDriver PlayBulb -ке BLE арқылы қосылуға арналған драйвер сыныптарын қамтиды
pyBulbDriver кез келген басқа жалпы жобалар үшін де қолданыла алады, себебі онда тек playBulb қосылымдарын сканерлеуге және орнатуға арналған код бар.
Қолданушы интерфейсінің негізгі API интерфейсі:
- scanForBulb (құрылғы атауы: String)> 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 -ге ұқсас, бірақ әсер мен жылдамдық түрін қамтиды. Қосымша ақпарат алу үшін түс протоколының әсерлері бөлімін қараңыз
Бұл сыныпта сіз пайдаланушы интерфейсіне емес, деректердің тұтастығын тексеруге арналған басқа көмекші әдістерді таба аласыз
- convertRGBToHexaCmd (s, r, g, b)
- convertIntToHex (сан)
- checkModeAndSpeed (режим, керемет, біркелкі)
- checksRGBInBounds (s, r, g, b)
pyBulbServer.py
pyBulbServer pyBulbDriver -ге деректерді жіберу және алу үшін PUT және JSON көмегімен User Application интерфейсін RESTful гиперсілтемелеріне шығарады. Сондай -ақ, BLE қосылымын сканерлеу және инициализациялау сервер іске қосылған кезде жасалады.
pyBulbResource (Ресурс) шамдар командасын анықтау үшін түс пен әсерді қолдана отырып, REST серверіне қоңырауларды жібереді.
Мысал эффектіні басқару үшін:
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 смартфон клиентіне қосылған Telegram ботын байланыстыруға жауапты. Телеграм ботқа қалай конфигурациялау және қосылу туралы толығырақ ақпарат алу үшін https://www.instructables.com/id/Set-up-Telegram-Bo… қараңыз.
cmdHandler (бот, жаңарту) - бұл жерде мәтіндік командалар анықталады және RESTful API арқылы PlayBulb -қа қосылады.
Қазіргі уақытта жобада тек мәтін бар, басқа мақсат - басқа командаларды іске қосу үшін сөйлеуді танушыға жіберілетін жазылған дауыстық хабарларды жіберу (әзірге орындалмаған).
3 -қадам: Қорытынды
Қазіргі архитектуралық дизайн масштабталудан гөрі жеңілдетуге қатысты болды. Топтық байланыс әлі де жоқ, сонымен қатар шамға мәтінді жіберуге немесе тікелей командаға немесе ойынға әсер етуге арналған қосымша қосымшалар әлі де зерттелуде.
Гит репоға жазылу немесе келесіге жазылу арқылы бұл жаңартулар туралы толығырақ ақпарат болады. Мұндай жобаның себебі - playBulb интерфейсін құру және IoT -те (Интернет сценарийі) дамудың қарапайымдылығы үшін RESTful интерфейсін құру, сонымен қатар IM Client телеграммасы арқылы суреттерді, дауысты және зерттеу тұрғысынан құрылғылармен өзара әрекеттесуге арналған мәтін.
Ұсынылған:
Hologram Nova және Ubidots көмегімен қосылған шешімдерді қосыңыз және жаңартыңыз: 9 қадам
Hologram Nova және Ubidots көмегімен қосылған шешімдерді қосыңыз және жаңартыңыз: инфрақұрылымды жаңарту үшін голограмманы қолданыңыз. Ubidots -қа деректерді (температура) жіберу үшін Raspberry Pi көмегімен Hologram Nova орнатыңыз. Келесі нұсқаулықта Ubidots Raspberry Pi көмегімен голограмма Нованы қалай орнату керектігін көрсетеді
MPL3115A2 көмегімен Raspberry Pi көмегімен биіктік, қысым және температура: 6 қадам
MPL3115A2 көмегімен Raspberry Pi көмегімен биіктік, қысым мен температура: қызықты естіледі. Барлығымыз IoT -ге ауысатын уақытта мүмкін. Электрониканың таңқаларлық ретінде біз Raspberry Pi -мен ойнадық және осы білімді қолдана отырып қызықты жобалар жасауға шешім қабылдадық. Бұл жобада біз
Raspberry Pi және LIS3DHTR көмегімен қозғалысты басқару, 3 осьті акселерометр, Python көмегімен: 6 қадам
Raspberry Pi және LIS3DHTR көмегімен қозғалысты басқару, 3 осьті акселерометр, Python көмегімен: Сұлулық бізді қоршап тұрады, бірақ әдетте оны білу үшін біз бақта серуендеуіміз керек. - Біз білетін топ ретінде біз энергияның көп бөлігін компьютерлер мен ұялы телефондардың алдында жұмыс істеуге жұмсаймыз. Сондықтан біз өз денсаулығымызға жиі рұқсат береміз
RabbitPi - Alexa қосылған, IFTTT қосылған, құлақ түретін IoT көмекшісі: 12 қадам
RabbitPi - Alexa қосылған, IFTTT қосылған, IoT -тың құлағын ұстайтын көмекшісі: бұл 2005 жылы ескірген Nabaztag " ақылды қоян " Мен Raspberry Pi 3 пен Adafruit Motor HAT көмегімен заманауи IoT көмекшісіне, веб камера микрофонымен және Philips Soundshooter динамигімен сүйкімді түпнұсқа корпусында қайта құрдым
ESP8266 және PubNub көмегімен IoT қосылған сенсорлық мәліметтерді жинау орталығы: 9 қадам (суреттермен)
ESP8266 & PubNub көмегімен IoT қосылған сенсорлық мәліметтерді жинау орталығы: ESP8266 бойынша оқулықтардың көпшілігі жаңа деңгейдегі (светодиодты қашықтан жыпылықтау) немесе өзінің жыпылықтау дағдыларын жақсарту мен жетілдіруді іздейтін адам үшін тым күрделі. Нұсқаулық мақсат бұл алшақтықты жоюға бағытталған