Mục lục:

Đọc giá trị từ thiết bị BLE bằng CSR1010 và Dragonboard 410c: 6 bước
Đọc giá trị từ thiết bị BLE bằng CSR1010 và Dragonboard 410c: 6 bước

Video: Đọc giá trị từ thiết bị BLE bằng CSR1010 và Dragonboard 410c: 6 bước

Video: Đọc giá trị từ thiết bị BLE bằng CSR1010 và Dragonboard 410c: 6 bước
Video: # 5 - Tập đọc tiếng Pháp - Từ vựng về Căn bếp ( LA CUISINE ) 2024, Tháng mười một
Anonim
Đọc giá trị từ thiết bị BLE bằng CSR1010 và Dragonboard 410c
Đọc giá trị từ thiết bị BLE bằng CSR1010 và Dragonboard 410c

Hướng dẫn này cho thấy cách đọc các giá trị từ thiết bị BLE CSR1010 bằng Dragonboard 410c với Linaro

Trong ví dụ này, CSR1010 đang mô phỏng cảm biến nhịp tim.

Bước 1: Quét thiết bị BLE

Trong bước này, hãy kiểm tra xem ứng dụng khách BT của bạn đã sẵn sàng để quét các thiết bị BLE chưa.

root @ linaro-alip: / home / linaro # sudo hcitool lescan

LE Scan… 18: EE: 69: 00: CE: 00 (không xác định) 18: EE: 69: 00: CE: 00 (không xác định) EE: 52: 5B: 04: 00: 02 CSR HR Sensor

Bước 2: Kết nối thiết bị

Chúng tôi sẽ sử dụng gatttool để kết nối thiết bị của mình

-b: Địa chỉ MAC của thiết bị

-t: Kiểu địa chỉ LE. Có thể công khai hoặc ngẫu nhiên, cần kiểm tra thông số thiết bị. Trong trường hợp này là công khai.

-Tôi: chế độ tương tác gatttool. Nó sẽ mở lời nhắc gửi cmd tới thiết bị

root @ linaro-alip: / home / linaro # sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t public -I

Khi lời nhắc mở ra, chúng tôi có thể gửi cmd kết nối đến thiết bị.

[EE: 52: 5B: 04: 00: 02] [LE]> connectPhải kết nối với EE: 52: 5B: 04: 00: 02

Kết nối thành công

[EE: 52: 5B: 04: 00: 02] [LE]>

Bước 3: Truy xuất các đặc điểm của thiết bị

Truy xuất các đặc điểm của thiết bị
Truy xuất các đặc điểm của thiết bị

Sau khi thiết bị được kết nối, chúng tôi có thể đọc tất cả các dịch vụ hiện có bằng cách gửi cmd "chính"

Dựa trên UUID dịch vụ, chúng tôi có thể khám phá loại dịch vụ trong đặc tả GATT

www.bl Bluetooth.com/specification/gatt/services

Bước 4: Đọc tên thiết bị

Đọc tên thiết bị
Đọc tên thiết bị

Hãy cùng khám phá các đặc điểm được đọc trên Hồ sơ truy cập chung (uuid = 1800). Đầu tiên, chúng ta cần lấy các giá trị xử lý dịch vụ, được mô tả trên hình đầu tiên, trong trường hợp này, bắt đầu từ 5 đến 11. Bây giờ chúng ta có thể truy xuất tất cả các xử lý trong khoảng thời gian này bằng cách sử dụng cmd char-desc

[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11handle: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb handle: 0x0006, uuid: 00002803-0000-1000-8000- 00805f9b34fb xử lý: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb xử lý: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb xử lý: 0x0009, uuid: 00002a01-000080af9f9 uuid: 00002803-0000-1000-8000-00805f9b34fb xử lý: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb xử lý: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb uuid: 0x000d, 0000280 -1000-8000-00805f9b34fb xử lý: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb xử lý: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb xử lý: 0x0010, uuid: 00002803-0000 00805f9b34fb xử lý: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb

Theo thông số kỹ thuật Cấu hình truy cập chung, UUID 2A00 đề cập đến Tên thiết bị.

Xem xét rằng 2a00 là tay cầm 0x0007 trong thiết bị của chúng tôi, hãy đọc giá trị

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 7 Giá trị đặc trưng / bộ mô tả: 43 53 52 20 48 52 20 53 65 6e 73 6f 72

Chuyển đổi hex sang ASCII, tên thiết bị là: '' CSR HR Sensor"

Bước 5: Đọc BPM

[EE: 52: 5B: 04: 00: 02] [LE]> bộ điều khiển chính: 0x0001, bộ điều khiển grp kết thúc: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb Bộ điều khiển đính kèm: 0x0005, bộ điều khiển grp kết thúc: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb Tay cầm điều chỉnh: 0x000c, tay cầm grp kết thúc: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb Tay cầm điều chỉnh: 0x0014, tay cầm grp cuối: 0x0017 uuid: 0000180f-0000-1000-8000- 00805f9b34fb Bộ điều khiển đính kèm: 0x0018, bộ điều khiển grp cuối: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 Bộ điều khiển đính kèm: 0x0022, bộ điều khiển grp cuối: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb

UUID của dịch vụ Nhịp tim là 0x180d, do đó, khoảng thời gian xử lý là từ 0x000c cho đến 0x0013

[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 0x00c 0x0013

xử lý: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb xử lý: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb xử lý: 0x000e, uuid: 00002a37-0000-1000-8000-00805 uuidb34000fb, xử lý: 0x34000fb: 00002902-0000-1000-8000-00805f9b34fb xử lý: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb xử lý: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb xử lý: 0x00 000012, uuid: 0x000012, uuid: 1000-8000-00805f9b34fb xử lý: 0x0013, uuid: 00002a39-0000-1000-8000-00805f9b34fb

Đọc tất cả các Khai báo Đặc điểm (UUID 0x2803).

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x000d

Giá trị đặc trưng / bộ mô tả: 10 0e 00 37 2a [EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x0010 Giá trị đặc trưng / bộ mô tả: 02 11 00 38 2a [EE: 52: 5B: 04:00:02] [LE]> char-read-hnd 0x0012 Giá trị đặc tính / bộ mô tả: 08 13 00 39 2a

Thông báo rằng:

- tay cầm 0x000d là CCCD cho dịch vụ 2a37 (Đo nhịp tim) với bit 10 (hỗ trợ THÔNG BÁO)

- tay cầm 0x0010 là CCCD cho dịch vụ 2a38 (Vị trí cảm biến cơ thể) với bit 02 (hỗ trợ ĐỌC)

- tay cầm 0x0012 là CCCD cho dịch vụ 2a39 (Điểm kiểm soát nhịp tim) với bit 08 (hỗ trợ WRITE)

Giờ đây, chúng tôi biết rằng tính năng Đo nhịp tim chỉ hoạt động khi có thông báo. Có nghĩa là trước tiên chúng ta phải đăng ký các thay đổi giá trị trong CCCD của nó (UUID 0x2902), trong trường hợp này là xử lý 0xf

[EE: 52: 5B: 04: 00: 02] [LE]> char-write-req 0x00f 0100

Xử lý thông báo = 0x000e giá trị: 16 65 f3 01 Giá trị đặc tính được ghi thành công Xử lý thông báo = 0x000e giá trị: 16 6d fa 01 Xử lý thông báo = 0x000e giá trị: 16 6d fa 01 Xử lý thông báo = 0x000e giá trị: 16 6c f9 01 Xử lý thông báo = giá trị 0x000e: 16 6a f7 01 Xử lý thông báo = giá trị 0x000e: 16 69 f6 01

Theo đặc điểm kỹ thuật hồ sơ, số hex thứ hai là thông tin BPM.

BPM:

6d = 109

6d = 109

6c = 108

6a = 106

69 = 105

Bước 6: Đọc vị trí cảm biến cơ thể

Đọc vị trí cảm biến cơ thể
Đọc vị trí cảm biến cơ thể

Vị trí Cảm biến Cơ thể là UUID 0x2A38. Theo bộ mô tả của nó, đặc tính này hỗ trợ đọc cơ bản, vì vậy chúng ta có thể đọc trực tiếp giá trị của nó.

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11 Giá trị đặc trưng / bộ mô tả: 03

Theo đặc điểm kỹ thuật của SIG, 03 có nghĩa là "Ngón tay"

Đề xuất: