جدول المحتويات:

TextPlayBulb: تم تمكين REST PlayBulb باستخدام Raspberry Pi 3 و BLE و Telegram: 3 خطوات
TextPlayBulb: تم تمكين REST PlayBulb باستخدام Raspberry Pi 3 و BLE و Telegram: 3 خطوات

فيديو: TextPlayBulb: تم تمكين REST PlayBulb باستخدام Raspberry Pi 3 و BLE و Telegram: 3 خطوات

فيديو: TextPlayBulb: تم تمكين REST PlayBulb باستخدام Raspberry Pi 3 و BLE و Telegram: 3 خطوات
فيديو: ESW Speaker Series - Smart Lighting: The Era Beyond LED Bulbs 2024, شهر نوفمبر
Anonim
TextPlayBulb: تم تمكين REST PlayBulb باستخدام Raspberry Pi 3 و BLE و Telegram
TextPlayBulb: تم تمكين REST PlayBulb باستخدام Raspberry Pi 3 و BLE و Telegram

يوضح هذا التوجيه كيفية الاتصال بمصباح PlayBulb Color bluetooth LED باستخدام Python و Raspberry Pi 3 ومكتبة Bluetooth ولتوسيع عناصر التحكم عبر واجهة برمجة تطبيقات REST لسيناريو إنترنت الأشياء ، وكأداة مساعدة ، يوضح المشروع أيضًا كيفية تمديد واجهة برمجة تطبيقات REST للتحكم في PlayBulb عبر عميل نصي للمراسلات الفورية على سبيل المثال Telegram ، مثل التحدث إلى منزلك الآلي عبر الرسائل النصية.

هذا المشروع مبني على 3 وحدات:

  1. pyBulbDriver: الاتصال بـ PlayBulb عبر BLE gatttool و python.
  2. pyBulbServer: استخدام pyBulbDriver لفضح التحكم في playbulb عبر REST API.
  3. pyBulbMessenger: الاتصال ببوت telegram لإرسال واستقبال الأوامر عبر عميل telegram المثبت على أي هاتف ذكي ، واستخدام REST API لإصدار أوامر إلى PlayBulb.

يمكنك استنساخ المشروع عبر مستودع git:

هدف المشروع:

لإنشاء أداة أساسية للتفاعل مع مصباحك عبر أساليب مختلفة مثل إرسال الرسائل النصية في الوقت الحالي ، يمكن أن تتضمن السيناريوهات المستقبلية أوامر الكلام والإشارة إلى المصباح … إلخ.

الموارد الأخرى المستخدمة لإنشاء هذا التوجيه:

  • بروتوكول PlayBulb Color Bluetooth:
  • توصيل Python بـ Playbulb عبر البلوتوث:
  • إعداد بوت برقية:

مساهمة

يتم توسيع نظام pyBulbDriver ليكون أكثر مرونة ومخصصًا للمعلمات لسهولة التمديد المستقبلي ، وبناء سيناريو يسمح لك بالتلاعب بكتابة الرسائل النصية للمصباح الخاص بك. واجهة بسيطة للاختبار والتلاعب.

التقييد

برنامج التشغيل مكتوب من أجل PlayBulb Color ، لأنواع أخرى من PlayBulb على سبيل المثال الأصل أو الشمعة ، يجب تغيير رمز البلوتوث في pyBulbDriver وفقًا للبروتوكول المذكور أعلاه.

تحتاج إلى تسجيل حساب Telegram ، والحصول على مفتاح api ، والذي تضيفه في pyBulbMessenger.py ، اتبع إعداد روبوت telegram في موارد أخرى.

الخطوة الأولى: إعداد المشروع

1. الحصول على مفتاح API الخاص بك من Telegram

> اتبع التعليمات الحالية للحصول على مفتاح API الخاص بك https://www.instructables.com/id/Set-up-Telegram-Bo …

> أضف مفتاح 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

الخطوة الثانية: السير في التعليمات البرمجية

pyBulbDriver.py

يحتوي pyBulbDriver على فئات برامج التشغيل للاتصال بـ PlayBulb عبر BLE

يمكن استخدام pyBulbDriver أيضًا لأي مشاريع عامة أخرى ، حيث أنه يحتوي فقط على الكود لمسح اتصالات playBulb وإعدادها.

واجهات برمجة التطبيقات الرئيسية لواجهة تطبيق المستخدم:

  • 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 ، ولكنه يتضمن نوع التأثير والسرعة. لمعرفة المزيد تحقق من قسم تأثيرات بروتوكول الألوان

في هذا الفصل ، ستجد أيضًا طرقًا مساعدة أخرى مخصصة لفحص سلامة البيانات وليس لواجهة المستخدم

  • تحويل RGBToHexaCmd (s ، r ، g ، b)
  • convertIntToHex (رقم)
  • checkModeAndSpeed (mode ، offbeat ، onbeat)
  • الشيكات RGBInBound (s ، r ، g ، b)

pyBulbServer.py

يعرض pyBulbServer واجهة تطبيق المستخدم في ارتباطات تشعبية RESTful باستخدام PUT و JSON لإرسال واستقبال البيانات إلى pyBulbDriver. كما يتم إجراء فحص وتهيئة اتصال BLE عند تنشيط الخادم.

قنوات pyBulbResource (Resource) المكالمات إلى خادم REST باستخدام اللون والتأثير لتعريف أمر bulb.

مثال لقيادة تأثير:

127.0.0.1/bulb/effect

مشاركة JSON> {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 (bot ، update) هو المكان الذي يتم فيه تعريف أوامر النص وتوصيلها بـ PlayBulb عبر RESTful API.

يحتوي المشروع حاليًا على نصوص فقط ، وهناك هدف آخر وهو إرسال رسائل صوتية مسجلة يتم إرسالها إلى أداة التعرف على الكلام لتنشيط أوامر أخرى (لم يتم التنفيذ بعد).

الخطوة الثالثة: الخاتمة

كان تصميم العمارة الحالي يتعلق بالتبسيط أكثر من قابلية التوسع. لا يزال هناك نقص في اتصال المجموعة ، كما أن المزيد من التطبيقات المتعلقة بإرسال الرسائل النصية إلى اللمبة إما للأمر المباشر أو التفاعل المرح لا يزال قيد البحث.

من خلال الاشتراك في git repo أو المتابعة ، ستظهر المزيد من التفاصيل في هذه التحديثات. كان السبب في مثل هذا المشروع هو واجهة playBulb وإنشاء واجهة RESTful لسهولة التطوير في IoT (سيناريو إنترنت الأشياء) ولكن أيضًا لفتح الفرصة لاستخدام أساليب مختلفة عبر برقية IM Client مثل الصور والصوت و نص للتفاعل مع الأجهزة من منظور البحث.

موصى به: