Mündəricat:

Windows Bluetooth Sistem Analizi - SensorTag yanaşması: 7 addım (şəkillərlə)
Windows Bluetooth Sistem Analizi - SensorTag yanaşması: 7 addım (şəkillərlə)

Video: Windows Bluetooth Sistem Analizi - SensorTag yanaşması: 7 addım (şəkillərlə)

Video: Windows Bluetooth Sistem Analizi - SensorTag yanaşması: 7 addım (şəkillərlə)
Video: Обновление Windows 10 Fall Creators Update (1709): SensorTag и анализ приложения blessTags 2024, Noyabr
Anonim
Windows Bluetooth Sistem Analizi - SensorTag yanaşması
Windows Bluetooth Sistem Analizi - SensorTag yanaşması

Aşağıda, Bluetooth Düşük Enerji cihazları ilə ünsiyyət baxımından Windows əməliyyat sistemini (OS) təhlil edəcəyəm - bizim vəziyyətimizdə müxtəlif növ Sensor Etiketləri ilə: Thunderboard React, Thunderboard Sense (hər ikisi Silicon Labs tərəfindən istehsal olunur) Company), CC2650STK və CC2541DK (hər ikisi Texas Instruments Company tərəfindən hazırlanmışdır).

Addım 1: Windows Bluetooth Sistem Analizi - SensorTag yanaşması

Windows Bluetooth Sistem Analizi - SensorTag yanaşması
Windows Bluetooth Sistem Analizi - SensorTag yanaşması

Aşağıda, Bluetooth Düşük Enerji cihazları ilə ünsiyyət baxımından Windows əməliyyat sistemini (OS) təhlil edəcəyəm - bizim vəziyyətimizdə müxtəlif növ Sensor Etiketləri ilə: Thunderboard React, Thunderboard Sense (hər ikisi Silicon Labs tərəfindən istehsal olunur) Company), CC2650STK və CC2541DK (hər ikisi Texas Instruments Company tərəfindən hazırlanmışdır).

Bundan sonra Windows 7, Windows 8.1 və aşağıdakı Windows 10 versiyalarını təhlil edəcəyəm:

· Yubiley Güncellemesi (2 Avqust 2016 -cı ildə buraxıldı; dəstəyin sonu: müvəqqəti olaraq Mart 2018), · Yaradıcılar Güncellemesi (5 Aprel 2017 tarixində yayımlandı; dəstəyin sonu: müvəqqəti olaraq Sentyabr 2018) və

· Payız Yaradıcıları Güncellemesi (17 Oktyabr 2017 tarixində yayımlandı; dəstəyin sonu: müvəqqəti olaraq Mart 2019).

Təhlil aşağıdakı baxımdan aparılacaq:

1. Əməliyyat sisteminin (OS) SensorTag ilə cütləşmə qabiliyyəti;

2. Ümumi Giriş məlumatlarını əldə etmək bacarığı (bu məcburi bir xidmətdir);

3. Cihaz Məlumatlarını əldə etmək bacarığı (bu xidmət xüsusi bir SensorTag ilə əlaqədar istehsalçı və/və ya satıcı məlumatlarını ifşa edir);

4. Oxu yanaşmasını istifadə edərək SensorTag məlumatlarını əldə etmək bacarığı

5. Bildiriş yanaşmasını istifadə edərək SensorTag məlumatlarını əldə etmək bacarığı.

Bütün testlər BlessTags tətbiqinin 9.7.8.0 versiyasından istifadə etməklə həyata keçirilmişdir. BlessTags tətbiqi Windows SDK - Bluetoothapis dəstəyi ilə hazırlanmışdır. BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices və ya BluetoothGATTSetCharacteristicValue kimi funksiyalardan istifadə edilmişdir.

Bu proqram, happTags (BLE SensorTags) tətbiqi, Windows Mağazası Tətbiqlərindən yüklənə bilər: https://www.microsoft.com/store/apps/9p054xsjjr1n. Daha çox məlumat, demo, praktik tətbiqlər, nümunələr və s. Üçün aşağıdakı bloqu ziyarət edin:

Addım 2: Windows 10 - Yubiley Yeniləməsi - Versiya 1607

Image
Image

Windows 10 əməliyyat sisteminin bu versiyası Bluetooth Low Energy cihazları baxımından ən yaxşısıdır. BlessTags tətbiqinin necə işlədiyini bildiyi (CC2650STK, Thunderboard React, Thunderboard Sense və CC2541DK) və Bluetooth Xidmətlərindən əldə edilən bütün məlumatları Ümumi Alın (SensorTags ilə işləyən proqram versiyasından asılı olmayaraq) heç bir problem olmadan qoşula bilər. Cihaz Məlumatlarına Giriş və Alma heç bir problem olmadan əldə edilir.

Məlumat ötürmə xəbərdarlıq və oxu mexanizmindən istifadə edərək məlumat əldə etmə sürətini (CC2650STK və CC2541DK cihazları üçün) təhlil edərək aşağıdakıları müşahidə edə bilərik:

1. bildiriş mexanizmi vasitəsi ilə bütün sensorlardan (səkkiz) 150 [ms] ilə 150 [ms] arasında heç bir problem olmadan məlumat əldə edə bilərik;

2. Əksinə, əldə etmə müddətini 150 [ms] olaraq təyin etdiyimizdə və məlumatların oxunma mexanizmindən istifadə etdiyimizdə - ən xoşbəxt vəziyyətdə 713 [ms], ən pis halda isə 840 [ms] alırıq.

Thunderboard React və Thunderboard Sense -i təhlil etsək, buna bənzər nəticələr alacağıq - Windows 10 Anniversary Update mühitində heç bir problem olmadan işləyirlər.

Faktiki olaraq, happTags tətbiqinin əsas funksiyalarının və fərqli xüsusiyyətlərin (Gadgetlar kimi) bütün təqdimat filmləri Windows 10 Yubiley Yeniləməsinin dəstəyi ilə hazırlanmışdır.

Addım 3: Windows 10 - Yaradıcılar Güncellemesi - Versiya 1703

Windows 7
Windows 7

Windows 10 -un Creators Update versiyası Bluetooth Low Energy cihazları baxımından ən pis əməliyyat sistemidir (OS).

Demək olar ki, heç bir şey işləmir. Microsoft, Yaradıcılar Güncellemesinin Bluetooth Düşük Enerjisini pozduğunu qəbul etdi (istinad 1 və istinad 2). Microsoft şirkəti ən qısa zamanda bir düzəliş vəd etdi. Ancaq o vaxtdan bəri Windows -un yenilənmiş bir versiyasını buraxdılar (Fall Creators Update) və heç bir şey olmadı - bu günə qədər Windows 10 Creators Update versiyasında Bluetooth Low Energy hələ də işləmir.

Yaradıcılar Güncellemesine yükselttikten sonra işləməyən Bluetooth cihazlarının fərqli növlərindən fərqli insanların şikayət etdiyi forumlarda çox sayda yazı var (bura baxın, bura baxın, bura baxın bura və s.).

Dərhal göstərəcəyim nəticələr bir çox sınaqdan sonra əldə edildi: (1) CSR4.0 Bluetooth USB dongle (CSR8510 A10) olan masaüstü kompüterdə və (2) Dell Inspiron P66F noutbukda inteqrasiya edilmiş Bluetooth LE cihazı. Bilirəm ki, İnternetdə bir neçə növ Bluetooth problemini həll etmək üçün bir çox həll yolu var. Demək olar ki, hamısını sınadım, amma heç bir şey işləmədi (Bluetooth sürücüsünü yeniləyin, Windows problemlərini həll edən proqramı işə salın, Bluetooth ilə əlaqəli xidmətləri deaktiv edin və s.)

Beləliklə, nəticələri təqdim edək:

1. CC2650STK:

a. 1.40 firmware versiyasında SensorTag cihazını Windows ilə birləşdirmək mümkün deyil (prosesi bir neçə dəfə təkrarladım, ən azı 8-10 dəfə, Bluetooth-u yandırdım və yenidən sınadım-nəticələr eyni idi: mümkün deyildi bu cihazı əlavə edin).

b. 1.20 firmware versiyasında PC SensorTag -ı kəşf etdi və mən SensorTag -ı PC ilə qoşa bildim.

Ayrıca, Ümumi Giriş məlumatlarını əldə edə bildim. Ancaq Cihaz Məlumatlarını Al xidmətində 9 xüsusiyyətdən yalnız 6 -sı cavab verdi və yalnız onlardan məlumat əldə etmək mümkün oldu.

Bunun əvəzinə cihazı qura bilmirəm və ya oxu mexanizmi və ya bildirişlər vasitəsilə sensorlardan məlumat ala bilmirəm.

2. Thunderboard reaksiyası:

Cütləşmə prosesi başladıqda əməliyyat sistemi qəribə bir davranışa sahibdir. Kəşf edilmiş cihazların siyahısında SensorTag görünür və yox olur (1… 1,5 s müddətində). Nəhayət, siçan düymələri SensorTag üzərində müvəffəqiyyət qazandıqda, cütləşmə prosesi başa çatır və Thunderboard React -də (mavi və yaşıl olanlar) LED -lərin atipik rejimdə ardıcıl olaraq yanıb sönmə dövrü olur.

Ümumi Erişim Xidmətinin (0x1800) xüsusiyyətlərinin oxunması heç bir problem olmadan edilə bilər, ancaq Cihaz Məlumat Xidmətindən (0x180A) oxunuş dörd mövcud xüsusiyyətin hamısında uğursuz olur.

Sensorların (SensorTag -da quraşdırılmış), məlumat əldə etmə rejiminin qurulması (Thunderboard React -də yalnız aşağıdakı imkanlara sahibsiniz: (1) 3 sensordan gələn bildiriş vasitəsilə məlumat əldə etmək və (2) digər dörd sensordan məlumatları oxumaq üçün) qeyri -mümkündür. Buna görə də sensorlardan faktiki məlumatların alınmasının mümkünsüzlüyü birbaşa buradan qaynaqlanır.

3. Thunderboard Sense:

Thunderboard React üçün müşahidə edilən eyni pulsasiya edən prosesin Thunderboard Sense üçün də mövcud olduğu təsbit edildi - cütləşmə prosesinə nail olmaq istədiyimiz zaman. Ancaq burada işlər daha da pisdir: cütləşdirildikdən sonra mübarəkTag proqramı SensorTagı aşkar edə bilmir. Beləliklə, aktiv bir cihaz yoxdur - məlumatları əldə etmək üçün happTags tətbiqinin olduğu yer.

4. CC2541DK:

Davranış CC2650STK (firmware versiyası 1.40) davranışı ilə eynidir. Hər əlaqə cəhdində aşağıdakı səhv mesajını alacaqsınız: "Cihazınızı yenidən bağlamağa çalışın".

Beləliklə, nəticədə, Windows 10 -un bu versiyasında (Yaradıcılar Yeniləməsi) yuxarıda göstərilən dörd növ SensorTag ilə əlaqə qurmaq mümkün deyil. Nəticədə (bir daha) qeyd edirəm ki, burada Windows 10 Yubiley Yeniləməsində edilən bütün testlərdə istifadə etdiyim eyni proqram versiyasını istifadə etdim.

Addım 4: Windows 10 - Fall Creators Update - Version 1709

Image
Image

Windows 10 -un bu versiyası (1709 - OS Build 16299.19), Windows 10 Creators Update ilə müqayisədə irəliyə doğru böyük bir addımdır (BLE -də demək olar ki, heç bir şey işləmir), lakin hələ də Windows 10 Yubiley Yeniləmə səviyyəsinə çatmaq üçün uzun bir yol var. (1607) əməliyyat sistemi

Amma gəlin görək niyə bu bəyanatı verdim:

1. CC2650STK (firmware versiyası 1.40) və CC2541DK:

Windows 10 (1709) əməliyyat sistemi ilə əlaqəli davranışları oxşar olduğu üçün bu iki cihazı eyni anda müalicə edəcəyəm.

Ümumi Giriş və Cihaz Məlumatı xidmətlərindən olan cütləşdirmə əməliyyatı və oxu heç bir problem olmadan mükəmməl işləyir.

Problemlər yalnız sensorlardan məlumatları oxumaq istədikdə yaranır. Bildirişlər vasitəsilə məlumat ötürmə mexanizmi ümumiyyətlə işləmir.

SensorTag -da quraşdırılmış sensorlardan məlumat əldə etməyin yeganə yolu cihazdan birbaşa oxu mexanizmi vasitəsilədir. Bu yanaşmanın iki problemi var: (1) aşağı məlumat ötürmə sürəti (yuxarıda göstərdiyimiz kimi) və (2) bütün sensorlar iki məlumat ötürmə üsulundan birini (oxu və bildiriş yolu ilə) qəbul edərsə, SensorTag üzərindəki düymələr ola bilər. yalnız bildiriş mexanizmi vasitəsi ilə dindirildi. Windows 10 (1709) ƏS -in bu "xüsusiyyəti" sayəsində, happTags tətbiqi, 9.7.8.0 versiyasından başlayaraq, məlumat əldə etmək üçün oxu üsulunu da tətbiq edir.

Firmware 1.20 versiyasına sahib olan CC2650STK SensorTag ilə problem yaranır. Ümumi Giriş xidmətindən cütləşmə və məlumatların oxunması prosesi çox yaxşı işləyirsə, Cihaz Məlumat xidmətlərindən oxu prosesi mümkün deyil. Üstəlik, oxuyan sensorlar (bu firmware versiyası ilə bu SensorTag -dan) iki mümkün mexanizmdən (oxu və ya bildiriş) heç biri ilə işləmir.

2. Thunderboard reaksiyası:

Windows 10 Creators Update -də olduğu kimi eyni rejimdə, yeni bir Bluetooth cihazı əlavə etmək istədikdə SensorTag görünür və yox olur. Eyni davranışı Bluetooth -un sürətli hərəkət düyməsindəki fəaliyyət mərkəzində "Bağlanmadı" və "İldırım lövhəsi Reaksiyası" dəfələrlə göstərildi (bu filmə 5.14 saniyə indeksindən başlayaraq baxın) dərhal vurğulaya bilərik. Thunderboard React -in günahkar olduğunu, əsasən Silicon Labs mühəndisləri tərəfindən reklam mexanizminin qüsurlu bir şəkildə tətbiq edilməsindən qaynaqlanır. Yeniləyin - məsələn bu filmi YouTube -da izləyin.

SensorTag qoşulduqdan sonra, happTags tətbiqi Thunderboard React cihazını tapa bilmir. Beləliklə, bu anda heç bir şey işləmir: Ümumi Giriş və Cihaz Məlumatı xidmətləri və ya Thunderboard React SensorTag -a quraşdırılmış sensorlardan məlumat əldə etmə.

3. Thunderboard Sense:

Davranış rejimi Thunderboard React -ə bənzəyir. Bu Bluetooth cihazı dəfələrlə göstərilir və yox olur. Cütləşmə prosesi uğurla başa çatdıqda Ümumi Giriş Xidmətindən məlumat almaq mümkündür. Ancaq bu nöqtədən etibarən heç bir şey işləmir.

Nəticə olaraq, Windows 10 Fall Creators Update -də (1709, 16229.19 qurmaq) yalnız TI (CC2650STK və CC2541DK) tərəfindən istehsal olunan SensorTags işləyir. Üstəlik, yalnız oxu rejimində işləyirlər. Amma diqqət! Bu rejimdə yalnız CC2650STK firmware versiyası 1.40 işləyəcək. Təəssüf ki, CC2650STK satın aldığınızda, firmware versiyası 1.20 olan bir cihaz almaq şansınız çox yüksəkdir. Belə bir SensorTag növü ilə əlaqə qura bilmək üçün ən azından firmware 1.40 versiyasına ehtiyac var.

Bu addımla əlaqədar olaraq, Windows 10 Payız Yaradıcıları Güncellemesi üçün yuxarıda edilən bütün bu ifadələri sübut edən bir film təqdim edirəm.

Windows 10 Fall Creators Update -in ilk buraxılışından (16229.19 quruluşu) 17 oktyabr 2017 -ci ildə, KB4054517 (12 dekabr 2017 -ci il tarixində buraxılmışdır) qədər Bluetooth LE ilə əlaqədar heç bir təkmilləşdirmə və ya səhv düzəlişləri olmamışdır. KB4054517 -də (OS Build 16299.125) Bluetooth LE -də əsas dəyişiklik var (buraya baxın): "Bağlamağı dəstəkləməyən fərdi Bluetooth cihazları ilə bağlı problemləri həll edir". Bu mesaj çox sirli olduğu üçün indiyə qədər edilən bütün analizlərimi davam etdirmək və Windows 10 Fall Creators Update -in ilk buraxılışı ilə müqayisədə hər hansı bir inkişaf olub olmadığını görmək qərarına gəldim (16229.19 qurmaq). … Və bir az təəccübləndirici haldır ki, hazırda əldə edə bilərəm: (1) Thunderboard Sense -dən məlumatlar (SensorTag -a quraşdırılmış sensorlardan ancaq oxu mexanizmi vasitəsilə) və (2) Ümumi Giriş və Cihaz Məlumat xidmətlərindən bütün məlumatlar. Başqa heç bir təkmilləşdirmə yoxdur.

Addım 5: Windows 8

BLE dəstəyi olan ilk Microsoft OS olaraq, tətbiq qənaətbəxşdir, lakin əla bir proqram ola bilər. Bu əməliyyat sistemi ilə işləyən yeganə cihazlar CC2650STK və CC2541DK -dır.

Alınma müddətini 150 [ms] olaraq təyin edərək, CC2650STK üçün bildiriş mexanizmi vasitəsi ilə 150 [ms] nümunə götürmə sürətinə uyğun olaraq məlumatları (bütün quraşdırılmış sensorlardan) əldə edə bilərik. Təəssüf ki, CCC2650STK oxu mexanizmindən istifadə edərək 2 saniyə müddətində məlumatları (bütün sensorlardan) əldə edə bilərik.

CC2541DK haqqında danışarkən vəziyyət daha da pisləşir. Bildiriş mexanizmi vasitəsi ilə məlumatlar 0,4… 0,6 saniyə müddətində əldə edilir. Oxuma mexanizmindən istifadə edərkən 2,8… 3 saniyəlik dəyişkən bir dövrlə məlumatları əldə edə bilərik. Şərtlər eynidir: CC2541DK SensorTag -da quraşdırılmış bütün sensorlardan alınma müddəti 150 [ms].

Addım 6: Windows 7

Microsoft şirkəti Windows 8 əməliyyat sistemindən başlayaraq Bluetooth Low Energy (BLE) yığınına dəstək əlavə etdi. Tətbiqlərin BLE cihazlarına daxil olmasını təmin edən bir API təmin etdilər.

Lakin Microsoft, BLE API-lərini Windows 7-yə köçürməmişdir. Windows 7-nin daxili yığımı yalnız 2.1/3.0 Bluetooth versiyasını dəstəkləyir, BLE (4.0, 4.1 və ya 4.2) üçün heç bir dəstək yoxdur. Beləliklə, bir geliştiricinin nöqteyi -nəzərindən, Windows 7 -də, Windows 7 -nin yığını istifadə edən bir BLE cihazı ilə ünsiyyət qurmaq mümkün deyil.

TI şirkətinin BLE Device Monitor adlı proqramı var: (1) Windows 7 -də işləməyi və (2) SensorTag ilə əlaqə qurmağı. Ancaq bunun üçün xüsusi bir USB dongle (məsələn, CC2540 Bluetooth Low Energy USB) istifadə etməlisiniz. USB dongle üçün mənbə kodu pulsuzdursa, BLE Device Monitor üçün mənbə kodu mövcud deyil - yalnız TI şirkətinin daxili istifadəsi üçündür.

Addım 7: Nəticələr

Nəticələr
Nəticələr

Windows 10 Anniversary Update (Version 1607), Bluetooth Low Energy (BLE) cihazları - bizim vəziyyətimizdə SensorTags baxımından Microsoft tərəfindən indiyə qədər edilən ən yaxşı Windows versiyasıdır. Aydındır ki, bu da aşağıdakı OS quruluşlarında Bluetooth LE səviyyəsində baş verən xeyli sayda təkmilləşdirmə ilə əlaqədardır (daha çox məlumat üçün baxın: 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.

BlessTags (BLE SensorTags) tətbiqini Windows Mağaza Tətbiqlərindən yükləyə bilərsiniz: https://www.microsoft.com/store/apps/9p054xsjjr1n. Daha çox məlumat, demo, praktik tətbiqlər, nümunələr və s. Üçün aşağıdakı bloqu ziyarət edin:

Yuxarıda göstərilən bütün nəticələri sintez edərək bu addımla əlaqəli cədvəli alacağıq.

Tövsiyə: