Mục lục:
Video: TextPlayBulb: REST Enabled PlayBulb sử dụng Raspberry Pi 3, BLE và Telegram: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Tài liệu hướng dẫn này cho thấy cách kết nối với đèn LED Bluetooth PlayBulb Color bằng Python, Raspberry Pi 3 và thư viện Bluetooth và để mở rộng các điều khiển thông qua API REST cho một kịch bản IoT và như một giới hạn, dự án cũng chỉ ra cách mở rộng API REST để kiểm soát PlayBulb của bạn qua ứng dụng khách văn bản IM, ví dụ: Telegram, chẳng hạn như nói chuyện với ngôi nhà tự động của bạn qua tin nhắn.
Dự án này được xây dựng trên 3 mô-đun:
- pyBulbDriver: Kết nối với PlayBulb qua BLE gatttool và python.
- pyBulbServer: Sử dụng pyBulbDriver để hiển thị điều khiển playbulb thông qua API REST.
- pyBulbMessenger: Kết nối với bot telegram để gửi và nhận lệnh thông qua ứng dụng telegram được cài đặt trên bất kỳ điện thoại thông minh nào và sử dụng API REST để ra lệnh cho PlayBulb.
Bạn có thể sao chép dự án thông qua kho lưu trữ git:
Mục tiêu của Dự án:
Để tạo một công cụ cơ bản để tương tác với bóng đèn của bạn thông qua các phương thức khác nhau, chẳng hạn như nhắn tin ngay bây giờ, các tình huống trong tương lai có thể liên quan đến lệnh bằng giọng nói, cử chỉ với đèn… v.v.
Các tài nguyên khác được sử dụng để tạo có thể hướng dẫn này:
- Giao thức Bluetooth PlayBulb Color:
- Kết nối Python với Playbulb qua Bluetooth:
- Thiết lập bot điện tín:
Sự đóng góp
pyBulbDriver được mở rộng để linh hoạt hơn và được tham số hóa để dễ dàng mở rộng trong tương lai, xây dựng một kịch bản cho phép bạn thao tác với việc nhắn tin cho đèn của mình. Giao diện đơn giản để thử nghiệm và tìm kiếm xung quanh.
Giới hạn
Trình điều khiển được viết cho PlayBulb Color, cho các loại PlayBulb khác, ví dụ: Ban đầu hoặc nến, mã bluetooth trong pyBulbDriver cần phải thay đổi theo giao thức nói trên.
Bạn cần đăng ký một tài khoản telegram và nhận một khóa api, bạn thêm vào trong pyBulbMessenger.py, thực hiện theo cách thiết lập bot telegram trong tài nguyên của O.
Bước 1: Thiết lập dự án
1. Lấy khóa API của bạn từ Telegram
> Làm theo hướng dẫn hiện tại để lấy khóa API của bạn
> Thêm khóa api của bạn vào api biến trong pyBulbMessenger.py
2. Đặt tên PlayBulb của bạn trong pyBulbDriver
> Để gatttool tìm thấy thiết bị ghi, hãy đặt tên thiết bị của bạn được quét bằng pyBulbDriver.scanForBulb ("PLAYBULB COLOR"). Có thể tìm thấy ví dụ trong pyBulbServer.py để thiết lập Máy chủ REST của bạn
3. Để bắt đầu dự án
> Bạn cần bắt đầu pyBulbServer.py trước, sau đó là pyBulbMessenger.py để nhắn tin. Bạn có thể kiểm tra các lệnh pyBulbServer bằng CURL.
4. Vật liệu cần thiết:
> Raspberry Pi 3 và PlayBulb Color hoặc PlayBulb Candle
> Cài đặt Telegram cho Android hoặc iOS
5. Cài đặt Rasberry Pi 3 LE Bluetooth:
www.elinux.org/RPi_Bluetooth_LE
Bước 2: Xem qua mã
pyBulbDriver.py
pyBulbDriver chứa các lớp trình điều khiển để kết nối với PlayBulb qua BLE
pyBulbDriver cũng có thể được sử dụng cho bất kỳ dự án chung nào khác, vì nó chỉ chứa mã để quét và thiết lập kết nối playBulb.
Các API chính cho giao diện Ứng dụng Người dùng:
- scanForBulb (tên thiết bị: Chuỗi)> Để quét PlayBulb hoặc PlayBulb qua tên thiết bị của chúng
- setBulbColor (s: int, r: int, g: int, b: int)> Để xác định các giá trị độ sáng và màu RGB (0 đến 255)
-
setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Tương tự như setBulbColor, nhưng bao gồm kiểu hiệu ứng và tốc độ. Để biết thêm, hãy kiểm tra phần Hiệu ứng giao thức màu
Trong lớp này, bạn cũng sẽ tìm thấy các phương thức trợ giúp khác dành cho việc kiểm tra tính toàn vẹn của dữ liệu chứ không phải cho giao diện người dùng
- chuyển đổiRGBToHexaCmd (s, r, g, b)
- convertIntToHex (số)
- checkModeAndSpeed (mode, offbeat, onbeat)
- checksRGBInBounds (s, r, g, b)
pyBulbServer.py
pyBulbServer hiển thị giao diện Ứng dụng Người dùng thành các siêu liên kết RESTful bằng cách sử dụng PUT và JSON để gửi và nhận dữ liệu tới pyBulbDriver. Ngoài ra, quá trình quét và khởi tạo kết nối BLE được thực hiện khi máy chủ được kích hoạt.
pyBulbResource (Tài nguyên) chuyển kênh các cuộc gọi đến Máy chủ REST bằng cách sử dụng màu sắc và hiệu ứng để xác định lệnh bóng đèn.
Ví dụ Để chỉ huy một hiệu ứng:
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
Cuối cùng, pyBulbMessenger chịu trách nhiệm giao tiếp bot Telegram được kết nối với ứng dụng khách điện thoại thông minh telegram của bạn. Để biết thêm chi tiết về cách cấu hình và kết nối với bot telegram, hãy kiểm tra
cmdHandler (bot, update) là nơi các lệnh văn bản được xác định và kết nối với PlayBulb thông qua API RESTful.
Hiện tại dự án chỉ có văn bản, một mục tiêu khác là cũng gửi tin nhắn thoại đã ghi âm sẽ được gửi đến trình nhận dạng giọng nói để kích hoạt các lệnh khác (Chưa được thực hiện).
Bước 3: Kết luận
Thiết kế kiến trúc hiện tại thiên về sự đơn giản hóa hơn là khả năng mở rộng. Vẫn còn thiếu kết nối nhóm, cũng có nhiều ứng dụng liên quan đến nhắn tin cho bóng đèn để ra lệnh thẳng hoặc tương tác vui tươi vẫn đang được nghiên cứu.
Bằng cách đăng ký git repo hoặc theo dõi, sẽ có thêm thông tin chi tiết về các bản cập nhật này. Lý do cho một dự án như vậy là để giao diện playBulb và tạo ra một giao diện RESTful để dễ phát triển trong IoT (kịch bản internet vạn vật) nhưng cũng để mở ra cơ hội sử dụng các phương thức khác nhau thông qua điện tín IM Client như hình ảnh, giọng nói và văn bản để tương tác với các thiết bị từ góc độ nghiên cứu.
Đề xuất:
Xây dựng Trình theo dõi chuyển động có thể đeo (BLE Từ Arduino đến Ứng dụng Android Studio tùy chỉnh): 4 bước
Xây dựng Trình theo dõi chuyển động có thể đeo (BLE Từ Arduino đến Ứng dụng Android Studio tùy chỉnh): Bluetooth Low Energy (BLE) là một hình thức giao tiếp Bluetooth công suất thấp. Các thiết bị đeo được, chẳng hạn như quần áo thông minh mà tôi giúp thiết kế tại Prediction Wear, phải hạn chế mức tiêu thụ điện năng ở mọi nơi có thể để kéo dài tuổi thọ pin và thường xuyên sử dụng BLE.
Điều khiển ESP8266 bằng ứng dụng Telegram: 7 bước
Điều khiển ESP8266 bằng Ứng dụng Telegram: Này, có chuyện gì vậy, các bạn! Akarsh từ CETech. Bạn đã bao giờ thắc mắc về việc trò chuyện với các thiết bị của mình qua ứng dụng nhắn tin chưa? Nghe có vẻ lạ đúng không. Nhưng hôm nay chúng ta sẽ làm một điều tương tự như vậy. Đừng lo lắng, bạn không cần phải mua điện thoại di động
Cách tạo IOT đơn giản với ứng dụng Telegram: 5 bước
Cách tạo IOT đơn giản với ứng dụng Telegram: Trong thế hệ hiện tại, Internet là tất cả. Internet of Things đóng một vai trò quan trọng trong thế giới hiện tại. Không mất nhiều thời gian, chúng ta có thể chuyển sang hoạt động thực tế của IOT. Ở đây chúng ta sẽ điều khiển đèn led và cũng o
Xây dựng một APRS Radio nghiệp dư Chỉ IGate bằng cách sử dụng Raspberry Pi và RTL-SDR Dongle trong vòng chưa đầy nửa giờ: 5 bước
Xây dựng một APRS Radio nghiệp dư Chỉ IGate Sử dụng Raspberry Pi và RTL-SDR Dongle trong vòng chưa đầy nửa giờ: Xin lưu ý rằng thiết bị này hiện đã khá cũ nên một số bộ phận không chính xác và lỗi thời. Các tệp bạn cần chỉnh sửa đã thay đổi. Tôi đã cập nhật liên kết để cung cấp cho bạn phiên bản mới nhất của hình ảnh (vui lòng sử dụng 7-zip để giải nén nó) nhưng cho đầy đủ công cụ
Sử dụng cảm biến chuyển động với RaspberryPi và Telegram Bot: 4 bước
Sử dụng cảm biến chuyển động với RaspberryPi và Telegram Bot: Xin chào các bạn. Trong bài đăng này, chúng tôi sẽ sử dụng Raspberry Pi Telegram Bot với cảm biến PIR (chuyển động)