2017-06-21 36 views
9

Technologia Bluetooth Low Energy wykorzystuje 40 kanałów, każdy o szerokości 2 MHz, obejmujących pasmo radiowe 2,1 GHz bez licencji z . Spośród 40 kanałów reklamy BLE są nadawane na trzech kanałach. Te kanały reklamowe są nominalnie oznaczone jako 37, 38 i 39 i są szeroko rozstawione odpowiednio na 2402 MHz, 2426 MHz i 2480 MHz.Uzyskiwanie dostępu do wszystkich trzech kanałów reklamowych BLE osobno w iOS

W podstawowej lokalizacji systemu iOS wszystkie zeskanowane sygnalizatory BLE są wymienione w tablicy NSArray i można łatwo uzyskać dostęp do wartości RSSI każdego sygnału nawigacyjnego. Na przykład.

CLBeacon* beacon1 = [beacons firstObject]; NSNumber *RSSI = [NSNumber numberwithFloat:beacon1.RSSI]; 

Tutaj wartość RSSI jest wartością "uśrednioną" dostarczaną przez CoreLocation. Również ten RSSI waha się bardzo często w czasie rzeczywistym.

Moje zapytanie brzmi, czy istnieją jakieś metody/struktury w systemie iOS (cel-C), aby uzyskać dostęp do każdego kanału reklamowego, abyśmy mogli uzyskać wartość RSSI z każdego kanału?

Opublikowany dziennik [http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7103024&tag=1] przedstawił wynik RSSI ze wszystkich trzech kanałów reklamowych. Artykuł mówi, że ta funkcja (dostęp do trzech kanałów reklamowych indywidualnie) jest dostępna po iOS 7.0. Nie jestem jednak w stanie określić dokładnego sposobu dostępu do trzech kanałów reklamowych w systemie iOS.

Z góry dziękuję.

+0

Brak publicznych interfejsów API, które udostępniają te informacje. – Paulw11

Odpowiedz

0

Ogólnie Apple nie ujawnia tego typu informacji. Żaden publiczny interfejs API nie jest dostępny do tworzenia podstawowych składników systemu IOS. Ponieważ Android jest platformą typu open source, możemy znaleźć wiele kodów źródłowych do uzyskania dostępu do czujnika i każdego komponentu, ale nie jest tak w przypadku Apple. Co więcej, może to wynikać z powodu bezpieczeństwa, które jabłko utrzymało do dziś.