Სარჩევი:
- ნაბიჯი 1: BLE მოწყობილობის სკანირება
- ნაბიჯი 2: მოწყობილობის დაკავშირება
- ნაბიჯი 3: მოწყობილობის მახასიათებლების მიღება
- ნაბიჯი 4: მოწყობილობის სახელის კითხვა
- ნაბიჯი 5: BPM– ის კითხვა
- ნაბიჯი 6: სხეულის სენსორის ადგილმდებარეობის კითხვა
ვიდეო: ღირებულებების წაკითხვა BLE მოწყობილობიდან CSR1010 და Dragonboard 410c გამოყენებით: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ეს გაკვეთილი გვიჩვენებს, თუ როგორ უნდა წაიკითხოთ ღირებულებები 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 CSR HR სენსორი
ნაბიჯი 2: მოწყობილობის დაკავშირება
ჩვენ გამოვიყენებთ gatttool- ს ჩვენი მოწყობილობის დასაკავშირებლად
-ბ: მოწყობილობის MAC მისამართი
-t: LE მისამართის ტიპი. შეიძლება იყოს საჯარო ან შემთხვევითი, საჭიროა მოწყობილობის სპეციფიკაციის შემოწმება. ამ შემთხვევაში საჯაროა.
-I: gatttool ინტერაქტიული რეჟიმი. ის გახსნის მოთხოვნას მოწყობილობაზე cmds გაგზავნის
root@linaro -alip:/home/linaro# sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t საჯარო -მე
მას შემდეგ, რაც მოთხოვნა ღიაა, ჩვენ შეგვიძლია გამოვიგზავნოთ cmd მოწყობილობაზე.
[EE: 52: 5B: 04: 00: 02] [LE]> დაკავშირება EE– სთან დაკავშირების მცდელობა: 52: 5 B: 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: 00002803-0000-1000-8000-00805f9b34fb სახელური: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb სახელური: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34f00: 0000000000000000000000000000000000000000000000000000000000000000000000000000002e02e02ee2e02e02e02e2e02ee02ee02eee -1000-8000-00805f9b34fb სახელური: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb სახელური: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb სახელური: 0x0010, uuid: 000000000 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 20 52 52 53 53 6e 73 6f 72
ექვსკუთხედის გარდაქმნა ASCII– ზე, მოწყობილობის სახელია: '' CSR HR სენსორი ''
ნაბიჯი 5: BPM– ის კითხვა
[EE: 52: 5B: 04: 00: 02] [LE]> პირველადი სახელური: 0x0001, ბოლო grp სახელური: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb attr სახელური: 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-00 00805f9b34fb attr სახელური: 0x0018, ბოლო grp სახელური: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 attr სახელური: 0x0022, ბოლო grp სახელური: 0xffff uuid: 0000180a-0000-1000-8000-0080599
გულისცემის სერვისი 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-00000f00b, f000b:: 00002902-0000-1000-8000-00805f9b34fb სახელური: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb სახელური: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb u: 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 2 ა
გაითვალისწინეთ რომ:
- სახელური 0x000d არის CCCD სერვისისთვის 2a37 (გულისცემის გაზომვა) ბიტი 10 -ით (მხარდაჭერა NOTIFY)
- სახელური 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 ნიშნავს "თითს"
გირჩევთ:
7 სეგმენტი ADC #Arduino ღირებულებების ჩვენებისათვის, #Arduino: 4 ნაბიჯი
7 სეგმენტი ADC #Arduino ღირებულებების ჩვენებისთვის, #Ardduino: ამ სტატიაში მე გავაკეთებ პროექტს, რომელიც ჯერ კიდევ წინა სტატიასთან არის დაკავშირებული. კერძოდ, ADC მონაცემების დამუშავება. ასე რომ თქვენ არ გჭირდებათ სერიული მონიტორი, რომ ნახოთ adc მონაცემების მნიშვნელობა. ამ სტატიაში მე გავაკეთებ ADC Value მაყურებლის ჩვენებას. ასე რომ თქვენ არ
ულტრაბგერითი სენსორის (HC-SR04) მონაცემების წაკითხვა 128 × 128 LCD- ზე და მისი ვიზუალიზაცია Matplotlib– ის გამოყენებით: 8 ნაბიჯი
ულტრაბგერითი სენსორის (HC-SR04) მონაცემების წაკითხვა 128 × 128 LCD– ზე და მისი ვიზუალიზაცია Matplotlib– ის გამოყენებით: ამ ინსტრუქციურად, ჩვენ გამოვიყენებთ MSP432 LaunchPad + BoosterPack– ს ულტრაბგერითი სენსორის (HC-SR04) მონაცემების ჩვენებაზე 128 × 128 – ზე LCD და გაგზავნეთ მონაცემები კომპიუტერზე სერიულად და წარმოიდგინეთ იგი Matplotlib– ის გამოყენებით
გარე EEPROM– ის მონაცემების წაკითხვა და ჩაწერა Arduino– ს გამოყენებით: 5 ნაბიჯი
გარე EEPROM– ის მონაცემების წაკითხვა და ჩაწერა Arduino– ს გამოყენებით: EEPROM ნიშნავს ელექტრონულად წაშლადი პროგრამირებადი მხოლოდ წაკითხვის მეხსიერებას. EEPROM არის ძალიან მნიშვნელოვანი და გამოსადეგი, რადგან ეს არის მეხსიერების არასტაბილური ფორმა. ეს ნიშნავს, რომ მაშინაც კი, როდესაც დაფა გამორთულია, EEPROM ჩიპი კვლავ ინარჩუნებს პროგრამას, რომელიც
ობიექტის გამოვლენა W/ Dragonboard 410c ან 820c OpenCV და Tensorflow– ის გამოყენებით .: 4 ნაბიჯი
ობიექტის გამოვლენა W/ Dragonboard 410c ან 820c OpenCV და Tensorflow– ის გამოყენებით .: ეს ინსტრუქცია აღწერს თუ როგორ უნდა დააინსტალიროთ OpenCV, Tensorflow და მანქანათმცოდნეობის ჩარჩოები Python 3.5– ისთვის, რათა გაუშვათ ობიექტის გამოვლენის პროგრამა
Arduino ინვერსიული მაგნიტრონის გადამცემის წაკითხვა: 3 ნაბიჯი
Arduino ინვერსიული Magnetron Transducer Readout: როგორც ჩემი მიმდინარე პროექტის ნაწილი, რომელიც აღწერს ჩემი წინსვლის ულტრა მაღალი ვაკუუმ ნაწილაკების ფიზიკის სამყაროში, ის მოვიდა პროექტის იმ ნაწილში, რომელიც საჭიროებდა ელექტრონიკას და კოდირებას. მე შევიძინე MKS– ის ზედმეტი