Określanie wsparcia dla Bluetooth Low Energy

11

Robię studium wykonalności tabletów z Androidem do zastosowań komercyjnych. Mam produkt, który wymaga połączenia Bluetooth Low Energy.

Mam tablet Nexus 7, który powinien obsługiwać BLE, ale nie znalazłem wiele informacji na jego temat. Czy istnieje sposób sprawdzenia, czy tablet ma BLE i czy jest włączony, czy nie?

cyfrowy
źródło
Według raportów porzucenia i wikipedii Nexus 7 ma układ Broadcom (Broadcom BCM4330 w połączeniu z AzureWave AW-NH665) *, który jest zdolny do BTLE. Ale nie wiem, czy wszystkie potrzebne są tam warstwy SW. Broadcom opublikował również interfejs API BT jako oprogramowanie typu open source, ale nie wiem, czy ten pakiet jest dołączony do Nexusa. To trochę długa szansa, ale czy ktoś posiadający czek na Nexusa 7 jest w pakiecie z pakietem com.broadcom.bt.le.api? Byłbym również bardzo zainteresowany, aby usłyszeć ....
Kupiłem Google Nexus 7 w zeszłym tygodniu z nadzieją, że udostępniana jest biblioteka współdzielona com.broadcom.bt.le, ale z rozczarowaniem stwierdziłem, że przykładowe aplikacje nie działają na Nexusie 7, ponieważ brakuje biblioteki współdzielonej. Wysłałem e-mail do właściciela zestawu SDK i ASUS bez odpowiedzi. Potem wysłałem e-mail do pomocy technicznej w Google Play i wszystko, co mógł mi powiedzieć, to informacje, które już wiedziałem, że Nexus 7 ma chipset Broadcom BCM4330, który na papierze to Bluetooth 4.0 i jest tym samym chipsetem, który był używany w iPhonie 4s oraz nowym iPadzie i że jest kompatybilny z Bluetooth 4.0. Nie odpowiedziałem si

Odpowiedzi:

7

Na razie sprawdzanie obsługi BLE musi być wykonywane ręcznie przez badanie specyfikacji i wyszukiwanie w Google (o ile mi wiadomo).

Zobacz to pytanie na Stackoverflow: obsługa Bluetooth Smart (4.0) / GATT w Androidzie 4.0?

Stwierdza, że ​​Android nie obsługuje Bluetooth 4.0 (LE) po wyjęciu z pudełka aż do Androida-4.0 (być może w przypadku Jelly Bean 4.1 i nowszych sugeruje to karta Nexus 7). Producenci muszą dodać własny interfejs API, aby umożliwić dostęp do BT LE (np. Ta aplikacja jest ograniczona do Motoroli). Dlatego twój przebieg może się różnić w zależności od telefonu do 4,0. Zegarek Casio z obsługą Bluetooth LE jest także przykładem ograniczonej (oficjalnej) kompatybilności (nawiasem mówiąc, nawet iPhone 4S nie jest wspomniany).

Domyślam się, że w przypadku większej liczby urządzeń z wersją 4.1 problem sam się rozwiąże i można znaleźć aplikacje go pokazujące.

Oto listy producentów:

ce4
źródło
Dzięki za informacje, powinienem zacząć od moich badań.
cyfrowy
Do Twojej wiadomości Nexus 7 ma BCM4330 Broadcom (ten sam chipset co w iPhonie 5), ale przykładowe aplikacje z BLE SDK Broadcom nie zostaną zainstalowane, ponieważ natywna biblioteka nie jest obecna.
Barend
Android 4.2 ma kilka nowości: Android 4.2 wprowadza nowy stos Bluetooth zoptymalizowany do użytku z urządzeniami z Androidem. Nowy stos Bluetooth opracowany we współpracy między Google a Broadcom zastępuje stos oparty na BlueZ i zapewnia lepszą kompatybilność i niezawodność. Źródło
ce4
Próbowałem sdk Broadcom na moim S3 mini (4.1.2), a aplikacja ulega awarii na „nie znaleziono metody”: bluetoothDevice.getDeviceType ...
fvisticot
4

Nie ma obsługi Bluetooth LE we wszystkich aktualnych interfejsach API Androida (w momencie pisania, to jest poziom API 16, aż do Androida 4.1). Producenci telefonów muszą korzystać ze stosów producentów układów Bluetooth. Jedynym telefonem, który ma wbudowany układ LE i faktycznie z niego korzysta, jest Motorola Razor. Pojawiły się doniesienia, że ​​po aktualizacji ICS parowanie Bluetooth LE przestanie działać.

Tak więc nie ma wygodnego sposobu na zapytanie urządzenia o obsługę LE i korzystanie z niego, dopóki w oficjalnym interfejsie API Androida nie będzie obsługiwać Bluetooth LE.

IIRC jądro Linux również nie ma (stabilnego) interfejsu API LE Bluetooth.

Pływ
źródło
Ta odpowiedź jest teraz nieaktualna.
Dan Hulme,
2

Wreszcie w Androidzie 4.3 jest obsługa BTLE w systemie operacyjnym. W przypadku poszczególnych urządzeń musisz poczekać na aktualizację 4.3, aby sprawdzić, czy dodano obsługę. Na razie Nexus 4 wygląda jak jedno urządzenie, które powinno być dobre. (Właśnie zamówiłem jeden z nich, aby wykonać rozwój BTLE). Niektóre urządzenia, które były sprzedawane jako gotowe na BTLE i uważa się, że mają niezbędny sprzęt, nie wyglądają, jakby naprawdę działały. np. oryginalny Nexus nie wydaje się otrzymywać aktualizacji według Google.

Ifor
źródło
2

Teraz, gdy Android 4.3 (API Poziom 18) udostępnia interfejs API do uzyskiwania dostępu do BLE, aplikacje innych firm mogą sprawdzać tę funkcję systemu. Jedną z aplikacji, która może to sprawdzić, jest skaner Bluetooth LE . U góry głównej aktywności znajduje się wskaźnik, który wyświetli „Obsługiwane”, jeśli Twoje urządzenie ma funkcje BLE.

Aplikacja jest typu open source, dzięki czemu możesz zapoznać się ze szczegółami implementacji na GitHub . Sprawdziłem kod użyty do ustalenia, czy BLE jest obsługiwany ( tutaj , dla ciekawskich) i wygląda poprawnie na podstawie oficjalnych wytycznych Androida , więc nie mam powodu podejrzewać, że aplikacja źle zgłasza obsługę BLE, chyba że próbowałeś zmodyfikuj urządzenie, aby spróbować je „sfałszować”. W każdym razie jest to poprawne w moim Nexusie 5. Aplikacje, które próbują wykonać tę kontrolę, będą oczywiście przydatne tylko na Androidzie 4.3 lub nowszym.

eldarerathis
źródło