-
Data: 2017-08-24 07:52:05
Temat: Re: Bluetooth: profile, atrybuty, charakterystyki
Od: Marek <t...@f...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2017-08-22 o 23:14, Grzegorz Niemirowski pisze:
> Marek <t...@f...pl> napisał(a):
>> Witajcie,
>> znacie jakąś fajną stronę lub PDF nt bluetooth, na której będzie po
>> ludzku wytłumaczone, co to są te profile, atrybuty, charakterystyki.
>> Przeglądałem sporo dokumentacji i dla mnie te pojęcia i ich
>> przeznaczenie to jakaś abstrakcja. Szczególnie interesuje mnie przesyłanie
>> danych z dongle'a BLED112 na UART-owe porty RxD i TxD modułu BMD-300
>> (Nordick'a).
>
> Takiej naprawdę dobrej strony chyba nie ma, informacje na temat BLE są
porozrzucane. Możesz zacząć od:
> https://www.safaribooksonline.com/library/view/getti
ng-started-with/9781491900550/ch04.html
> Ogólnie korzystasz z profilu Generic Attributes (GATT).
> Tak jak napisał Paweł, charakterystyki można porównać do rejestrów. Ponieważ są one
zorganizowane wewnątrz usług,
> bardziej byłbym skłonny porównać charakterystyki do plików a usługi do folderów.
Gdy połączysz się z urządzeniem, możesz
> wylistować dostępne na nim usługi i charakterystyki. Standardowe usłgi znajdziesz
na stronie
> https://www.bluetooth.com/specifications/gatt/servic
es Klikając w daną usługę zobaczysz jakie są w niej charakteystyki
> (https://www.bluetooth.com/specifications/gatt/chara
cteristics). Te standardowe mają 16-bitowe UUIDy. Wymyślając swoje
> usługi i charakterystyki zwykle używa się 128-bitowych charakterystyk. UUIDy
pozwalają nam zorientować się jakie usługi
> i charakterystyki są na urządzeniu. Np. czy ma ono usługę Battery Service z
charakterystyką Battery Level, z której
> będziesz mógł odczytać stan baterii. Gdy już mamy nawiązane połączenie, korzystamy
z uchwytów. Nie trzeba więc ciągle
> odwoływać się do długich UUIDów. Uchwyty to kolejne liczby identyfikujące usługi,
charakterystyki oraz deskryptory
> charakterystyk, np.:
> 1 usługa pierwsza
> 2 pierwsza charakterystyka pierwszej usługi
> 3 wartość charakterystyki
> 4 deskryptor charakterystyki
> 5 druga charakterystyka pierwszej usługi
> 6 wartość drugiej charakterystyki pierwszej usługi
> 7 deskryptor tej charakterystyki
> 8 druga usługa
> 9 pierwsza charakterystyka drugiej usługi
> 10 wartość charakterystyki
> 11 deskryptor
> Atrybuty to m.in. R,W ale też notify i indicate, dzięki którym urządzenie może Cię
informować o tym, że zmieniła się
> wartość charakterystyki.
>
> Trzeba dobrze zrozumieć na czym polega filozofia GATT. Urządzenie wystawia Ci
charakterystyki, które można porównać do
> małych plików lub rejestrów. Jeśli kojarzysz Modbus, to jest tu pewna analogia. Z
tym, że tutaj dodatkowo jest to
> zorganizowane w usługi. Masz więc ustrukturyzowane dane, które możesz odczytywać i
zapisywać. Możesz też dostawać
> powiadomienia o zmianach. Nie ma czegoś takiego jak port szeregowy, że leci Ci
dwustronny strumień bajtów. Jak ktoś
> chce, może sobie port szeregowy symulować. Wystarczy zapisywać dane do wybranej
charakterystyki i odbierać je przez
> notify albo indicate. W GATT założenie jest inne, jest określona struktura punktów
wymiany konkretnych danych, takich
> jak stan baterii, czas, ciśnienie, wilgotność, temperatura czy waga. Lub też
dowolne inne. Dobrym przykładem możesz być
> tutaj Apple Notification Center Service
> (https://developer.apple.com/library/content/documen
tation/CoreBluetooth/Reference/AppleNotificationCent
erServiceSpecification/Specification/Specification.h
tml).
> Usługa ta posiada 3 charakterystyki, za pomocą których iPhone może powiadamiać
Twoje urządzenie o notyfikacjach. Warto
> popatrzeć m.in. na struktury danych.
>
Bardzo dziękuję za wyczerpujący opis działania BT, dużo mi to rozjaśniło.
--
Pzdr.
Marek
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
Najnowsze wątki
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=
- 2025-02-10 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2025-02-10 Dlaczego takie preferencje banków?
- 2025-02-10 Białystok => iOS Developer (Swift) <=
- 2025-02-10 Mińsk Mazowiecki => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-10 Białystok => System Architect (Java background) <=
- 2025-02-10 Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- 2025-02-10 Szczecin => Senior Field Sales (system ERP) <=
- 2025-02-10 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-10 Chrzanów => Specjalista ds. public relations <=
- 2025-02-10 Chrzanów => NodeJS Developer <=
- 2025-02-10 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-02-10 Gliwice => Ekspert IT (obszar systemów sieciowych) <=