সুচিপত্র:
- ধাপ 1: BLE ডিভাইস স্ক্যান করুন
- ধাপ 2: সংযোগকারী ডিভাইস
- ধাপ 3: ডিভাইসের বৈশিষ্ট্য পুনরুদ্ধার
- ধাপ 4: ডিভাইসের নাম পড়া
- ধাপ 5: BPM পড়া
- ধাপ 6: বডি সেন্সরের অবস্থান পড়া
ভিডিও: CSR1010 এবং ড্রাগনবোর্ড 410c: 6 ধাপ ব্যবহার করে একটি BLE ডিভাইস থেকে মানগুলি পড়া
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:02
এই টিউটোরিয়ালটি দেখায় কিভাবে লিনারোর সাথে ড্রাগনবোর্ড 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 মানে "আঙুল"
প্রস্তাবিত:
একটি ESP8266 এবং একটি BME280: 10 ধাপ ব্যবহার করে একটি অ্যাপল হোমকিট তাপমাত্রা সেন্সর ডিভাইস তৈরি করুন
একটি ESP8266 এবং একটি BME280 ব্যবহার করে একটি অ্যাপল হোমকিট তাপমাত্রা সেন্সর ডিভাইস তৈরি করুন: আজকের নির্দেশে, আমরা AOSONG AM2302/DHT22 অথবা BME280 তাপমাত্রা/আর্দ্রতা সেন্সর, YL-69 আর্দ্রতা সেন্সরের উপর ভিত্তি করে কম খরচে তাপমাত্রা, আর্দ্রতা এবং আর্দ্রতা সেন্সর তৈরি করব। এবং ESP8266/Nodemcu প্ল্যাটফর্ম। এবং প্রদর্শনের জন্য
একটি 128 × 128 LCD তে অতিস্বনক সেন্সর (HC-SR04) ডেটা পড়া এবং Matplotlib ব্যবহার করে এটি দৃশ্যমান করা: 8 টি ধাপ
128 × 128 এলসিডিতে আল্ট্রাসোনিক সেন্সর (HC-SR04) ডেটা পড়া এবং ম্যাটপ্লটলিব ব্যবহার করে এটি ভিজ্যুয়ালাইজ করা: এই নির্দেশনায়, আমরা একটি 128 × 128 এ একটি অতিস্বনক সেন্সরের (HC-SR04) ডেটা প্রদর্শন করতে MSP432 লঞ্চপ্যাড + বুস্টারপ্যাক ব্যবহার করব। এলসিডি এবং ক্রমানুসারে পিসিতে ডেটা পাঠান এবং ম্যাটপ্লটলিব ব্যবহার করে এটি কল্পনা করুন
Arduino ব্যবহার করে বাহ্যিক EEPROM- এ ডেটা পড়া এবং লেখা: 5 টি ধাপ
আরডুইনো ব্যবহার করে বহিরাগত EEPROM- এ ডেটা পড়া এবং লেখা: EEPROM এর অর্থ হচ্ছে ইলেক্ট্রিক্যালি ইরেজেবল প্রোগ্রামেবল রিড-ওনলি মেমোরি। EEPROM খুবই গুরুত্বপূর্ণ এবং দরকারী কারণ এটি মেমরির একটি অ-উদ্বায়ী রূপ। এর মানে হল যে বোর্ডটি বন্ধ থাকলেও, EEPROM চিপ এখনও সেই প্রোগ্রামটি ধরে রাখে যা
একটি RaspberryPI এবং DHT22: 11 ধাপ ব্যবহার করে একটি অ্যাপল হোমকিট তাপমাত্রা সেন্সর (DHT22) ডিভাইস তৈরি করুন
একটি RaspberryPI এবং DHT22 ব্যবহার করে একটি অ্যাপল হোমকিট তাপমাত্রা সেন্সর (DHT22) ডিভাইস তৈরি করুন: আমি আমার ক্রলস্পেসে কী ঘটছে তা পর্যবেক্ষণ করতে কম খরচের তাপমাত্রা / আর্দ্রতা সেন্সর খুঁজছিলাম, কারণ আমি দেখেছি যে এই বসন্তটি খুব ভেজা ছিল , এবং অনেক স্যাঁতসেঁতে ছিল। তাই আমি একটি যুক্তিসঙ্গত মূল্যের সেন্সর খুঁজছিলাম যা আমি পি করতে পারি
ড্রাগনবোর্ড 410 সি বা ড্রাগনবোর্ড 820 সি এর জন্য অগমেন্টেড রিয়েলিটি (এআর) ওপেনসিভি এবং পাইথন 3.5: 4 ধাপ
ড্রাগনবোর্ড 410 সি বা ড্রাগনবোর্ড 820 সি এর জন্য অগমেন্টেড রিয়েলিটি (এআর) ওপেনসিভি এবং পাইথন 3.5 ব্যবহার করে: এই নির্দেশাবলী বর্ণনা করে কিভাবে ওপেনসিভি, পাইথন 3.5, এবং পাইথন 3.5 এর জন্য নির্ভরশীলতা কিভাবে বর্ধিত বাস্তবতা অ্যাপ্লিকেশন চালানো যায়