সুচিপত্র:

CSR1010 এবং ড্রাগনবোর্ড 410c: 6 ধাপ ব্যবহার করে একটি BLE ডিভাইস থেকে মানগুলি পড়া
CSR1010 এবং ড্রাগনবোর্ড 410c: 6 ধাপ ব্যবহার করে একটি BLE ডিভাইস থেকে মানগুলি পড়া

ভিডিও: CSR1010 এবং ড্রাগনবোর্ড 410c: 6 ধাপ ব্যবহার করে একটি BLE ডিভাইস থেকে মানগুলি পড়া

ভিডিও: CSR1010 এবং ড্রাগনবোর্ড 410c: 6 ধাপ ব্যবহার করে একটি BLE ডিভাইস থেকে মানগুলি পড়া
ভিডিও: I Tried Bullet Climbing On Mount Fuji 🇯🇵 Japan 2024, নভেম্বর
Anonim
CSR1010 এবং ড্রাগনবোর্ড 410c ব্যবহার করে একটি BLE ডিভাইস থেকে মূল্য পড়ছে
CSR1010 এবং ড্রাগনবোর্ড 410c ব্যবহার করে একটি BLE ডিভাইস থেকে মূল্য পড়ছে

এই টিউটোরিয়ালটি দেখায় কিভাবে লিনারোর সাথে ড্রাগনবোর্ড 410c ব্যবহার করে BLE ডিভাইস CSR1010 থেকে মান পড়তে হয়

এই উদাহরণে, 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 CSR HR Sensor

ধাপ 2: সংযোগকারী ডিভাইস

আমরা আমাদের ডিভাইস সংযোগ করতে gatttool ব্যবহার করব

-বি: ডিভাইস ম্যাক ঠিকানা

-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] [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 handle: 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-0000-0000 uuid: 00002803-0000-1000-8000-00805f9b34fb হ্যান্ডেল: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb হ্যান্ডেল: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb হ্যান্ডেল: 0x0000-0000 -1000-8000-00805f9b34fb হ্যান্ডেল: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb হ্যান্ডেল: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb হ্যান্ডেল: 0x0010, uuid: 0000-2803 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

হেক্সকে ASCII তে রূপান্তরিত করা, ডিভাইসের নাম হল: '' CSR HR Sensor"

ধাপ 5: BPM পড়া

[EE: 52: 5B: 04: 00: 02] [LE]> Primaryattr হ্যান্ডেল: 0x0001, শেষ grp হ্যান্ডেল: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb attr handle: 0x0005, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb attr handle: 0x000c, end grp handle: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb attr handle: 0x0014, end grp handle: 0x0017 uuid: 0000180-800-0000 00805f9b34fb attr হ্যান্ডেল: 0x0018, শেষ grp হ্যান্ডেল: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 attr হ্যান্ডেল: 0x0022, শেষ grp হ্যান্ডেল: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34b

হার্ট রেট সার্ভিস 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-00805f9b34b: 00002902-0000-1000-8000-00805f9b34fb হ্যান্ডেল: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb হ্যান্ডেল: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb হ্যান্ডেল: 0x002 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 (সাপোর্ট রাইট) সহ

এখন আমরা জানি যে হার্ট রেট পরিমাপ শুধুমাত্র বিজ্ঞপ্তি দিয়ে কাজ করে। এর মানে হল যে প্রথমে আমাদের 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 মানে "আঙুল"

প্রস্তাবিত: