תוכן עניינים:

TextPlayBulb: REST מופעל PlayBulb באמצעות Raspberry Pi 3, BLE ומברק: 3 שלבים
TextPlayBulb: REST מופעל PlayBulb באמצעות Raspberry Pi 3, BLE ומברק: 3 שלבים

וִידֵאוֹ: TextPlayBulb: REST מופעל PlayBulb באמצעות Raspberry Pi 3, BLE ומברק: 3 שלבים

וִידֵאוֹ: TextPlayBulb: REST מופעל PlayBulb באמצעות Raspberry Pi 3, BLE ומברק: 3 שלבים
וִידֵאוֹ: Блог. Home Assistant - Rest sensor, взаимодействие основного и резервного серверов автоматизаций. 2024, יולי
Anonim
TextPlayBulb: REST מופעל PlayBulb באמצעות Raspberry Pi 3, BLE ומברק
TextPlayBulb: REST מופעל PlayBulb באמצעות Raspberry Pi 3, BLE ומברק

מדריך זה מראה כיצד להתחבר למנורת LED Bluetooth של PlayBulb Color באמצעות Python, ספריית Raspberry Pi 3 ו- Bluetooth ולהרחיב את הפקדים באמצעות ממשק API של REST לתרחיש IoT, ובתור פריצות, הפרויקט מראה גם כיצד להאריך את REST API לשליטה ב- PlayBulb שלך על פני לקוח טקסט מיידי למשל טלגרם, כגון שיחה עם הבית האוטומטי שלך באמצעות טקסט.

פרויקט זה בנוי על 3 מודולים:

  1. pyBulbDriver: התחבר ל- PlayBulb באמצעות כלי GAT של BLE ו- Python.
  2. pyBulbServer: שימוש ב- pyBulbDriver כדי לחשוף את הפקד של playbulb באמצעות REST API.
  3. pyBulbMessenger: התחברות לבוט מברקים כדי לשלוח ולקבל פקודות באמצעות לקוח טלגרם המותקן בכל טלפון חכם, ולהשתמש ב- REST API להפקת פקודות ל- PlayBulb.

אתה יכול לשכפל את הפרויקט באמצעות מאגר git:

מטרת הפרויקט:

כדי ליצור כלי בסיס לאינטראקציה עם הנורה שלך באמצעות שיטות שונות כגון הודעות טקסט לעת עתה, תרחישים עתידיים יכולים לכלול פקודות דיבור, מחוות למנורה … וכו '.

משאבים אחרים המשמשים ליצירת הוראה זו:

  • פרוטוקול Bluetooth של PlayBulb Color:
  • חיבור Python ל- Playbulb באמצעות Bluetooth:
  • הגדרת בוט הטלגרם:

תְרוּמָה

pyBulbDriver מורחב כך שהוא יהיה גמיש יותר ופרמטרי כדי להקל על הרחבה עתידית, ובונה תרחיש שיאפשר לך להתעסק עם שליחת הודעות טקסט למנורה שלך. ממשק פשוט לבדיקה והתעסקות.

הַגבָּלָה

מנהל ההתקן כתוב עבור PlayBulb Color, לסוגים אחרים של PlayBulb למשל קוד המקור או הנר, קוד ה- bluetooth ב- pyBulbDriver צריך להשתנות בהתאם לפרוטוקול הנ ל.

עליך לרשום חשבון מברק ולקבל מפתח api, אותו אתה מוסיף ב- pyBulbMessenger.py, עקוב אחר הגדרת בוט המברקים במשאבים האחרים.

שלב 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. חומר נחוץ:

> Raspberry Pi 3 ו- PlayBulb Color או נר פלייבלב

> התקנת טלגרם לאנדרואיד או iOS

5. התקנת ה- Rasberry Pi 3 LE Bluetooth:

www.elinux.org/RPi_Bluetooth_LE

שלב 2: דירוג הקוד

pyBulbDriver.py

pyBulbDriver מכיל את שיעורי הנהג לחיבור ל- PlayBulb באמצעות BLE

pyBulbDriver יכול לשמש גם עבור כל פרוייקט גנרי אחר, מכיוון שהוא מכיל רק את הקוד לסריקה ולהגדרת חיבורי playBulb.

ממשקי ה- API העיקריים לממשק יישומי משתמש:

  • 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, אך כולל את סוג האפקט והמהירות. למידע נוסף בדוק את סעיף אפקטים של פרוטוקול הצבעים

בשיעור זה תמצא גם שיטות עזר אחרות המיועדות לבדיקת תקינות הנתונים ולא לממשק משתמש

  • convertRGBToHexaCmd (s, r, g, b)
  • convertIntToHex (מספר)
  • checkModeAndSpeed (מצב, offbeat, onbeat)
  • בדיקות RGBInBounds (s, r, g, b)

pyBulbServer.py

pyBulbServer חושף את ממשק יישום המשתמשים לתוך קישורים RESTful באמצעות PUT ו- JSON לשליחת וקבלת נתונים ל- pyBulbDriver. כמו כן הסריקה והאתחול של חיבור BLE מתבצעת כאשר השרת מופעל.

pyBulbResource (משאב) מעביר את השיחות לשרת 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 אחראי על ממשק בוט הטלגרם המחובר ללקוח הטלפונים החכמים שלך בטלגרם. לפרטים נוספים אודות אופן ההגדרה והתחברות לבוט מברקים, בדוק

cmdHandler (בוט, עדכון) הוא המקום שבו פקודות הטקסט מוגדרות ומחוברות ל- PlayBulb באמצעות ה- RESTful API.

כרגע לפרויקט יש רק טקסט, מטרה נוספת היא גם לשלוח הודעות קוליות מוקלטות שיישלחו למזהה דיבור כדי להפעיל פקודות אחרות (לא מיושם עדיין).

שלב 3: מסקנה

עיצוב האדריכלות הנוכחי עסק יותר בפשטות מאשר בהרחבה. עדיין חסרות קישוריות קבוצתית, יישומים נוספים הנוגעים לשלוח הודעה לנורה או לפקודה ישירה או לאינטראקציה שובבה עדיין נמצאים במחקר.

על ידי הרשמה ל- git repo או לעקוב אחריה, פרטים נוספים יגיעו לעדכונים אלה. הסיבה לפרויקט כזה הייתה ממשק ה- playBulb ויצירת ממשק RESTful לנוחות הפיתוח ב- IoT (תרחיש אינטרנט של דברים) אך גם לפתוח את ההזדמנות להשתמש בשיטות שונות באמצעות טלגרם Client Client כגון תמונות, קול ו טקסט לאינטראקציה עם מכשירים מנקודת מבט מחקרית.

מוּמלָץ: