فهرست مطالب:

TextPlayBulb: REST Enabled PlayBulb با استفاده از Raspberry Pi 3 ، BLE و Telegram: 3 مرحله
TextPlayBulb: REST Enabled PlayBulb با استفاده از Raspberry Pi 3 ، BLE و Telegram: 3 مرحله

تصویری: TextPlayBulb: REST Enabled PlayBulb با استفاده از Raspberry Pi 3 ، BLE و Telegram: 3 مرحله

تصویری: TextPlayBulb: REST Enabled PlayBulb با استفاده از Raspberry Pi 3 ، BLE و Telegram: 3 مرحله
تصویری: Mipow Smart LED Lights, LED Light Bluetooth Speaker, Solar Garden Light Content 2024, نوامبر
Anonim
TextPlayBulb: REST Enabled PlayBulb با استفاده از Raspberry Pi 3 ، BLE و Telegram
TextPlayBulb: REST Enabled PlayBulb با استفاده از Raspberry Pi 3 ، BLE و Telegram

این دستورالعمل نحوه اتصال به لامپ LED بلوتوث رنگ PlayBulb با استفاده از Python ، کتابخانه Raspberry Pi 3 و بلوتوث و گسترش کنترل ها از طریق REST API برای سناریوی اینترنت اشیا را نشان می دهد ، و به عنوان bouns ، پروژه همچنین نحوه گسترش REST API برای کنترل PlayBulb خود بر روی سرویس گیرنده متن IM به عنوان مثال تلگرام ، مانند صحبت با خانه خودکار خود از طریق پیامک.

این پروژه بر اساس 3 ماژول ساخته شده است:

  1. pyBulbDriver: از طریق گتول BLE و پایتون به PlayBulb متصل شوید.
  2. pyBulbServer: استفاده از pyBulbDriver برای نشان دادن کنترل playbulb از طریق REST API.
  3. pyBulbMessenger: اتصال به ربات تلگرام برای ارسال و دریافت دستورات از طریق کلاینت تلگرام نصب شده بر روی هر تلفن هوشمند و استفاده از REST API برای صدور فرمان به PlayBulb.

می توانید پروژه را از طریق مخزن git کلون کنید:

هدف پروژه:

برای ایجاد یک ابزار اصلی برای تعامل با لامپ خود از طریق روش های مختلف مانند ارسال پیامک در حال حاضر ، سناریوهای آینده می تواند شامل دستورات گفتاری ، اشاره به چراغ … و غیره باشد.

سایر منابع مورد استفاده برای ایجاد این دستورالعمل:

  • پروتکل بلوتوث PlayBulb Color:
  • اتصال پایتون به Playbulb از طریق بلوتوث:
  • راه اندازی ربات تلگرام:

مشارکت

pyBulbDriver برای سهولت توسعه در آینده انعطاف پذیرتر و متغیرتر شده است و سناریویی را ایجاد می کند که به شما امکان می دهد با پیامک لامپ خود مشکل داشته باشید. رابط کاربری ساده برای آزمایش و سر و صدا در اطراف.

محدودیت

درایور برای PlayBulb Color نوشته شده است ، برای سایر انواع PlayBulb به عنوان مثال. اصلی یا شمعی ، کد بلوتوث در pyBulbDriver باید مطابق پروتکل فوق الذکر تغییر کند.

شما باید یک حساب تلگرام ثبت کنید و یک کلید api دریافت کنید ، که آن را در pyBulbMessenger.py اضافه می کنید ، راه اندازی ربات تلگرام را در منابع O دنبال کنید.

مرحله 1: راه اندازی پروژه

1. دریافت کلید API خود از تلگرام

> دستورالعمل فعلی را برای دریافت کلید API خود دنبال کنید

> کلید api خود را به api متغیر در pyBulbMessenger.py اضافه کنید

2. تنظیم نام PlayBulb خود در pyBulbDriver

> برای اینکه gatttool دستگاه نوشتن را پیدا کند ، نام دستگاه خود را برای اسکن با استفاده از pyBulbDriver.scanForBulb ("PLAYBULB COLOR") تنظیم کنید. نمونه ای را می توانید در pyBulbServer.py برای راه اندازی سرور REST خود بیابید

3. برای شروع پروژه

> ابتدا باید pyBulbServer.py را شروع کنید ، سپس pyBulbMessenger.py را برای ارسال پیامک دنبال کنید. می توانید دستورات pyBulbServer را با استفاده از CURL آزمایش کنید.

4. مواد مورد نیاز:

> تمشک پای 3 و PlayBulb Color یا PlayBulb Candle

> نصب تلگرام برای Android یا iOS

5. نصب بلوتوث Rasberry Pi 3 LE:

www.elinux.org/RPi_Bluetooth_LE

مرحله 2: قدم زدن در کد

pyBulbDriver.py

pyBulbDriver شامل کلاس های راننده برای اتصال به PlayBulb از طریق BLE است

pyBulbDriver همچنین می تواند برای سایر پروژه های عمومی استفاده شود ، زیرا فقط حاوی کد برای اسکن و راه اندازی اتصالات playBulb است.

API های اصلی رابط برنامه کاربر:

  • scanForBulb (devicename: 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 رابط کاربر برنامه را با استفاده از PUT و JSON برای ارسال و دریافت داده به pyBulbDriver در پیوندهای RESTful قرار می دهد. همچنین اسکن و راه اندازی اولیه اتصال BLE هنگام فعال شدن سرور انجام می شود.

pyBulbResource (منبع) تماس ها را به سرور 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 مسئول ارتباط با ربات تلگرام متصل به سرویس گیرنده تلفن هوشمند تلگرام شما است. برای اطلاعات بیشتر در مورد نحوه پیکربندی و اتصال به ربات تلگرام ، https://www.instructables.com/id/Set-up-Telegram-Bo… را بررسی کنید.

cmdHandler (ربات ، به روز رسانی) جایی است که دستورات متنی تعریف شده و از طریق RESTful API به PlayBulb متصل می شوند.

در حال حاضر پروژه فقط دارای متن است ، هدف دیگر ارسال پیامهای صوتی ضبط شده است که برای فعال کردن دستورات دیگر (هنوز اجرا نشده) به تشخیص دهنده گفتار ارسال می شود.

مرحله 3: نتیجه گیری

طراحی معماری کنونی بیشتر در مورد ساده سازی بود تا مقیاس پذیری. هنوز ارتباط گروهی وجود ندارد ، همچنین برنامه های کاربردی بیشتری در مورد ارسال پیام به لامپ برای فرمان مستقیم یا تعامل بازی هنوز در دست تحقیق است.

با عضویت در git repo یا دنبال کردن ، جزئیات بیشتری در مورد این به روزرسانی ها به دست می آید. دلیل چنین پروژه ای رابط کاربری playBulb و ایجاد یک رابط RESTful برای سهولت توسعه در اینترنت اشیا (سناریوی اینترنت اشیا) و همچنین باز کردن فرصت استفاده از روش های مختلف از طریق تلگرام IM Client مانند تصاویر ، صدا و متن برای تعامل با لوازم از دیدگاه تحقیق

توصیه شده: