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

במבוק בהיר (מנורה מחוברת): 3 שלבים
במבוק בהיר (מנורה מחוברת): 3 שלבים

וִידֵאוֹ: במבוק בהיר (מנורה מחוברת): 3 שלבים

וִידֵאוֹ: במבוק בהיר (מנורה מחוברת): 3 שלבים
וִידֵאוֹ: אני רוצה שווארמה 🌯 2024, נוֹבֶמבֶּר
Anonim
במבוק בהיר (מנורה מחוברת)
במבוק בהיר (מנורה מחוברת)

שלום וברוכים הבאים!

במבוק אור היא מנורה מחוברת אשר נדלקת כאשר מתקבלת הודעה בסמארטפון אנדרואיד שאליו הוא מחובר. מטרת ההנחיה היא להראות לכם את שלב העיצוב של הפרויקט: מארכיטקטורת החומרה ועד לחיבור ה- Bluetooth Low Energy (BLE) ובניית האפליקציות לאנדרואיד.

עבור המנורה שלנו, בחרנו במפעל פלסטיק לעיצוב קישוט מגניב. עבור פרוייקט זה, ההודעות המוצגות הן מהיישומים הבאים: שיחות, sms/mms, facebook, messenger, instagram, whatsapp ang gmail. צבע אחד בהיר מיוחס לכל סוג של הודעה.

לפרויקט זה תזדקק ל:

  • UC עם מודול BLE משולב: nFR51822 RedBearLab
  • 3 טבעת NeoPixel (12 נוריות RGB)
  • סמארטפון אנדרואיד
  • Android Studio

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

הסמארטפון שעליו פיתחנו את האפליקציה הוא סמסונג גלקסי A5.

שלב 1: חלק חומרה

חלק חומרה
חלק חומרה

האדריכלות שלנו פשוטה למדי.

חבר את סיכות הטבעת NeoPixel ללוח nRF51822 כדלקמן:

  • Inout סיכת נתונים של טבעת NeoPixel ליציאה 3 של ה- UC.
  • Vcc של טבעת NeoPixel עד 3.3V של uC.
  • GND של טבעת NeoPixel ל- GND של uC.

אתה יכול לשים לב שאנו לא משתמשים בסיכת נתוני הפלט של טבעת NeoPixel. הסיבה לכך היא שסיכות נתוני הקלט של שלוש טבעות NeoPixel בהן אנו משתמשים בפרויקט זה מחוברות כולן לאותה יציאה של לוח nRF51822 (סיכה 3).

שלב 2: חלק תוכנה

חלק תוכנה
חלק תוכנה
חלק תוכנה
חלק תוכנה
חלק תוכנה
חלק תוכנה

1. תקשורת ה- Bluetooth באנרגיה נמוכה:

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

  • בצד השרת: כדי שתוכל להשתמש בלוח nrf51822 כשרת BLE, התקן תחילה את ספריית "BLEPeripheral.h" ב- Arduino IDE. ספרייה זו מספקת פונקציות מוכנות לשימוש ליצירת השירותים והמאפיינים והפרסום.
  • בצד הלקוח: כדי להתחיל תקשורת BLE ב- Android Studio, הגדר תחילה את הרשאות ה- BLE בקובץ המניפסט. לאחר מכן, בקובץ activity_main.xml, הוסף 4 כפתורים: סרוק, עצור סריקה, התחבר והתנתק שיאפשר לאפליקציה לסרוק אחר מכשירי BLE סמוכים, לעצור את הסריקה, להתחבר ולהתנתק למכשיר. בקובץ main_activity.java, מיישמים את הפונקציות המשויכות לכפתורים הקודמים: startScanning (), stopscanning (), connectToDeviceSelected (), disconnectDeviceSelected (). לבסוף, יישמו את פונקציות החזרה המתקשרות כאשר מצב הלקוח משתנה..

2. ניהול הודעות

  • בצד הלקוח (ב- Android Studio): כדי להאזין להודעות המגיעות מהסמארטפון, הטמיע מאזין הודעות שמופעל כאשר מתרחשת הודעה בשורת המצב. מאזין ההודעות הזה ישלח "הודעה", המכונה כוונה, לפעילות העיקרית כאשר הודעה מתפרסמת או מוסרת. "הודעה" זו מכילה קוד התראה המסייע בזיהוי האפליקציה שפרסמה את ההודעה. כדי לעבד את ההודעה בפעילות העיקרית, צור מקלט שידור שיקבל את ההודעה ממאזין ההודעות. לאחר מכן, בהתאם לקוד ההודעות, תו אחר נשלח לשרת.
  • בצד השרת (ב- Arduino IDE): ההודעה בעלת העדיפות הגבוהה ביותר מוצגת.

שלב 3: שלב 3: נספחים

כאן תמצא את כל מקור הקוד.

מוּמלָץ: