جدول المحتويات:
فيديو: TextPlayBulb: تم تمكين REST PlayBulb باستخدام Raspberry Pi 3 و BLE و Telegram: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
يوضح هذا التوجيه كيفية الاتصال بمصباح PlayBulb Color bluetooth LED باستخدام Python و Raspberry Pi 3 ومكتبة Bluetooth ولتوسيع عناصر التحكم عبر واجهة برمجة تطبيقات REST لسيناريو إنترنت الأشياء ، وكأداة مساعدة ، يوضح المشروع أيضًا كيفية تمديد واجهة برمجة تطبيقات REST للتحكم في PlayBulb عبر عميل نصي للمراسلات الفورية على سبيل المثال Telegram ، مثل التحدث إلى منزلك الآلي عبر الرسائل النصية.
هذا المشروع مبني على 3 وحدات:
- pyBulbDriver: الاتصال بـ PlayBulb عبر BLE gatttool و python.
- pyBulbServer: استخدام pyBulbDriver لفضح التحكم في playbulb عبر REST API.
- 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 مثل الصور والصوت و نص للتفاعل مع الأجهزة من منظور البحث.
موصى به:
Raspberry PI 3 - تمكين الاتصالات التسلسلية لـ TtyAMA0 إلى BCM GPIO 14 و GPIO 15: 9 خطوات
Raspberry PI 3 - تمكين الاتصالات التسلسلية من TtyAMA0 إلى BCM GPIO 14 و GPIO 15: لقد كنت مهتمًا مؤخرًا بتمكين UART0 على Raspberry Pi الخاص بي (3b) حتى أتمكن من توصيله مباشرة بجهاز مستوى إشارة RS-232 باستخدام معيار 9 -pin موصل d-sub دون الحاجة إلى المرور عبر محول USB إلى RS-232. جزء من داخلي
كيفية تمكين Multiwindow في أي هاتف يعمل بنظام Android: 6 خطوات
كيفية تمكين Multiwindow في أي هاتف يعمل بنظام Android: وضع Multiwindow هو وضع سري أو تجريبي على Android 6.0 Marshmallow هذه الميزة غير متوفرة لجميع الهواتف المحمولة ، ولكن هناك تقنية لتمكين وضع النوافذ المتعددة في Android 6.0 Marshmallow. المتطلبات: 1. يجب أن يكون الهاتف متجذرًا .2. نسخة أندرويد
I-211M-L ONT: تمكين البيانات أثناء تشغيل طاقة البطارية: 7 خطوات
I-211M-L ONT: تمكين البيانات أثناء تشغيل طاقة البطارية: تعتبر محطة الشبكة الضوئية I-211M-L (ONT) نقطة نهاية شائعة لمشتركي الإنترنت بالألياف أو الهاتف القائم على الألياف (POTs) وخدمات الفيديو. تميل تثبيتات Verizon FIOS الجديدة إلى استخدام ONT. على عكس ONT السابقة ، لا تشارك I-211M-L
OpenLogger: عالي الدقة ، تمكين Wi-Fi ، مفتوح المصدر ، مسجل بيانات محمول: 7 خطوات
OpenLogger: مسجل بيانات عالي الدقة وممكّن لشبكة Wi-Fi ومفتوح المصدر ومحمول: OpenLogger هو مسجل بيانات محمول ومفتوح المصدر ومنخفض التكلفة وعالي الدقة مصمم لتوفير قياسات عالية الجودة دون الحاجة إلى برامج باهظة الثمن أو برامج كتابة من الصفر. إذا كنت مهندسًا أو عالمًا أو متحمسًا
تمكين لوحة المفاتيح "بشكل دائم" في وضع الكمبيوتر اللوحي (جهاز ASUS Notebook 2 في 1): 4 خطوات
"بشكل دائم" تمكين لوحة المفاتيح في وضع الكمبيوتر اللوحي (جهاز الكمبيوتر المحمول ASUS 2 في 1): توقفت الشاشة على جهاز الكمبيوتر المحمول ASUS Q551LN 2-in-1 الخاص بي مؤخرًا عن عرض اللون الأحمر. بعد أشهر من محاولة إصلاحه دون تقدم ، قررت تحويله إلى سطح مكتب دائم وإرفاقه بشاشة. ومع ذلك ، أدركت أنه إذا & quot