جدول المحتويات:
- الخطوة 1: فحص جهاز BLE
- الخطوة 2: توصيل الجهاز
- الخطوة 3: استرجاع خصائص الجهاز
- الخطوة 4: قراءة اسم الجهاز
- الخطوة 5: قراءة BPM
- الخطوة 6: قراءة موقع جهاز استشعار الجسم
فيديو: قراءة القيم من جهاز BLE باستخدام CSR1010 و Dragonboard 410c: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
يوضح هذا البرنامج التعليمي كيفية قراءة القيم من جهاز BLE CSR1010 باستخدام Dragonboard 410c مع Linaro
في هذا المثال ، يحاكي CSR1010 مستشعر معدل ضربات القلب.
الخطوة 1: فحص جهاز BLE
في هذه الخطوة ، تحقق مما إذا كان عميل BT جاهزًا لمسح أجهزة BLE.
root @ linaro-alip: / home / linaro # sudo hcitool lescan
LE Scan… 18: EE: 69: 00: CE: 00 (غير معروف) 18: EE: 69: 00: CE: 00 (غير معروف) EE: 52: 5B: 04: 00: 02 جهاز استشعار الموارد البشرية CSR
الخطوة 2: توصيل الجهاز
سوف نستخدم جاتتول لتوصيل أجهزتنا
-b: عنوان MAC للجهاز
-t: نوع العنوان LE. يمكن أن تكون عامة أو عشوائية ، تحتاج إلى التحقق من مواصفات الجهاز. في هذه الحالة عامة.
-I: الوضع التفاعلي gatttool. سيفتح موجهًا لإرسال أوامر cmds إلى الجهاز
root @ linaro-alip: / home / linaro # sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t public -I
بمجرد فتح المطالبة ، يمكننا إرسال اتصال cmd بالجهاز.
[EE: 52: 5B: 04: 00: 02] [LE]> اتصال محاولة الاتصال بـ EE: 52: 5B: 04: 00: 02
تم الاتصال بنجاح
[EE: 52: 5B: 04: 00: 02] [جنيه]>
الخطوة 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 11handle: 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: 00009a01-0000-1000-8000-00b805 uuid: 00002803-0000-1000-8000-00805f9b34fb مقبض: 0x000b ، uuid: 00002a04-0000-1000-8000-00805f9b34fb مقبض: 0x000c ، uuid: 00002800-0000-1000-8000-00805f9b34fb مقبض: 0x000d2 -1000-8000-00805f9b34fb مقبض: 0x000e ، uuid: 00002a37-0000-1000-8000-00805f9b34fb مقبض: 0x000f ، uuid: 00002902-0000-1000-8000-00805f9b34fb مقبض: 0x0010 ، uuid: 00002803-0000-1000-8000 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 ، اسم الجهاز هو: "CSR HR Sensor"
الخطوة 5: قراءة BPM
[EE: 52: 5B: 04: 00: 02] [LE]> مقبض أساسي: 0x0001 ، مقبض نهاية المجموعة الشاملة: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb مقبض سمة: 0x0005 ، مقبض grp النهائي: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb مقبض Attr: 0x000c ، مقبض نهاية GRP: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb مقبض Attr: 0x0014 ، مقبض grp النهائي: 0x0017 uuid: 0000180f-0000-1000-8000- 00805f9b34fb مقبض Attr: 0x0018 ، مقبض GRP النهائي: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 مقبض attr: 0x0022 ، مقبض grp النهائي: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb
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-00805f9b34fb مقبض:: 00002902-0000-1000-8000-00805f9b34fb مقبض: 0x0010 ، uuid: 00002803-0000-1000-8000-00805f9b34fb مقبض: 0x0011 ، uuid: 00002a38-0000-1000-8000-00805f9b34fb مقبض: 0x0012 ، uuid: 0000 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:
6 د = 109
6 د = 109
6 ج = 108
6 أ = 106
69 = 105
الخطوة 6: قراءة موقع جهاز استشعار الجسم
موقع جهاز استشعار الجسم هو UUID 0x2A38. هذه الخاصية ، حسب واصفها ، تدعم القراءة الأساسية ، حتى نتمكن من قراءة قيمتها مباشرة.
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11 قيمة مميزة / واصف: 03
وفقًا لمواصفات SIG ، يعني 03 "الإصبع"
موصى به:
كيفية قراءة بيانات DHT على شاشة LCD باستخدام Raspberry Pi: 6 خطوات
كيفية قراءة بيانات DHT على شاشة LCD باستخدام Raspberry Pi: تعتبر درجة الحرارة والرطوبة النسبية من بيانات الطقس المهمة في البيئات. يمكن أن يكون الاثنان البيانات التي تقدمها محطة أرصاد جوية مصغرة. يمكن قراءة درجة الحرارة والرطوبة النسبية باستخدام Raspberry Pi باستخدام أنواع مختلفة
كيفية قراءة القيم التناظرية المتعددة باستخدام دبوس تمثيلي واحد: 6 خطوات (بالصور)
كيفية قراءة القيم التناظرية المتعددة باستخدام دبوس تمثيلي واحد: في هذا البرنامج التعليمي ، سأوضح لك كيفية قراءة قيم تناظرية متعددة باستخدام دبوس إدخال تمثيلي واحد فقط
قراءة بيانات مستشعر الموجات فوق الصوتية (HC-SR04) على شاشة LCD مقاس 128 × 128 وتصورها باستخدام Matplotlib: 8 خطوات
قراءة بيانات مستشعر الموجات فوق الصوتية (HC-SR04) على شاشة LCD مقاس 128 × 128 وتصورها باستخدام Matplotlib: في هذه التعليمات ، سنستخدم MSP432 LaunchPad + BoosterPack لعرض بيانات مستشعر بالموجات فوق الصوتية (HC-SR04) على 128 × 128 LCD وإرسال البيانات إلى جهاز الكمبيوتر بشكل تسلسلي وتصورها باستخدام Matplotlib
جهاز تحكم عن بعد لاسلكي باستخدام وحدة 2.4 جيجا هرتز NRF24L01 مع Arduino - جهاز استقبال Nrf24l01 4 قنوات / 6 قنوات للطائرة الرباعية - هليكوبتر ار سي - طائرة RC باستخدام Arduino: 5 خطوات (بالصور)
جهاز تحكم عن بعد لاسلكي باستخدام وحدة 2.4 جيجا هرتز NRF24L01 مع Arduino | جهاز استقبال Nrf24l01 4 قنوات / 6 قنوات للطائرة الرباعية | هليكوبتر ار سي | Rc Plane باستخدام Arduino: لتشغيل سيارة Rc | كوادكوبتر | طائرة بدون طيار | طائرة RC | قارب RC ، نحتاج دائمًا إلى جهاز استقبال وجهاز إرسال ، لنفترض بالنسبة لـ RC QUADCOPTER أننا بحاجة إلى جهاز إرسال واستقبال من 6 قنوات وأن هذا النوع من TX و RX مكلف للغاية ، لذلك سنصنع واحدًا على
حفظ واستعادة القيم المحددة مسبقًا باستخدام NFC (TfCD): 4 خطوات
حفظ واستعادة القيم المعينة مسبقًا باستخدام NFC (TfCD): نريد اختبار كيفية عمله لضبط قيمة أو إعداد معين واستدعاء هذا الإعداد لاحقًا. في هذه التجربة ، استخدمنا علامة NFC لقراءتها ثم حفظ القيمة عليها. في وقت لاحق يمكن فحص العلامة مرة أخرى وإرسال القيمة مرة أخرى لاستعادة حرف