Isi kandungan:

Analisis Sistem Bluetooth Windows - Pendekatan SensorTag: 7 Langkah (dengan Gambar)
Analisis Sistem Bluetooth Windows - Pendekatan SensorTag: 7 Langkah (dengan Gambar)

Video: Analisis Sistem Bluetooth Windows - Pendekatan SensorTag: 7 Langkah (dengan Gambar)

Video: Analisis Sistem Bluetooth Windows - Pendekatan SensorTag: 7 Langkah (dengan Gambar)
Video: SULTAN MEDAN INDRAKENZ NAIK JET PRIBADI KE PULAU PRIBADI!! 2024, Julai
Anonim
Analisis Sistem Bluetooth Windows - Pendekatan SensorTag
Analisis Sistem Bluetooth Windows - Pendekatan SensorTag

Berikut ini, saya akan melakukan analisis sistem operasi Windows (OS) dari sudut komunikasi dengan peranti Bluetooth Low Energy - dalam kes kami dengan pelbagai jenis SensorTags: Thunderboard React, Thunderboard Sense (kedua-duanya dihasilkan oleh Silicon Labs Syarikat), CC2650STK dan CC2541DK (kedua-duanya dibangunkan oleh Texas Instruments Company).

Langkah 1: Analisis Sistem Bluetooth Windows - Pendekatan SensorTag

Analisis Sistem Bluetooth Windows - Pendekatan SensorTag
Analisis Sistem Bluetooth Windows - Pendekatan SensorTag

Berikut ini, saya akan melakukan analisis sistem operasi Windows (OS) dari sudut komunikasi dengan peranti Bluetooth Low Energy - dalam kes kami dengan pelbagai jenis SensorTags: Thunderboard React, Thunderboard Sense (kedua-duanya dihasilkan oleh Silicon Labs Syarikat), CC2650STK dan CC2541DK (kedua-duanya dibangunkan oleh Texas Instruments Company).

Saya mengikuti, saya akan menganalisis Windows 7, Windows 8.1 dan versi Windows 10 berikut:

· Kemas kini Ulang Tahun (dikeluarkan pada 2 Ogos 2016; akhir sokongan: sementara Mac 2018), · Pembaruan Pencipta (dikeluarkan pada 5 April 2017; akhir sokongan: sementara September 2018) dan

· Fall Creators Update (dikeluarkan pada 17 Oktober 2017; akhir sokongan: sementara Mac 2019).

Analisis akan dilakukan dari sudut pandangan berikut:

1. Keupayaan sistem operasi (OS) berpasangan dengan SensorTag;

2. Keupayaan untuk mendapatkan data Akses Generik (ini adalah perkhidmatan wajib);

3. Keupayaan untuk mendapatkan Maklumat Peranti (perkhidmatan ini memperlihatkan maklumat pengeluar dan / atau vendor yang berkaitan dengan SensorTag tertentu);

4. Keupayaan untuk mendapatkan data SensorTag, menggunakan pendekatan membaca dan

5. Keupayaan untuk mendapatkan data SensorTag, menggunakan pendekatan pemberitahuan.

Semua ujian dilakukan dengan menggunakan versi 9.7.8.0 dari aplikasi diberkati. Aplikasi diberkati dibangun sebagai sokongan Windows SDK - Bluetoothapis. Fungsi seperti BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices atau BluetoothGATTSetCharacteristicValue telah digunakan.

Aplikasi ini, aplikasi luckTags (BLE SensorTags), boleh dimuat turun dari Windows Store Apps: https://www.microsoft.com/store/apps/9p054xsjjr1n. Untuk maklumat lebih lanjut, demo, aplikasi praktikal, contoh dll sila lawati blog berikut:

Langkah 2: Windows 10 - Kemas kini Ulang Tahun - Versi 1607

Image
Image

Versi sistem operasi Windows 10 ini adalah yang terbaik, dari sudut pandang peranti Bluetooth Tenaga Rendah. Ia dapat berpasangan tanpa masalah dengan semua SensorTags (tanpa mengira versi perisian yang dijalankan), yang mana aplikasi diberkatiTags tahu bagaimana berfungsi (CC2650STK, Thunderboard React, Thunderboard Sense dan CC2541DK), dan semua maklumat dari Perkhidmatan Bluetooth Dapatkan Generik Akses dan Dapatkan Maklumat Peranti diperoleh tanpa masalah.

Menganalisis kelajuan pemerolehan data (untuk peranti CC2650STK dan CC2541DK) menggunakan mekanisme pemberitahuan dan pembacaan pemindahan data, kita dapat melihat perkara berikut:

1. melalui mekanisme pemberitahuan, kita dapat memperoleh data dari semua sensor (lapan) dari 150 [ms] hingga 150 [ms] tanpa masalah;

2. sebaliknya, apabila kita menetapkan masa pemerolehan menjadi 150 [ms] dan kita menggunakan mekanisme pembacaan data - dalam keadaan paling gembira, kita mendapat 713 [ms] dan dalam keadaan terburuk, kita mendapat 840 [ms].

Sekiranya kita akan menganalisis Thunderboard React dan Thunderboard Sense, kita akan mendapat hasil yang setara - ia berfungsi tanpa masalah dalam persekitaran Windows 10 Anniversary Update.

Sebenarnya, semua filem persembahan fungsi utama aplikasi diberkati dan pelbagai ciri khas (seperti Gadget) telah dibuat dengan sokongan Windows 10 Anniversary Update.

Langkah 3: Windows 10 - Kemas kini Pencipta - Versi 1703

Windows 7
Windows 7

Versi Pembuat Pembaruan Windows 10 adalah sistem operasi (OS) terburuk dari sudut pandang peranti Tenaga Rendah Bluetooth.

Hampir tidak ada yang berfungsi. Microsoft mengakui bahawa Pembaruan Pencipta memecahkan Tenaga Rendah Bluetooth (rujukan 1 dan rujukan 2). Syarikat Microsoft menjanjikan perbaikan terbaru secepat mungkin. Tetapi sejak itu mereka telah melancarkan versi Windows yang diperbaharui (Fall Creators Update) dan tidak ada yang terjadi - sehingga kini dalam versi Windows 10 Creators Update, Bluetooth Low Energy masih tidak berfungsi.

Terdapat sebilangan besar catatan di forum di mana pelbagai orang mengeluh mengenai pelbagai jenis peranti Bluetooth yang berhenti berfungsi setelah menaik taraf ke Pembuat Pembaruan (lihat di sini, lihat di sini, lihat di sini, lihat di sini dll.).

Hasilnya, saya akan tunjukkan segera, diperoleh setelah banyak ujian: (1) pada PC desktop yang mempunyai dongle USB Bluetooth CSR4.0 (CSR8510 A10) dan (2) pada komputer riba Dell Inspiron P66F dengan peranti Bluetooth LE bersepadu. Saya tahu terdapat banyak penyelesaian di internet untuk memperbaiki beberapa jenis masalah Bluetooth. Saya mencuba hampir semua, tetapi tidak ada yang berjaya (kemas kini pemacu Bluetooth, jalankan penyelesai masalah Windows, lumpuhkan dan aktifkan perkhidmatan berkaitan Bluetooth dll.)

Oleh itu, mari tunjukkan hasilnya:

1. CC2650STK:

a. Pada firmware versi 1.40, memasangkan peranti SensorTag dengan Windows adalah mustahil (saya mengulangi prosesnya beberapa kali, sekurang-kurangnya 8-10 kali, saya menghidupkan dan mematikan Bluetooth dan saya mencuba lagi - hasilnya sama: tidak mungkin tambah peranti ini).

b. Pada firmware versi 1.20, PC menemui SensorTag dan saya dapat memasangkan SensorTag dengan PC.

Juga, saya dapat memperoleh data Akses Generik. Tetapi, di perkhidmatan Dapatkan Maklumat Peranti, dari 9 ciri hanya 6 yang memberi respons dan hanya dari mereka dapat memperoleh maklumat.

Sebaliknya, saya tidak dapat menyiapkan peranti dan saya tidak dapat mengambil data dari sensor sama ada melalui mekanisme baca atau melalui pemberitahuan.

2. Reaksi Petir:

Sistem operasi mempunyai tingkah laku yang aneh ketika proses memasangkan dijalankan. Dalam senarai peranti yang ditemui, SensorTag muncul dan hilang (dengan jangka masa 1… 1,5 s). Akhirnya, apabila klik tetikus berjaya di SensorTag, proses memasangkan selesai dan LED pada Thunderboard React (yang biru dan hijau) mempunyai tempoh ketika mereka berkelip berturut-turut dalam mod yang tidak biasa.

Pembacaan ciri-ciri Perkhidmatan Akses Generik (0x1800) dapat dilakukan tanpa masalah, tetapi pembacaan dari Perkhidmatan Maklumat Peranti (0x180A) gagal pada keempat-empat ciri yang ada.

Menetapkan sensor (tertanam pada SensorTag), mod memperoleh data (di Thunderboard React anda hanya mempunyai kemungkinan berikut: (1) untuk mendapatkan data melalui pemberitahuan dari 3 sensor dan (2) untuk membaca data dari empat sensor lain) mustahil. Oleh itu, kemustahilan untuk mendapatkan data sebenar dari sensor terhasil terus dari sini.

3. Rasa Petir:

Proses berdenyut yang sama, diperhatikan untuk Thunderboard React, didapati juga berlaku untuk Thunderboard Sense - ketika kami ingin mencapai proses pasangan. Tetapi di sini, keadaan menjadi lebih teruk: setelah berpasangan, program diberkati tidak dapat mengesan SensorTag. Jadi, tidak ada peranti aktif - tidak ada entiti dari mana aplikasi diberkati untuk memperoleh data.

4. CC2541DK:

Tingkah laku itu sama dengan kelakuan CC2650STK (versi firmware 1.40). Pada setiap percubaan sambungan, anda akan mendapat mesej ralat berikut: "Cuba sambungkan peranti anda sekali lagi".

Oleh itu, kesimpulannya, dalam versi Windows 10 (Pembaruan Pencipta) ini, mustahil untuk berkomunikasi dengan mana-mana daripada empat jenis SensorTag yang dinyatakan di atas. Oleh itu, saya menyebutkan (sekali lagi) bahawa di sini saya telah menggunakan versi perisian yang sama dengan yang saya juga gunakan dalam semua ujian yang dibuat pada Windows 10 Anniversary Update.

Langkah 4: Windows 10 - Kemas kini Pencipta Kejatuhan - Versi 1709

Image
Image

Versi Windows 10 (1709 - OS Build 16299.19) ini merupakan langkah maju yang besar, berbanding dengan Windows 10 Creators Update (di BLE hampir tidak ada yang berfungsi), tetapi masih mempunyai jalan panjang untuk sampai ke tahap Windows 10 Anniversary Update (1607) sistem operasi

Tetapi mari kita lihat mengapa saya membuat kenyataan ini:

1. CC2650STK (versi firmware 1.40) & CC2541DK:

Saya akan melayan kedua-dua peranti ini di sini secara serentak kerana tingkah laku mereka yang berkaitan dengan sistem operasi Windows 10 (1709) serupa.

Operasi berpasangan dan pembacaan, dari Akses Generik dan perkhidmatan Maklumat Peranti, berjalan dengan sempurna tanpa masalah.

Masalahnya hanya berlaku ketika kita ingin membaca maklumat dari sensor. Mekanisme pemindahan data melalui pemberitahuan tidak berfungsi sama sekali.

Satu-satunya cara untuk mendapatkan data dari sensor, yang disertakan dalam SensorTag, adalah dengan menggunakan mekanisme membaca langsung dari peranti. Pendekatan ini mempunyai dua masalah: (1) kecepatan pemindahan data yang lebih rendah (seperti yang telah kita tunjukkan di atas) dan (2) jika semua sensor menerima salah satu dari dua kaedah pemindahan data (melalui pembacaan dan pemberitahuan), butang pada SensorTag dapat disoal siasat hanya melalui mekanisme pemberitahuan. Berkat "ciri" OS Windows 10 (1709) ini, aplikasi luckTags menerapkan, bermula dengan versi 9.7.8.0, kaedah membaca untuk pemerolehan data juga.

Masalah muncul dengan CC2650STK SensorTag yang mempunyai firmware versi 1.20. Sekiranya proses memasangkan dan membaca data dari perkhidmatan Akses Generik berjalan dengan baik, proses membaca dari perkhidmatan Maklumat Peranti tidak mungkin dilakukan. Lebih-lebih lagi, pembacaan sensor (dari SensorTag ini dengan versi firmware ini) tidak berfungsi melalui salah satu daripada dua mekanisme yang mungkin berlaku (membaca atau pemberitahuan).

2. Reaksi Petir:

Dalam mod yang sama seperti dalam Windows 10 Creators Update, SensorTag muncul dan hilang ketika kita ingin menambahkan peranti Bluetooth baru. Tingkah laku yang sama dapat diserlahkan di pusat tindakan pada butang tindakan pantas Bluetooth adalah "Tidak terhubung" dan "Thunderboard React" ditampilkan berulang kali (sila lihat dalam filem berikut proses ini bermula dari indeks waktu 5.14 s). Segera kita dapat menyimpulkan bahawa Thunderboard React bersalah, terutamanya disebabkan oleh pelaksanaan mekanisme pengiklanan yang salah oleh jurutera Silicon Labs. Tetapi, semasa mencari di internet, kita akan melihat bahawa pengguna lain melaporkan masalah yang sama kepada jenis peranti BLE yang lain, setelah memasang Fall Creators Kemas kini - contohnya tonton filem ini di YouTube.

Setelah memasangkan SensorTag, aplikasi diberkati tidak dapat menemui peranti Thunderboard React. Oleh itu, pada masa ini tidak ada yang berfungsi: Akses Generik dan perkhidmatan Maklumat Peranti atau pemerolehan data dari sensor yang terdapat pada Thunderboard React SensorTag.

3. Rasa Petir:

Mod untuk berkelakuan serupa dengan yang ada di Thunderboard React. Peranti Bluetooth ini dipaparkan dan hilang berulang kali. Apabila proses memasangkan berjaya, adalah mungkin untuk mengambil data dari Generic Access Service. Tetapi dari sudut ini, tidak ada yang berfungsi lagi.

Sebagai kesimpulan, sekarang pada Windows 10 Fall Creators Update (1709, build 16229.19) hanya SensorTag yang dihasilkan oleh TI (CC2650STK dan CC2541DK) yang berfungsi. Lebih banyak lagi, mereka hanya berfungsi dalam mod membaca. Tetapi perhatian! Hanya firmware versi CC2650STK 1.40 yang berfungsi dalam mod ini. Malangnya, apabila anda membeli CC2650STK anda mempunyai peluang yang sangat tinggi untuk mengambil peranti dengan semakan firmware 1.20. Oleh itu, untuk dapat berkomunikasi dengan jenis SensorTag seperti itu, perlu dilakukan sekurang-kurangnya ke versi firmware 1.40.

Terkait dengan langkah ini, saya membentangkan filem yang membuktikan semua pernyataan yang dibuat di atas untuk Windows 10 Fall Creators Update.

Sejak pembaruan pertama Windows 10 Fall Creators Update (build 16229.19), pada 17 Oktober 2017, tidak ada peningkatan atau pembetulan ralat yang berkaitan dengan Bluetooth LE hingga KB4054517 (dikeluarkan pada 12 Disember 2017). Dalam KB4054517 (Pembentukan OS 16299.125) ada perubahan kunci pada Bluetooth LE (lihat di sini): "Mengatasi masalah dengan peranti Bluetooth yang diperibadikan yang tidak menyokong ikatan". Oleh kerana mesej ini sangat samar, saya telah memutuskan untuk menyambung semula semua analisis saya sejauh ini dan untuk melihat apakah ada penambahbaikan berbanding dengan pembebasan pertama Windows 10 Fall Creators Update (binaan 16229.19). … dan sedikit kejutan, sekarang saya dapat: (1) data dari Thunderboard Sense (dari sensor yang terdapat di SensorTag tetapi hanya melalui mekanisme membaca) dan (2) semua maklumat dari perkhidmatan Akses Generik dan Peranti. Tidak ada penambahbaikan lain.

Langkah 5: Windows 8

Sebagai OS Microsoft pertama dengan sokongan BLE, pelaksanaannya memuaskan, tetapi jauh lebih baik. Satu-satunya peranti yang berfungsi dengan sistem operasi ini ialah CC2650STK dan CC2541DK.

Menetapkan waktu pemerolehan hingga 150 [ms], untuk CC2650STK, kita dapat memperoleh data (dari semua sensor tertanam), memenuhi kadar persampelan 150 [ms], melalui mekanisme pemberitahuan tanpa masalah. Sayangnya, dengan menggunakan mekanisme bacaan CCC2650STK, kita dapat memperoleh data (dari semua sensor) dengan jangka masa 2 saat.

Keadaan menjadi lebih teruk apabila kita bercakap mengenai CC2541DK. Melalui mekanisme pemberitahuan, data diperoleh dengan jangka waktu 0,4… 0,6 detik. Semasa menggunakan mekanisme membaca, kita dapat mengambil data dengan jangka masa turun naik 2.8… 3 saat. Keadaannya sama: tempoh pemerolehan 150 [ms] dari semua sensor yang terdapat pada SensorTag CC2541DK.

Langkah 6: Windows 7

Syarikat Microsoft telah menambahkan sokongan untuk timbunan Tenaga Rendah Bluetooth (BLE) bermula dengan sistem operasi Windows 8. Mereka telah menyediakan API yang membolehkan aplikasi mengakses peranti BLE.

Tetapi Microsoft belum mengalihkan API BLE ke Windows 7. Stack terbina dalam Windows 7 hanya menyokong Bluetooth versi 2.1 / 3.0, tidak ada sokongan untuk BLE (4.0, 4.1 atau 4.2). Oleh itu, dari sudut pandangan pemaju tidak mungkin berkomunikasi, di Windows 7, dengan peranti BLE menggunakan timbunan Windows 7.

Syarikat TI mempunyai program yang disebut BLE Device Monitor yang dapat: (1) berjalan di Windows 7 dan (2) untuk berkomunikasi dengan SensorTag. Tetapi anda mesti menggunakan dongle USB khas ini (mis. CC2540 Bluetooth Tenaga Rendah Bluetooth). Sekiranya kod sumber untuk dongle USB percuma, kod sumber untuk Monitor Perangkat BLE tidak tersedia - hanya untuk kegunaan dalaman syarikat TI.

Langkah 7: Kesimpulan

Kesimpulannya
Kesimpulannya

Kemas kini Ulang Tahun Windows 10 (Versi 1607) adalah versi Windows terbaik yang pernah dibuat oleh Microsoft dari sudut pandangan peranti Bluetooth Tenaga Rendah (BLE) - SensorTags dalam kes kami. Jelas, ini juga disebabkan oleh banyak peningkatan yang berlaku pada tahap Bluetooth LE dalam pembuatan OS berikut (lihat untuk maklumat lebih lanjut: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 dan 14393.1083.

Aplikasi luckTags (BLE SensorTags) boleh dimuat turun dari Windows Store Apps: https://www.microsoft.com/store/apps/9p054xsjjr1n. Untuk maklumat lebih lanjut, demo, aplikasi praktikal, contoh dan lain-lain sila lawati blog berikut:

Mensintesiskan semua keputusan di atas, kita akan mendapat jadual yang berkaitan dengan langkah ini.

Disyorkan: