תוכן עניינים:
וִידֵאוֹ: TextPlayBulb: REST מופעל PlayBulb באמצעות Raspberry Pi 3, BLE ומברק: 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
מדריך זה מראה כיצד להתחבר למנורת LED Bluetooth של PlayBulb Color באמצעות Python, ספריית Raspberry Pi 3 ו- Bluetooth ולהרחיב את הפקדים באמצעות ממשק API של REST לתרחיש IoT, ובתור פריצות, הפרויקט מראה גם כיצד להאריך את REST API לשליטה ב- PlayBulb שלך על פני לקוח טקסט מיידי למשל טלגרם, כגון שיחה עם הבית האוטומטי שלך באמצעות טקסט.
פרויקט זה בנוי על 3 מודולים:
- pyBulbDriver: התחבר ל- PlayBulb באמצעות כלי GAT של BLE ו- Python.
- pyBulbServer: שימוש ב- pyBulbDriver כדי לחשוף את הפקד של playbulb באמצעות REST API.
- 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 כגון תמונות, קול ו טקסט לאינטראקציה עם מכשירים מנקודת מבט מחקרית.
מוּמלָץ:
אוסצילוסקופ CRT מופעל באמצעות סוללות: 7 שלבים (עם תמונות)
אוסצילוסקופ CRT מופעל באמצעות סוללות: שלום! במדריך זה אני אראה לך כיצד להכין אוסצילוסקופ CRT המונע על סוללות. אוסצילוסקופ הוא כלי חשוב לעבודה עם אלקטרוניקה; אתה יכול לראות את כל האותות זורמים במעגל ולפתור בעיות
משדר RF Flysky מופעל באמצעות חיבור USB + אותות חוטים למחשב + תוכנת סימולטור חינם: 6 שלבים
משדר RF Flysky מופעל באמצעות חיבור USB + אותות חוטים למחשב + תוכנת סימולטור חינם: אם אתה כמוני, תרצה לבדוק את משדר ה- RF שלך וללמוד לפני שאתה מתרסק במטוס/מזל"ט היקר שלך. זה ייתן לך כיף נוסף, תוך חיסכון בהמון כסף וזמן. לשם כך, הדרך הטובה ביותר היא לחבר את משדר ה- RF אליך
חיישן לחות פרחים IOT WiFi (מופעל באמצעות סוללה): 8 שלבים (עם תמונות)
חיישן לחות פרחים IOT WiFi (מופעל באמצעות סוללה): במדריך זה אנו מציגים כיצד לבנות חיישן לחות/מים WiFi עם צג רמת סוללה בפחות מ -30 דקות. המכשיר עוקב אחר רמת הלחות ושולח נתונים לסמארטפון דרך האינטרנט (MQTT) עם מרווח זמן שנבחר. U
HX1 -DM - מכונת התופים DIY מופעל Arduino DUE מופעל DIY (עשוי עם מכונה מתה MK2): 4 שלבים
HX1 -DM - מכונת התופים DIY המופעלת על ידי Arduino DUE מופעל (עשוי עם מכונה מתה MK2): המפרט. בקר / מכונת תופים היברידית מידי: Arduino DUE מופעל! 16 רפידות חישה מהירות עם זמן אחסון נמוך מאוד 1 &ms; ידיות 8 ידיות שניתן להקצות לכל פקודה Midi #CC 16ch sequencer מובנה (אין צורך במחשב !!) MIDI in/out/thru functio
תותח פנאומטי אוטומטי. מופעל Arduino מופעל: 13 שלבים
תותח פנאומטי אוטומטי. נייד ו Arduino מופעל: היי לכולם! זו ההנחיה להרכיב תותח פנאומטי נייד. הרעיון היה ליצור תותח שיכול לירות דברים שונים. הצבתי כמה מטרות עיקריות. אז מה התותח שלי צריך להיות: אוטומטי. כדי לא לדחוס אוויר באופן ידני עם