תוכן עניינים:
- שלב 1: סרוק מכשיר BLE
- שלב 2: חיבור התקן
- שלב 3: אחזור מאפייני ההתקן
- שלב 4: קריאת שם המכשיר
- שלב 5: קריאת BPM
- שלב 6: קריאת מיקום חיישן הגוף
וִידֵאוֹ: קריאת ערכים ממכשיר BLE באמצעות CSR1010 ו- Dragonboard 410c: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
הדרכה זו מראה כיצד לקרוא ערכים ממכשיר BLE CSR1010 באמצעות Dragonboard 410c עם Linaro
בדוגמה זו, CSR1010 מחקה חיישן קצב לב.
שלב 1: סרוק מכשיר BLE
בשלב זה, בדוק אם לקוח BT שלך מוכן למכשירי BLE לסריקה.
root@linaro-alip:/home/linaro# sudo hcitool lescan
LE סריקה … 18: EE: 69: 00: CE: 00 (לא ידוע) 18: EE: 69: 00: CE: 00 (לא ידוע) EE: 52: 5B: 04: 00: 02 חיישן HR CSR
שלב 2: חיבור התקן
אנו נשתמש ב- gatttool לחיבור המכשיר שלנו
-b: כתובת MAC של המכשיר
-t: סוג כתובת LE. יכול להיות ציבורי או אקראי, צריך לבדוק את מפרט המכשיר. במקרה זה הוא ציבורי.
-אני: מצב אינטראקטיבי של gatttool. הוא יפתח הודעה לשלוח cmds למכשיר
root@linaro -alip:/home/linaro# sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t public -I
לאחר הפקודה פתוחה, נוכל לשלוח cmd connect למכשיר.
[EE: 52: 5B: 04: 00: 02] [LE]> התחבר מנסה להתחבר ל- EE: 52: 5B: 04: 00: 02
החיבור הצליח
[EE: 52: 5B: 04: 00: 02] [LE]>
שלב 3: אחזור מאפייני ההתקן
לאחר חיבור המכשיר, נוכל לקרוא את כל השירותים הזמינים על ידי שליחת cmd "ראשי"
בהתבסס על השירות UUID, אנו יכולים לגלות את סוג השירות במפרט GATT
www.bluetooth.com/specifications/gatt/services
שלב 4: קריאת שם המכשיר
בואו לחקור את המאפיינים הנקראים בפרופיל גישה כללית (uuid = 1800). ראשית עלינו לקבל את ערכי ידית השירות, המתוארים בתמונה הראשונה, במקרה זה, מתחיל מ -5 עד 11. כעת נוכל לאחזר את כל הידיות במרווח זה באמצעות cmd char-desc
[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11 ידית: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb ידית: 0x0006, uuid: 00002803-0000-1000-8000- ידית 00805f9b34fb: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb ידית: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb ידית: 0x0009, uuid: 00002a01-0000-10008 uuid: 00002803-0000-1000-8000-00805f9b34fb ידית: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb ידית: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb ידית: 0x000 ידית -1000-8000-00805f9b34fb: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb ידית: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb ידית: 0x0010, uuid: 00002803 ידית 00805f9b34fb: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb
בהתאם למפרט פרופיל הגישה הכללית, ה- UUID 2A00 מתייחס לשם ההתקן.
בהתחשב בכך 2a00 הוא הידית 0x0007 במכשיר שלנו, בואו לקרוא את הערך
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 7 ערך אופייני/מתאר: 43 53 52 20 48 52 20 53 65 6e 73 6f 72
המרת hex ל- ASCII, שם המכשיר הוא: '' חיישן HR CSR"
שלב 5: קריאת BPM
[EE: 52: 5B: 04: 00: 02] [LE]> ידית אטראטרית ראשית: 0x0001, ידית סוף קצה: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb ידית אטר: 0x0005, ידית אחורית סוף: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb ידית ATR: 0x000c, ידית סוף קצה: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb ידית attr: 0x0014, ידית סוף grp: 0x0017 uuid: 0000180f-0000 00805f9b34fb ידית אטר: 0x0018, ידית סוף קצה: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 ידית אטר: 0x0022, אחיזה אחרונה: 0xffff uuid: 0000180a-0000-1000-8000-00805f9
שירות קצב הלב UUID הוא 0x180d, כך שמרווח הטיפולים הוא בין 0x000c עד 0x0013
[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 0x00c 0x0013
ידית: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb ידית: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb ידית: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34f: ידית 00002902-0000-1000-8000-00805f9b34fb: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb ידית: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb ידית: 0x0012, uuid: 1000-8000-00805f9b34fb ידית: 0x0013, uuid: 00002a39-0000-1000-8000-00805f9b34fb
קריאת כל ההצהרות האופייניות (UUID 0x2803).
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x000d
ערך מאפיין/מתאר: 10 0e 00 37 2a [EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x0010 ערך אופייני/מתאר: 02 11 00 38 2a [EE: 52: 5B: 04:00:02] [LE]> char-read-hnd 0x0012 ערך אופייני/מתאר: 08 13 00 39 2a
שים לב ש:
- ידית 0x000d היא CCCD לשירות 2a37 (מדידת קצב לב) עם סיביות 10 (תמיכה הודעה)
- ידית 0x0010 היא CCCD לשירות 2a38 (מיקום חיישן גוף) עם סיביות 02 (תמיכה לקרוא)
- ידית 0x0012 היא CCCD לשירות 2a39 (נקודת בקרת דופק) עם ביט 08 (תמיכה ב- WRITE)
כעת אנו יודעים שמדידת קצב הלב פועלת רק עם התראה. פירוש הדבר כי ראשית עלינו להירשם לשינויי ערך ב- CCCD שלו (UUID 0x2902), שבמקרה זה הוא ידית 0xf
[EE: 52: 5B: 04: 00: 02] [LE]> char-write-req 0x00f 0100
ידית התראה = ערך 0x000e: 16 65 f3 01 ערך מאפיין נכתב בהצלחה ידית הודעה = ערך 0x000e: 16 6d fa 01 ידית התראה = 0x000e ערך: 16 6d fa 01 ידית התראה = 0x000e ערך: 16 6c f9 01 ידית התראה = ערך 0x000e: 16 6a f7 01 ידית התראה = ערך 0x000e: 16 69 f6 01
על פי מפרט הפרופיל, מספר הקס השני הוא מידע BPM.
BPM:
6d = 109
6d = 109
6c = 108
6a = 106
69 = 105
שלב 6: קריאת מיקום חיישן הגוף
מיקום חיישן הגוף הוא UUID 0x2A38. על פי המתאר שלו, מאפיין זה תומך בקריאה בסיסית, כך שנוכל לקרוא את ערכו ישירות.
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11 ערך אופייני/מתאר: 03
על פי מפרט SIG, 03 פירושו "אצבע"
מוּמלָץ:
כיצד לקרוא ערכים אנלוגיים מרובים באמצעות סיכה אנלוגית אחת: 6 שלבים (עם תמונות)
כיצד לקרוא ערכים אנלוגיים מרובים באמצעות סיכה אנלוגית אחת: במדריך זה אני הולך להראות לך כיצד לקרוא ערכים אנלוגיים מרובים באמצעות סיכת קלט אנלוגית אחת בלבד
קריאת נתוני חיישן אולטרסאונד (HC-SR04) על מסך 128 × 128 והדמיה באמצעות Matplotlib: 8 שלבים
קריאת נתוני חיישן אולטרא סאונד (HC-SR04) על מסך 128 × 128 וראייתם באמצעות Matplotlib: במדריך זה נשתמש ב- MSP432 LaunchPad + BoosterPack להצגת נתוני חיישן קולי (HC-SR04) על 128 × 128 LCD ולשלוח את הנתונים למחשב באופן סדרתי ולדמיין אותם באמצעות Matplotlib
קריאת טמפרטורה באמצעות חיישן טמפרטורה LM35 עם Arduino Uno: 4 שלבים
קריאת טמפרטורה באמצעות חיישן טמפרטורה LM35 עם Arduino Uno: היי חברים במדריך זה נלמד כיצד להשתמש ב- LM35 עם Arduino. Lm35 הוא חיישן טמפרטורה שיכול לקרוא ערכי טמפרטורה מ -55 ° C עד 150 ° C. זהו מכשיר בעל 3 מסופים המספק מתח אנלוגי ביחס לטמפרטורה. היג
שמור ושחזר ערכים מוגדרים מראש עם NFC (TfCD): 4 שלבים
שמור ושחזר ערכים קבועים מראש באמצעות NFC (TfCD): אנו רוצים לבדוק כיצד פועל כדי להתאים ערך או הגדרה מסוימים ולאחר מכן להיזכר בהגדרה זו. לניסוי זה השתמשנו בתג NFC כדי לקרוא ולאחר מכן לשמור עליו את הערך. מאוחר יותר ניתן לסרוק שוב את התג ולשלוח את הערך בחזרה כדי לשחזר מספר
כיצד להפוך LED המופעל באמצעות רוח ממכשיר וידיאו: 13 שלבים
כיצד להכין נורית המופעלת על ידי רוח מכשיר וידיאו: הדרכה זו מסבירה כיצד להכין נורית LED המופעלת על ידי רוח מתוך מכשיר וידיאו ישן וגלגל סיכה. אתה יכול גם להשתמש בכונן תקליטורים ישן אם אין לך מכשיר וידיאו. אם אתה מתעניין בהדרכה בנושא הכנת זה מכונן תקליטורים, תוכל למצוא אותו ב