İçindekiler:

Windows Bluetooth Sistem Analizi – Bir Sensör Etiketi Yaklaşımı: 7 Adım (Resimlerle)
Windows Bluetooth Sistem Analizi – Bir Sensör Etiketi Yaklaşımı: 7 Adım (Resimlerle)

Video: Windows Bluetooth Sistem Analizi – Bir Sensör Etiketi Yaklaşımı: 7 Adım (Resimlerle)

Video: Windows Bluetooth Sistem Analizi – Bir Sensör Etiketi Yaklaşımı: 7 Adım (Resimlerle)
Video: HOW TO CONFIG VEGA RADAR ON BLUETOOTH APK / Vega Cihazlara Bluetooth ile bağlanma ve ayarları 2024, Kasım
Anonim
Windows Bluetooth Sistem Analizi – Bir Sensör Etiketi Yaklaşımı
Windows Bluetooth Sistem Analizi – Bir Sensör Etiketi Yaklaşımı

Aşağıda, Bluetooth Low Energy cihazlarıyla iletişim açısından Windows işletim sisteminin (OS) bir analizini yapacağım - bizim durumumuzda farklı SensorTag türleri ile: Thunderboard React, Thunderboard Sense (her ikisi de Silicon Labs tarafından üretilmiştir) Company), CC2650STK ve CC2541DK (her ikisi de Texas Instruments Company tarafından geliştirilmiştir).

1. Adım: Windows Bluetooth Sistem Analizi – Bir Sensör Etiketi Yaklaşımı

Windows Bluetooth Sistem Analizi – Bir Sensör Etiketi Yaklaşımı
Windows Bluetooth Sistem Analizi – Bir Sensör Etiketi Yaklaşımı

Aşağıda, Bluetooth Low Energy cihazlarıyla iletişim açısından Windows işletim sisteminin (OS) bir analizini yapacağım - bizim durumumuzda farklı SensorTag türleri ile: Thunderboard React, Thunderboard Sense (her ikisi de Silicon Labs tarafından üretilmiştir) Company), CC2650STK ve CC2541DK (her ikisi de Texas Instruments Company tarafından geliştirilmiştir).

Aşağıda, Windows 7, Windows 8.1 ve aşağıdaki Windows 10 sürümlerini analiz edeceğim:

· Yıldönümü Güncellemesi (2 Ağustos 2016'da yayınlandı; desteğin sonu: geçici olarak Mart 2018), · İçerik Oluşturucu Güncellemesi (5 Nisan 2017'de yayınlandı; desteğin sonu: geçici olarak Eylül 2018) ve

· Fall Creators Güncellemesi (17 Ekim 2017'de yayınlandı; desteğin sonu: geçici olarak Mart 2019).

Analiz aşağıdaki bakış açılarından yapılacaktır:

1. İşletim sisteminin (OS) bir SensorTag ile eşleşme yeteneği;

2. Genel Erişim verilerini alma yeteneği (bu zorunlu bir hizmettir);

3. Cihaz Bilgisini alma yeteneği (bu hizmet, belirli bir SensorTag ile ilgili üretici ve/veya satıcı bilgilerini gösterir);

4. Okuma yaklaşımını kullanarak SensorTag verilerini alma yeteneği ve

5. Bildirim yaklaşımını kullanarak SensorTag verilerini alma yeteneği.

Tüm testler kutsanmışTags uygulamasının 9.7.8.0 sürümü kullanılarak yapılmıştır. BlessTags uygulaması, Windows SDK - Bluetoothapis'i desteklemek üzere oluşturulmuştur. BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices veya BluetoothGATTSetCharacteristicValue gibi fonksiyonlar kullanıldı.

Bu uygulama, korusunTags (BLE SensorTags) uygulaması, Windows Mağazası Uygulamalarından indirilebilir: https://www.microsoft.com/store/apps/9p054xsjjr1n. Daha fazla bilgi, demo, pratik uygulamalar, örnekler vb. için lütfen şu blogu ziyaret edin:

2. Adım: Windows 10 - Yıldönümü Güncellemesi - Sürüm 1607

Image
Image

Windows 10 işletim sisteminin bu sürümü, Bluetooth Low Energy cihazları açısından en iyisidir. BlessTags uygulamasının nasıl çalışacağını bildiği (CC2650STK, Thunderboard React, Thunderboard Sense ve CC2541DK) tüm SensorTag'lerle (üzerlerinde çalışan yazılım sürümünden bağımsız olarak) ve Bluetooth'un Servislerinden gelen tüm bilgilerle sorunsuz bir şekilde eşleşebilir. Cihaz Bilgilerine Erişin ve Alın Bilgileri sorunsuz bir şekilde alınır.

Veri toplama hızını (CC2650STK ve CC2541DK cihazları için) veri aktarımının bildirim ve okuma mekanizmasını kullanarak analiz ederek şunları gözlemleyebiliriz:

1. Bildirim mekanizması sayesinde 150 [ms]'den 150 [ms]'ye kadar tüm sensörlerden (sekiz) sorunsuz veri alabiliyoruz;

2. bunun yerine, alım süresini 150 [ms] olarak ayarladığımızda ve veri okuma mekanizmasını kullandığımızda - en mutlu durumda 713 [ms] ve en kötü durumda 840 [ms] alıyoruz.

Thunderboard React ve Thunderboard Sense'i analiz edersek, eşdeğer sonuçları alacağız - Windows 10 Yıldönümü Güncelleme ortamında sorunsuz çalışıyorlar.

Aslında, BlessTags uygulamasının ana işlevlerinin ve farklı özel özelliklerinin (Gadget'lar gibi) tüm tanıtım filmleri, Windows 10 Yıldönümü Güncellemesinin desteğiyle yapılmıştır.

3. Adım: Windows 10 - İçerik Oluşturucu Güncellemesi - Sürüm 1703

Windows 7
Windows 7

Windows 10'un Creators Update sürümü, Bluetooth Low Energy cihazları açısından en kötü işletim sistemidir (OS).

Neredeyse hiçbir şey çalışmıyor. Microsoft, Creators Update'in Bluetooth Low Energy'yi bozduğunu kabul etti (referans 1 ve referans 2). Microsoft şirketi en kısa sürede bir düzeltme sözü verdi. Ancak o zamandan beri Windows'un güncellenmiş bir sürümünü yayınladılar (Fall Creators Update) ve hiçbir şey olmadı - şu ana kadar Windows 10 Creators Update sürümünde, Bluetooth Düşük Enerji hala çalışmıyor.

Forumlarda, Creators Update'e yükselttikten sonra çalışmayı durduran farklı Bluetooth cihaz türleri hakkında farklı insanların şikayet ettiği çok sayıda gönderi var (buraya bakın, buraya bakın, buraya bakın, buraya bakın vb.).

Hemen göstereceğim sonuçlar, birçok testten sonra elde edildi: (1) CSR4.0 Bluetooth USB dongle (CSR8510 A10) olan bir masaüstü bilgisayarda ve (2) bir Dell Inspiron P66F dizüstü bilgisayarda. entegre Bluetooth LE cihazı. İnternette çeşitli Bluetooth sorunlarını çözmek için birçok çözüm olduğunu biliyorum. Neredeyse hepsini denedim, ancak hiçbir şey çalışmıyordu (Bluetooth sürücüsünü güncelleyin, Windows sorun gidericisini çalıştırın, Bluetooth ile ilgili hizmetleri devre dışı bırakın ve etkinleştirin vb.)

Öyleyse, sonuçları sunalım:

1. CC2650STK:

a. Firmware sürümü 1.40'ta SensorTag cihazını Windows ile eşleştirmek mümkün değil (işlemi birkaç kez, en az 8-10 kez tekrarladım, Bluetooth'u açıp kapattım ve tekrar denedim - sonuçlar aynıydı: bu cihazı ekleyin).

B. 1.20 donanım yazılımı sürümünde bilgisayar SensorTag'i keşfetti ve ben SensorTag'i bilgisayarla eşleştirebildim.

Ayrıca, Genel Erişim verilerini alabildim. Ancak Cihaz Bilgilerini Al hizmetinde 9 özellikten sadece 6 tanesi yanıt verdi ve sadece onlardan bilgi almak mümkün oldu.

Bunun yerine cihazı kuramıyorum ve ne okuma mekanizması ile ne de bildirimler aracılığıyla sensörlerden veri alamıyorum.

2. Thunderboard Tepkisi:

Eşleştirme işlemi başlatıldığında işletim sistemi garip bir davranış sergiliyor. Bulunan cihazlar listesinde, SensorTag görünür ve kaybolur (1 … 1,5 s'lik bir süre ile). Son olarak, SensorTag üzerinde bir fare tıklaması başarılı olduğunda, eşleştirme işlemi tamamlanır ve Thunderboard React üzerindeki LED'lerin (mavi ve yeşil olanlar) sıra dışı bir modda art arda yanıp söndükleri bir süre vardır.

Genel Erişim Hizmeti (0x1800) özelliklerinin okunması sorunsuz bir şekilde yapılabilir, ancak Aygıt Bilgi Hizmetinden (0x180A) okuma, mevcut dört özelliğin tamamında başarısız olur.

Sensörleri (SensorTag'e gömülü), veri alma modunu ayarlama (Thunderboard React'te yalnızca şu olanaklara sahipsiniz: (1) 3 sensörden gelen bildirim yoluyla veri almak ve (2) diğer dört sensörden veri okumak için) imkansız. Dolayısıyla sensörlerden gerçek verilerin elde edilmesinin imkansızlığı doğrudan buradan kaynaklanmaktadır.

3. Thunderboard Algısı:

Thunderboard React için gözlemlenen aynı titreşimli sürecin Thunderboard Sense için de mevcut olduğu bulundu – eşleştirme sürecini gerçekleştirmek istediğimizde. Ancak burada işler daha da kötü: eşleştirmeden sonra, korusunTag programı SensorTag'i algılayamaz. Bu nedenle, etkin cihaz yok - kutsamaTags uygulamasının verileri alacağı yerden varlık yok.

4. CC2541DK:

Davranış, CC2650STK'nin (ürün yazılımı sürümü 1.40) davranışıyla aynıdır. Her bağlantı denemesinde şu hata mesajını alırsınız: "Cihazınızı yeniden bağlamayı deneyin".

Sonuç olarak, Windows 10'un bu sürümünde (Creators Update), yukarıda belirtilen dört SensorTag türünden herhangi biriyle iletişim kurmak mümkün değildir. Sonuç olarak (bir kez daha) burada Windows 10 Yıldönümü Güncellemesi'nde yapılan tüm testlerde kullandığım yazılım sürümünün aynısını kullandığımı belirtmek isterim.

4. Adım: Windows 10 – Fall Creators Güncellemesi - Sürüm 1709

Image
Image

Windows 10'un bu sürümü (1709 – OS Build 16299.19), Windows 10 Creators Update ile karşılaştırıldığında (BLE'deydi, neredeyse hiçbir şey çalışmıyor), ancak Windows 10 Yıldönümü Güncellemesi düzeyine ulaşmak için hala uzun bir yolu var (1607) işletim sistemi

Ama bu açıklamayı neden yaptığımı görelim:

1. CC2650STK (donanım yazılımı sürümü 1.40) ve CC2541DK:

Windows 10 (1709) işletim sistemi ile ilgili davranışları benzer olduğu için bu iki cihazı burada aynı anda ele alacağım.

Eşleştirme işlemi ve Genel Erişim ve Cihaz Bilgileri hizmetlerinden alınan okuma, herhangi bir sorun olmadan mükemmel bir şekilde çalışıyor.

Sorunlar sadece sensörlerden bilgi okumak istediğimizde ortaya çıkıyor. Bildirimler yoluyla veri aktarım mekanizması hiç çalışmıyor.

SensorTag'e gömülü sensörlerden veri almanın tek yolu, cihazdan doğrudan okuma mekanizmasıdır. Bu yaklaşımın iki sorunu vardır: (1) daha düşük veri aktarım hızı (yukarıda gösterdiğimiz gibi) ve (2) tüm sensörler iki veri aktarım yönteminden birini (okuma ve bildirim yoluyla) kabul ederse, SensorTag üzerindeki düğmeler olabilir. yalnızca bildirim mekanizması aracılığıyla sorgulanır. Windows 10 (1709) işletim sisteminin bu "özelliği" sayesinde, korusunTags uygulaması, 9.7.8.0 sürümünden başlayarak veri toplama için okuma yöntemini de uygular.

Donanım yazılımı sürümü 1.20 olan CC2650STK SensorTag ile ilgili bir sorun görünüyor. Eşleştirme ve Genel Erişim servisinden veri okuma işlemi çok iyi çalışıyorsa Cihaz Bilgi servislerinden okuma işlemi yapılamaz. Ayrıca, sensörleri (bu Firmware sürümüyle bu SensorTag'den) okuyan iki olası mekanizmadan biri (okuma veya bildirim) aracılığıyla çalışmaz.

2. Thunderboard Tepkisi:

Windows 10 Creators Update ile aynı modda, yeni bir Bluetooth cihazı eklemek istediğimizde SensorTag beliriyor ve kayboluyor. Aynı davranış, Bluetooth'un hızlı eylem düğmesindeki eylem merkezinde vurgulanabilir, “Bağlı değil” ve “Thunderboard React” art arda görüntülenir (lütfen aşağıdaki filmde 5.14 s zaman indeksinden başlayarak bu işlemi izleyin). Thunderboard React, esas olarak Silicon Labs mühendisleri tarafından reklam mekanizmasının kusurlu bir şekilde uygulanmasından dolayı suçludur. Ancak internette arama yaptığımızda, Fall Creators'ı kurduktan sonra diğer kullanıcıların aynı sorunu diğer BLE cihazlarına bildirdiğini fark edeceğiz. Güncelleme – örneğin bu filmi YouTube'da izleyin.

SensorTag'i eşleştirdikten sonra, bereketTags uygulaması Thunderboard React cihazını bulamıyor. Dolayısıyla, bu noktada hiçbir şey çalışmıyor: Genel Erişim ve Cihaz Bilgileri hizmetleri veya Thunderboard React SensorTag'e gömülü sensörlerden veri alımı.

3. Thunderboard Algısı:

Davranış modu Thunderboard React'inkine benzer. Bu Bluetooth cihazı görüntüleniyor ve tekrar tekrar kayboluyor. Eşleştirme işlemi başarılı olduğunda, Genel Erişim Hizmeti'nden veri almak mümkündür. Ama bu noktadan sonra artık hiçbir şey çalışmıyor.

Sonuç olarak, şu anda Windows 10 Fall Creators Update (1709, build 16229.19) üzerinde yalnızca TI tarafından üretilen SensorTag'ler (CC2650STK ve CC2541DK) çalışıyor. Dahası, sadece okuma modunda çalışıyorlar. Ama dikkat! Bu modda yalnızca CC2650STK donanım yazılımı sürümü 1.40 çalışacaktır. Ne yazık ki, bir CC2650STK satın aldığınızda, yazılım revizyonu 1.20 olan bir cihazı alma şansınız çok yüksek. Bu nedenle, bu tür bir SensorTag ile iletişim kurabilmek için en azından donanım yazılımı sürümü 1.40'a yükseltme yapılması gerekir.

Bu adımla bağlantılı olarak, Windows 10 Fall Creators Update için yukarıda yapılan tüm bu açıklamaları kanıtlayan bir film sunuyorum.

Windows 10 Fall Creators Update'in (derleme 16229.19) 17 Ekim 2017'deki ilk sürümünden bu yana, KB4054517'ye (12 Aralık 2017'de yayımlandı) kadar Bluetooth LE ile ilgili herhangi bir iyileştirme veya hata düzeltmesi yapılmadı. KB4054517'de (İS Derlemesi 16299.125) Bluetooth LE'de önemli bir değişiklik vardır (buraya bakın): "Bağlamayı desteklemeyen kişiselleştirilmiş Bluetooth cihazlarıyla ilgili sorunu giderir". Bu mesaj çok şifreli olduğundan, şimdiye kadar yapılan tüm analizlerime devam etmeye ve Windows 10 Fall Creators Update'in (derleme 16229.19) ilk sürümüne kıyasla herhangi bir iyileştirme olup olmadığını görmeye karar verdim. … ve küçük bir sürpriz, şu anda şunları alabiliyorum: (1) Thunderboard Sense'den (SensorTag'e gömülü sensörlerden, ancak yalnızca okuma mekanizması aracılığıyla) veriler ve (2) Genel Erişim ve Cihaz Bilgileri hizmetlerinden gelen tüm bilgiler. Başka iyileştirme yok.

Adım 5: Windows 8

BLE destekli ilk Microsoft işletim sistemi olarak uygulama tatmin edicidir, ancak mükemmel olmaktan çok uzaktır. Bu işletim sistemiyle çalışan cihazlar yalnızca CC2650STK ve CC2541DK'dir.

CC2650STK için alım süresini 150 [ms] olarak ayarlayarak, 150 [ms] örnekleme hızına uygun verileri (tüm gömülü sensörlerden) bildirim mekanizması üzerinden sorunsuz bir şekilde alabiliyoruz. Maalesef CCC2650STK okuma mekanizmasını kullanarak (tüm sensörlerden) 2 saniyelik bir süre ile veri alabiliyoruz.

CC2541DK hakkında konuşurken durum daha da kötüleşiyor. Bildirim mekanizması sayesinde 0,4 … 0,6 saniyelik bir süre ile veriler elde edilir. Okuma mekanizmasını kullanırken 2,8 … 3 saniyelik bir dalgalanma periyodu ile veriye ulaşabiliyoruz. Koşullar aynıdır: CC2541DK SensorTag'e gömülü tüm sensörlerden elde etme süresi 150 [ms].

6. Adım: Windows 7

Microsoft şirketi, Windows 8 işletim sisteminden başlayarak Bluetooth Düşük Enerji (BLE) yığını için destek ekledi. Uygulamaların BLE cihazlarına erişmesini sağlayan bir API sağladılar.

Ancak Microsoft, BLE API'lerini Windows 7'ye taşımamıştır. Windows 7'nin yerleşik yığını yalnızca Bluetooth 2.1/3.0 sürümünü destekler, BLE (4.0, 4.1 veya 4.2) desteği yoktur. Dolayısıyla, bir geliştiricinin bakış açısından, Windows 7'de Windows 7 yığınını kullanan bir BLE cihazıyla iletişim kurmak imkansızdır.

TI şirketinin, (1) Windows 7'de çalışabilen ve (2) bir SensorTag ile iletişim kurabilen BLE Device Monitor adlı bir programı vardır. Ancak bunlar için özel bir USB dongle (ör. CC2540 Bluetooth Low Energy USB) kullanmanız gerekir. USB dongle'ın kaynak kodu ücretsizse, BLE Device Monitor'ün kaynak kodu mevcut değildir - yalnızca TI şirketinin dahili kullanımı içindir.

7. Adım: Sonuçlar

Sonuçlar
Sonuçlar

Windows 10 Yıldönümü Güncellemesi (Sürüm 1607), Bluetooth Düşük Enerji (BLE) cihazları - bizim durumumuzda SensorTags açısından Microsoft tarafından şimdiye kadar yapılmış en iyi Windows sürümüdür. Açıkçası, bunun nedeni aşağıdaki işletim sistemi yapılarında Bluetooth LE düzeyinde gerçekleşen önemli sayıda iyileştirmedir (daha fazla bilgi için bkz.: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 ve 14393.1083.

BLE SensorTags (BLE SensorTags) uygulaması Windows Mağazası Uygulamalarından indirilebilir: https://www.microsoft.com/store/apps/9p054xsjjr1n. Daha fazla bilgi, demo, pratik uygulamalar, örnekler vb. için lütfen şu blogu ziyaret edin:

Yukarıdaki sonuçların tümünü sentezleyerek, bu adımla ilişkili tabloyu elde edeceğiz.

Önerilen: