Агуулгын хүснэгт:
Видео: TextPlayBulb: Raspberry Pi 3, BLE болон Telegram ашиглан PlayBulb -ийг REST идэвхжүүлсэн: 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Энэхүү зааварчилгаа нь Python, Raspberry Pi 3, Bluetooth номын санг ашиглан PlayBulb Color bluetooth LED чийдэнг хэрхэн холбох, IOT сценарийн хяналтыг REST API -ээр хэрхэн өргөтгөх, мөн хэрхэн өргөжүүлэхийг төсөл харуулж байна. REST API нь таны PlayBulb -ийг IM текст клиентээр удирдах боломжтой Telegram, жишээ нь автомат гэртэйгээ текстээр ярих.
Энэхүү төсөл нь 3 модуль дээр суурилсан болно.
- pyBulbDriver: PlayBulb руу BLE gatttool болон python -ээр холбогдоно уу.
- pyBulbServer: pyBulbDriver -ийг ашиглан REST API -ээр тоглуулах чийдэнгийн хяналтыг ил гаргах.
- pyBulbMessenger: Аливаа ухаалаг гар утсан дээр суулгасан телеграм клиентээр дамжуулан командыг илгээх, хүлээн авахын тулд телеграм бот руу холбогдож, REST API ашиглан PlayBulb -д тушаал өгнө.
Та төслийг git репозитороор клон хийх боломжтой:
Төслийн зорилго:
Одоогоор мессеж бичих гэх мэт өөр өөр аргаар чийдэнтэйгээ харьцах үндсэн хэрэгслийг бий болгохын тулд ирээдүйн хувилбарууд нь ярианы команд, дэнлүү дохио өгөх гэх мэт байж болно.
Энэхүү зааварчилгааг үүсгэхэд ашигласан бусад эх сурвалжууд:
- PlayBulb өнгөт Bluetooth протокол:
- Python-ийг Bluetooth ашиглан Playbulb руу холбох:
- Цахилгаан ботийг тохируулах:
Хувь нэмэр
pyBulbDriver нь илүү уян хатан болж, ирээдүйд өргөтгөлийг хялбарчлах үүднээс параметрүүдийг нь өөрчилж, дэнлүүгээ мессеж бичих боломжийг олгодог хувилбарыг боловсруулсан болно. Туршилт хийх, хуурах энгийн интерфэйс.
Хязгаарлалт
Жолооч нь PlayBulb Color -д зориулагдсан бөгөөд бусад төрлийн PlayBulb -д зориулагдсан болно. Эх эсвэл лаа, pyBulbDriver дээрх bluetooth кодыг дээр дурдсан протоколын дагуу өөрчлөх шаардлагатай.
Та телеграм данс бүртгүүлж, 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 Candle
> Android эсвэл iOS -д Telegram суулгах
5. Rasberry Pi 3 LE Bluetooth суулгах:
www.elinux.org/RPi_Bluetooth_LE
Алхам 2: Кодын дагуу алхах
pyBulbDriver.py
pyBulbDriver нь PlayBulb -д BLE -ээр холбогдох драйверын ангиудыг агуулдаг
pyBulbDriver нь зөвхөн playBulb холболтыг сканнердах кодыг агуулдаг тул бусад ерөнхий төслүүдэд ашиглаж болно.
Хэрэглэгчийн хэрэглээний интерфейсийн үндсэн APIs:
- 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 -тэй төстэй боловч нөлөөллийн төрөл болон хурдыг агуулдаг. Илүү ихийг мэдэхийг хүсвэл өнгөний протоколын эффект хэсгээс үзнэ үү
Энэ ангид та хэрэглэгчийн интерфейс биш өгөгдлийн бүрэн бүтэн байдлыг шалгах бусад туслах аргуудыг олох болно
- хөрвүүлэхRGBToHexaCmd (s, r, g, b)
- convertIntToHex (тоо)
- checkModeAndSpeed (горим, гайхалтай, оновчтой)
- checksRGBInBounds (s, r, g, b)
pyBulbServer.py
pyBulbServer нь Хэрэглэгчийн програмын интерфэйсийг PUT болон JSON ашиглан RESTful холбоос болгон гаргаж, өгөгдлийг pyBulbDriver руу илгээж, хүлээн авдаг. Мөн сервер идэвхжсэн үед BLE холболтыг скан хийж, эхлүүлэх ажлыг хийдэг.
pyBulbResource (Resource) нь булцууны командыг тодорхойлохын тулд өнгө, эффект ашиглан 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 боттой харилцах үүрэгтэй. Цахилгаан ботийг хэрхэн тохируулах, холбогдох талаар дэлгэрэнгүй мэдээллийг https://www.instructables.com/id/Set-up-Telegram-Bo… үзнэ үү.
cmdHandler (bot, update) бол текст командыг тодорхойлж, RESTful API -ээр дамжуулан PlayBulb -тэй холбодог газар юм.
Одоогийн байдлаар төсөл нь зөвхөн тексттэй бөгөөд өөр нэг зорилго бол бусад командуудыг идэвхжүүлэхийн тулд яриа таних төхөөрөмж рүү илгээсэн дуут мессежийг илгээх явдал юм.
Алхам 3: Дүгнэлт
Одоогийн архитектурын дизайн нь өргөтгөх чадвараас илүү хялбарчлах тухай байв. Бүлгийн холболт байхгүй хэвээр байгаа бөгөөд чийдэн рүү мессеж бичих, эсвэл шууд тоглох эсвэл бусадтай харилцах олон програмыг судалж байна.
Git repo -г захиалж эсвэл дагах замаар эдгээр шинэчлэлтийн талаар илүү дэлгэрэнгүй мэдээлэл авах болно. Ийм төслийн шалтгаан нь playBulb -ийг интерфэйс болгож, IoT (интернэт юмсын интернэт) хөгжүүлэлтийг хөнгөвчлөх RESTful интерфэйсийг бий болгох, мөн IM Client телеграмаар дамжуулан зураг, дуу хоолой, Судалгааны үүднээс цахилгаан хэрэгсэлтэй харьцах текст.
Зөвлөмж болгож буй:
Raspberry Pi болон MySQL мэдээллийн санг ашиглан хурууны хээ болон RFID дээр суурилсан ирцийн систем: 5 алхам
Raspberry Pi болон MySQL мэдээллийн санг ашиглан хурууны хээ, RFID дээр суурилсан ирцийн систем: Энэ төслийн видео
Python ашиглан Raspberry Pi болон MXC6226XU ашиглан чиг баримжаа судлах нь: 6 алхам
Python ашиглан Raspberry Pi болон MXC6226XU ашиглан чиг баримжаа судлах нь: Дуу чимээ нь тээврийн хэрэгслийн ажлын нэг хэсэг юм. Маш сайн тааруулсан машины моторын чимээ бол гайхалтай дуу юм. Дугуйны дэвслэх чимээ замын эсрэг дуугарч, толь, хуванцар зүсэм, самбарт байгаа хэсгүүдийг тойрон гарах үед салхи орилно
Python ашиглан Raspberry Pi болон AIS328DQTR ашиглан хурдатгалыг хянах: 6 алхам
Python ашиглан Raspberry Pi болон AIS328DQTR ашиглан хурдатгалыг хянах нь: Физикийн зарим хуулийн дагуу хурдатгал нь хязгаарлагдмал гэж би бодож байна. Далайн эрэг дээрх хамгийн хурдан амьтан хааяадаа олзоо барихын тулд дээд хурдыг ашигладаг
PiFace болон Ubidots ашиглан алсын зайнаас идэвхжүүлсэн ус цацагч бүтээгээрэй: 13 алхам
PiFace болон Ubidots ашиглан алсын зайнаас идэвхжүүлсэн ус цацагч бүтээгээрэй: Энэ бол Raspberry Pi, PiFace, Ubidots -ийг ашиглан алс холоос цэцэрлэгээ услах аргыг зааж өгөх гайхалтай жишээ юм. Та цахилгаан хавхлагыг алсаас удирдах боломжтой бөгөөд та утсаа ашиглан ургамлаа аль ч газраас услах боломжтой болно
RaspberryPi болон Telegram Bot ашиглан хөдөлгөөн мэдрэгчийг ашиглах нь: 4 алхам
RaspberryPi болон Telegram Bot ашиглан хөдөлгөөн мэдрэгчийг ашиглах нь: Сайн байна уу залуусаа, энэ нийтлэлд бид RIR (хөдөлгөөн) мэдрэгч бүхий Raspberry Pi Telegram Bot -ийг ашиглах гэж байна