Mục lục:

Phân tích hệ thống Bluetooth của Windows - Phương pháp tiếp cận thẻ cảm biến: 7 bước (có hình ảnh)
Phân tích hệ thống Bluetooth của Windows - Phương pháp tiếp cận thẻ cảm biến: 7 bước (có hình ảnh)

Video: Phân tích hệ thống Bluetooth của Windows - Phương pháp tiếp cận thẻ cảm biến: 7 bước (có hình ảnh)

Video: Phân tích hệ thống Bluetooth của Windows - Phương pháp tiếp cận thẻ cảm biến: 7 bước (có hình ảnh)
Video: Lười học online? Bật quay màn hình lên rồi đi ngủ nà :))) #shorts 2024, Tháng bảy
Anonim
Phân tích hệ thống Bluetooth của Windows - Phương pháp tiếp cận thẻ cảm biến
Phân tích hệ thống Bluetooth của Windows - Phương pháp tiếp cận thẻ cảm biến

Trong phần sau, tôi sẽ phân tích hệ điều hành Windows (OS) theo quan điểm giao tiếp với các thiết bị Bluetooth Low Energy - trong trường hợp của chúng tôi với các loại SensorTags khác nhau: Thunderboard React, Thunderboard Sense (cả hai đều do Silicon Labs sản xuất Company), CC2650STK và CC2541DK (cả hai đều được phát triển bởi Texas Instruments Company).

Bước 1: Phân tích hệ thống Bluetooth của Windows - Phương pháp tiếp cận thẻ cảm biến

Phân tích hệ thống Bluetooth của Windows - Phương pháp tiếp cận thẻ cảm biến
Phân tích hệ thống Bluetooth của Windows - Phương pháp tiếp cận thẻ cảm biến

Trong phần sau, tôi sẽ phân tích hệ điều hành Windows (OS) từ quan điểm giao tiếp với các thiết bị Bluetooth Low Energy - trong trường hợp của chúng tôi với các loại SensorTags khác nhau: Thunderboard React, Thunderboard Sense (cả hai đều do Silicon Labs sản xuất Company), CC2650STK và CC2541DK (cả hai đều được phát triển bởi Texas Instruments Company).

Tôi những gì sau đây, tôi sẽ phân tích Windows 7, Windows 8.1 và các phiên bản Windows 10 sau:

· Cập nhật kỷ niệm (phát hành vào ngày 2 tháng 8 năm 2016; kết thúc hỗ trợ: dự kiến vào tháng 3 năm 2018), · Bản cập nhật dành cho người sáng tạo (phát hành vào ngày 5 tháng 4 năm 2017; kết thúc hỗ trợ: dự kiến vào tháng 9 năm 2018) và

· Bản cập nhật dành cho người sáng tạo mùa thu (phát hành vào ngày 17 tháng 10 năm 2017; kết thúc hỗ trợ: dự kiến vào tháng 3 năm 2019).

Việc phân tích sẽ được thực hiện theo các quan điểm sau:

1. Khả năng ghép nối của hệ điều hành (OS) với SensorTag;

2. Khả năng lấy dữ liệu Truy cập Chung (đây là dịch vụ bắt buộc);

3. Khả năng lấy Thông tin thiết bị (dịch vụ này tiết lộ thông tin nhà sản xuất và / hoặc nhà cung cấp liên quan đến một Thẻ cảm biến cụ thể);

4. Khả năng lấy dữ liệu của SensorTag, sử dụng phương pháp đọc và

5. Khả năng lấy dữ liệu của SensorTag bằng cách sử dụng phương pháp thông báo.

Tất cả các bài kiểm tra đều được thực hiện bằng cách sử dụng phiên bản 9.7.8.0 của ứng dụng BlessTags. Ứng dụng BlessTags được xây dựng để hỗ trợ Windows SDK - Bluetoothapis. Các chức năng như BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices hoặc BluetoothGATTSetCharacteristicValue đã được sử dụng.

Ứng dụng này, ứng dụng BlessTags (BLE SensorTags), có thể được tải xuống từ Ứng dụng Windows Store: https://www.microsoft.com/store/apps/9p054xsjjr1n. Để biết thêm thông tin, bản demo, ứng dụng thực tế, ví dụ, v.v. vui lòng truy cập blog sau:

Bước 2: Windows 10 - Bản cập nhật kỷ niệm - Phiên bản 1607

Image
Image

Phiên bản hệ điều hành Windows 10 này là phiên bản tốt nhất, theo quan điểm của các thiết bị Bluetooth Low Energy. Nó có thể ghép nối mà không gặp bất kỳ sự cố nào với tất cả các SensorTags (bất kể phiên bản phần mềm đang chạy trên chúng), ứng dụng BlessTags này biết cách hoạt động (CC2650STK, Thunderboard React, Thunderboard Sense và CC2541DK) và tất cả thông tin từ Dịch vụ của Bluetooth Nhận Chung Truy cập và Nhận Thông tin Thiết bị được thu thập mà không gặp bất kỳ vấn đề gì.

Phân tích tốc độ thu thập dữ liệu (đối với thiết bị CC2650STK và CC2541DK) bằng cách sử dụng cơ chế thông báo và đọc truyền dữ liệu, chúng ta có thể quan sát những điều sau:

1. thông qua cơ chế thông báo, chúng tôi có thể lấy dữ liệu từ tất cả các cảm biến (tám) từ 150 [ms] đến 150 [ms] mà không gặp bất kỳ sự cố nào;

2. thay vào đó, khi chúng ta đặt thời gian thu thập là 150 [ms] và chúng ta sử dụng cơ chế đọc dữ liệu - trong tình huống hạnh phúc nhất, chúng ta nhận được 713 [ms] và trong trường hợp xấu nhất, chúng ta nhận được 840 [ms].

Nếu chúng tôi phân tích Thunderboard React và Thunderboard Sense, chúng tôi sẽ nhận được kết quả tương đương - chúng hoạt động mà không gặp bất kỳ sự cố nào trong môi trường Windows 10 Anniversary Update.

Trên thực tế, tất cả các phim trình chiếu về các chức năng chính của ứng dụng BlessTags và các tính năng cụ thể khác nhau (như Tiện ích) đã được thực hiện với sự hỗ trợ của Bản cập nhật Windows 10 Anniversary.

Bước 3: Windows 10 - Cập nhật người sáng tạo - Phiên bản 1703

Windows 7
Windows 7

Phiên bản Creators Update của Windows 10 là hệ điều hành (HĐH) tồi tệ nhất theo quan điểm của các thiết bị Bluetooth Low Energy.

Hầu như không có gì hoạt động. Microsoft thừa nhận rằng Bản cập nhật dành cho người sáng tạo đã phá vỡ Bluetooth Low Energy (tham chiếu 1 và tham chiếu 2). Công ty Microsoft đã hứa sẽ có một bản sửa lỗi sớm nhất có thể. Nhưng kể từ đó họ đã phát hành phiên bản cập nhật của Windows (Fall Creators Update) và không có gì xảy ra - cho đến nay trong phiên bản Windows 10 Creators Update, Bluetooth Low Energy vẫn không hoạt động.

Có một số lượng lớn các bài đăng trên các diễn đàn trong đó những người khác nhau phàn nàn về các loại thiết bị Bluetooth khác nhau ngừng hoạt động sau khi nâng cấp lên Creators Update (xem tại đây, xem tại đây, xem tại đây, xem tại đây, v.v.).

Kết quả, tôi sẽ trình bày ngay sau đây, thu được sau nhiều thử nghiệm: (1) trên máy tính để bàn có khóa USB CSR4.0 Bluetooth (CSR8510 A10) và (2) trên máy tính xách tay Dell Inspiron P66F có tích hợp thiết bị Bluetooth LE. Tôi biết có nhiều giải pháp trên internet để khắc phục một số loại sự cố Bluetooth. Tôi đã thử gần như tất cả, nhưng không có gì hoạt động (cập nhật trình điều khiển Bluetooth, chạy trình gỡ rối Windows, tắt và bật các dịch vụ liên quan đến Bluetooth, v.v.)

Vì vậy, hãy trình bày kết quả:

1. CC2650STK:

Một. Trên phiên bản phần mềm cơ sở 1.40, việc ghép nối thiết bị SensorTag với Windows là không thể (tôi lặp lại quá trình nhiều lần, ít nhất 8-10 lần, tôi bật và tắt Bluetooth và thử lại - kết quả vẫn như cũ: không thể thêm thiết bị này).

NS. Trên phiên bản phần sụn 1.20, PC đã phát hiện ra SensorTag và tôi có thể ghép nối SensorTag với PC.

Ngoài ra, tôi có thể lấy dữ liệu Truy cập Chung. Tuy nhiên, tại dịch vụ Nhận thông tin thiết bị, từ 9 đặc điểm chỉ có 6 phản hồi và chỉ từ chúng mới có thể nhận được thông tin.

Thay vào đó, tôi không thể thiết lập thiết bị và không thể truy xuất dữ liệu từ các cảm biến thông qua cơ chế đọc hoặc thông qua thông báo.

2. Thunderboard React:

Hệ điều hành có một hành vi lạ khi quá trình ghép nối được bắt đầu. Trong danh sách các thiết bị được phát hiện, SensorTag xuất hiện và biến mất (với khoảng thời gian là 1… 1,5 giây). Cuối cùng, khi nhấp chuột thành công trên SensorTag, quá trình ghép nối hoàn tất và các đèn LED trên Thunderboard React (màu xanh lam và màu xanh lá cây) có một khoảng thời gian khi chúng nhấp nháy liên tục ở chế độ không điển hình.

Việc đọc các đặc điểm của Dịch vụ Truy cập Chung (0x1800) có thể được thực hiện mà không gặp bất kỳ sự cố nào, nhưng việc đọc từ Dịch vụ Thông tin Thiết bị (0x180A) không thành công trên cả bốn đặc điểm hiện có.

Đặt các cảm biến (được nhúng trên SensorTag), chế độ thu thập dữ liệu (trên Thunderboard React, bạn chỉ có khả năng sau: (1) nhận dữ liệu thông qua thông báo từ 3 cảm biến và (2) để đọc dữ liệu từ bốn cảm biến còn lại) là không thể. Do đó, không thể thu được dữ liệu thực tế từ các cảm biến trực tiếp từ đây.

3. Thunderboard Sense:

Quá trình tạo xung tương tự, được quan sát đối với Thunderboard React, cũng đã tồn tại đối với Thunderboard Sense - khi chúng tôi muốn đạt được quá trình ghép nối. Nhưng ở đây, mọi thứ thậm chí còn tồi tệ hơn: sau khi ghép nối, chương trình BlessTag không thể phát hiện ra SensorTag. Vì vậy, không có thiết bị nào đang hoạt động - không có thực thể nào từ nơi ứng dụng BlessTags để lấy dữ liệu.

4. CC2541DK:

Hành vi này giống với hoạt động của CC2650STK (phiên bản phần sụn 1.40). Ở mỗi lần thử kết nối, bạn sẽ nhận được thông báo lỗi sau: "Thử kết nối lại thiết bị của bạn".

Vì vậy, kết luận, trong phiên bản Windows 10 (Creators Update) này, không thể giao tiếp với bất kỳ loại nào trong số bốn loại SensorTags đã nêu ở trên. Do đó, tôi đề cập (một lần nữa) rằng ở đây tôi đã sử dụng cùng một phiên bản phần mềm mà tôi cũng đã sử dụng trong tất cả các thử nghiệm được thực hiện trên Windows 10 Anniversary Update.

Bước 4: Windows 10 - Bản cập nhật Fall Creators - Phiên bản 1709

Image
Image

Phiên bản Windows 10 này (1709 - HĐH Bản dựng 16299.19) là một bước tiến vượt bậc so với Windows 10 Creators Update (trên BLE hầu như không có gì hoạt động), nhưng vẫn còn một chặng đường dài để đạt được bản cập nhật Windows 10 Anniversary Update. (1607) hệ điều hành

Nhưng hãy xem tại sao tôi lại đưa ra tuyên bố này:

1. CC2650STK (phiên bản phần sụn 1.40) & CC2541DK:

Tôi sẽ xử lý hai thiết bị này đồng thời ở đây vì hành vi của chúng liên quan đến hệ điều hành Windows 10 (1709) là tương tự.

Hoạt động ghép nối và đọc, từ các dịch vụ Truy cập Chung và Thông tin Thiết bị, đang hoạt động hoàn hảo mà không gặp bất kỳ sự cố nào.

Các vấn đề chỉ xảy ra khi chúng ta muốn đọc thông tin từ các cảm biến. Cơ chế truyền dữ liệu thông qua các thông báo hoàn toàn không hoạt động.

Cách duy nhất để lấy dữ liệu từ các cảm biến, được nhúng trong SensorTag, là sử dụng cơ chế đọc trực tiếp từ thiết bị. Cách tiếp cận này có hai vấn đề: (1) tốc độ truyền dữ liệu thấp hơn (như chúng tôi đã trình bày ở trên) và (2) nếu tất cả các cảm biến chấp nhận một trong hai phương thức truyền dữ liệu (thông qua đọc và thông báo), các nút trên SensorTag có thể thẩm vấn chỉ thông qua cơ chế thông báo. Nhờ "tính năng" này của HĐH Windows 10 (1709), ứng dụng BlessTags triển khai, bắt đầu từ phiên bản 9.7.8.0, cũng có phương pháp đọc để thu thập dữ liệu.

Sự cố xuất hiện với CC2650STK SensorTag có phiên bản chương trình cơ sở 1.20. Nếu quá trình ghép nối và đọc dữ liệu từ dịch vụ Truy cập Chung hoạt động rất tốt, thì quá trình đọc từ các dịch vụ Thông tin Thiết bị sẽ không thể thực hiện được. Hơn nữa, các cảm biến đọc (từ SensorTag này với phiên bản phần sụn này) không hoạt động thông qua một trong hai cơ chế có thể có (đọc hoặc thông báo).

2. Thunderboard React:

Ở chế độ tương tự như trong Windows 10 Creators Update, SensorTag xuất hiện và biến mất khi chúng ta muốn thêm thiết bị Bluetooth mới. Hành vi tương tự có thể được đánh dấu trong trung tâm hành động trên nút thao tác nhanh của Bluetooth là “Chưa kết nối” và “Phản ứng Thunderboard” được hiển thị lặp lại (vui lòng xem trong phim sau, quá trình này bắt đầu từ chỉ mục thời gian 5,14 giây). Ngay lập tức chúng ta có thể kết luận rằng Thunderboard React là có tội, chủ yếu là do các kỹ sư của Silicon Labs triển khai sai cơ chế quảng cáo. Tuy nhiên, khi tìm kiếm trên internet, chúng tôi sẽ nhận thấy rằng những người dùng khác đã báo cáo vấn đề tương tự với các loại thiết bị BLE khác, sau khi cài đặt Fall Creators Cập nhật - ví dụ: xem phim này trên YouTube.

Sau khi ghép nối SensorTag, ứng dụng BlessTags không thể tìm thấy thiết bị Thunderboard React. Vì vậy, tại thời điểm này, không có gì hoạt động: Truy cập chung và các dịch vụ Thông tin thiết bị hoặc thu thập dữ liệu từ các cảm biến được nhúng trên Thunderboard React SensorTag.

3. Thunderboard Sense:

Chế độ hoạt động tương tự như một trong Thunderboard React. Thiết bị Bluetooth này được hiển thị và biến mất liên tục. Khi quá trình ghép nối thành công, có thể lấy dữ liệu từ Dịch vụ Truy cập Chung. Nhưng từ thời điểm này, không có gì hoạt động nữa.

Như kết luận, cho đến nay trên Windows 10 Fall Creators Update (1709, bản dựng 16229.19), chỉ có các Thẻ cảm biến do TI (CC2650STK và CC2541DK) sản xuất là hoạt động. Hơn nữa, chúng chỉ hoạt động ở chế độ đọc. Nhưng chú ý! Chỉ phiên bản phần sụn CC2650STK 1.40 mới hoạt động ở chế độ này. Thật không may, khi bạn mua CC2650STK, bạn có khả năng rất cao sẽ lấy phải một thiết bị có bản sửa đổi chương trình cơ sở 1.20. Vì vậy, để có thể giao tiếp với một loại SensorTag như vậy, cần phải nâng cấp ít nhất lên phiên bản phần sụn 1.40.

Liên quan đến bước này, tôi trình bày một đoạn phim chứng minh tất cả những tuyên bố này được thực hiện ở trên cho Windows 10 Fall Creators Update.

Kể từ bản phát hành đầu tiên của Windows 10 Fall Creators Update (bản dựng 16229.19), vào ngày 17 tháng 10 năm 2017, không có cải tiến hoặc sửa lỗi nào liên quan đến Bluetooth LE lên đến KB4054517 (phát hành vào ngày 12 tháng 12 năm 2017). Trong KB4054517 (HĐH Bản dựng 16299.125), có một thay đổi quan trọng trên Bluetooth LE (xem tại đây): “Khắc phục sự cố với các thiết bị Bluetooth được cá nhân hóa không hỗ trợ liên kết”. Vì thông báo này rất khó hiểu, tôi đã quyết định tiếp tục tất cả các phân tích của mình cho đến nay và để xem liệu có bất kỳ cải tiến nào so với bản phát hành đầu tiên của Windows 10 Fall Creators Update (bản dựng 16229.19) hay không. … Và một chút ngạc nhiên, ngay bây giờ tôi có thể nhận: (1) dữ liệu từ Thunderboard Sense (từ các cảm biến được nhúng trên SensorTag nhưng chỉ thông qua cơ chế đọc) và (2) tất cả thông tin từ các dịch vụ Thông tin thiết bị và Truy cập chung. Không có cải tiến nào khác.

Bước 5: Windows 8

Là hệ điều hành Microsoft đầu tiên có hỗ trợ BLE, việc triển khai là khả quan, nhưng còn lâu mới trở thành một hệ điều hành xuất sắc. Các thiết bị duy nhất hoạt động với hệ điều hành này là CC2650STK và CC2541DK.

Đặt thời gian lấy mẫu thành 150 [mili giây], đối với CC2650STK, chúng tôi có thể lấy dữ liệu (từ tất cả các cảm biến nhúng), tuân thủ tốc độ lấy mẫu 150 [mili giây], thông qua cơ chế thông báo mà không gặp bất kỳ sự cố nào. Thật không may, sử dụng cơ chế đọc CCC2650STK, chúng tôi có thể lấy dữ liệu (từ tất cả các cảm biến) với khoảng thời gian 2 giây.

Tình hình đang trở nên tồi tệ hơn khi chúng ta đang nói về CC2541DK. Thông qua cơ chế thông báo, dữ liệu thu được với khoảng thời gian là 0,4… 0,6 giây. Trong khi sử dụng cơ chế đọc, chúng ta có thể lấy dữ liệu với khoảng thời gian dao động là 2,8… 3 giây. Các điều kiện giống nhau: khoảng thời gian thu nhận 150 [ms] từ tất cả các cảm biến được nhúng trên CC2541DK SensorTag.

Bước 6: Windows 7

Công ty Microsoft đã bổ sung hỗ trợ cho ngăn xếp Bluetooth Low Energy (BLE) bắt đầu từ hệ điều hành Windows 8. Họ đã cung cấp một API cho phép các ứng dụng truy cập thiết bị BLE.

Nhưng Microsoft chưa chuyển BLE API sang Windows 7. Ngăn xếp tích hợp của Windows 7 chỉ hỗ trợ Bluetooth phiên bản 2.1 / 3.0, không hỗ trợ BLE (4.0, 4.1 hoặc 4.2). Vì vậy, theo quan điểm của một nhà phát triển, không thể giao tiếp trong Windows 7 với thiết bị BLE sử dụng ngăn xếp của Windows 7.

Công ty TI có một chương trình gọi là BLE Device Monitor có thể: (1) chạy trên Windows 7 và (2) để giao tiếp với SensorTag. Nhưng bạn phải sử dụng cho các USB dongle đặc biệt này (ví dụ: CC2540 Bluetooth Low Energy USB). Nếu mã nguồn cho USB dongle là miễn phí, thì mã nguồn cho BLE Device Monitor sẽ không khả dụng - nó chỉ dành cho mục đích sử dụng nội bộ của công ty TI.

Bước 7: Kết luận

Kết luận
Kết luận

Bản cập nhật kỷ niệm Windows 10 (Phiên bản 1607) là phiên bản Windows tốt nhất từng được Microsoft thực hiện theo quan điểm của các thiết bị Bluetooth Low Energy (BLE) - trong trường hợp của chúng tôi là SensorTags. Rõ ràng, điều này cũng là do số lượng cải tiến đáng kể đã diễn ra ở cấp độ Bluetooth LE trong các phiên bản hệ điều hành sau (xem thêm thông tin: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 và 14393.1083.

Bạn có thể tải xuống ứng dụng BlessTags (BLE SensorTags) từ Ứng dụng Windows Store: https://www.microsoft.com/store/apps/9p054xsjjr1n. Để biết thêm thông tin, bản demo, ứng dụng thực tế, ví dụ, v.v. vui lòng truy cập blog sau:

Tổng hợp tất cả các kết quả trên chúng ta sẽ có được bảng kết hợp với bước này.

Đề xuất: