-
1. Data: 2017-08-22 12:06:02
Temat: Bluetooth: profile, atrybuty, charakterystyki
Od: Marek <t...@f...pl>
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).
--
Pzdr.
Marek
-
2. Data: 2017-08-22 19:32:34
Temat: Re: Bluetooth: profile, atrybuty, charakterystyki
Od: wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <N...@g...pl>
(ostro) to jak zarejestrujesz się:
http://zsyp.eu/smieci/usbdp-bluetooth.JPG
?
-
3. Data: 2017-08-22 20:30:32
Temat: Re: Bluetooth: profile, atrybuty, charakterystyki
Od: Pawel <n...@n...pl>
W dniu 22.08.2017 o 12:06, Marek pisze:
> 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.
Charakterystykę można porównać do rejestru procesora Taki rejestr może
być "RW", "R","W". Czasem dostęp wymaga ustawienia czegoś w innym
rejestrze, Identycznie jest dostępem do charakterystyk. Mają one też
atrybuty typu "RW", "R", "W".
Rejestr uP ma swoją nazwę symboliczną (odpowiednik UUID charakterystyki)
i fizyczny adres (odpowiednik uchwytu charakterystyki).
Nazwa symboliczna rejestru jest unikana w ramach danego układu
peryferyjnego (UART, ADC, I2C ..) Podobnie jest UUID charakterystyki.
Jest ona unikalna w ramach danego serwisu.
Szczególnie interesuje mnie
> przesyłanie danych z dongle'a
> BLED112 na UART-owe porty RxD i TxD modułu BMD-300 (Nordick'a).
>
W tym BMD-300 musisz mieć firmware realizujący taką funkcjonalność.
Wydaje mi się, że te moduły sprzedawane są bez oprogramowania
Paweł
-
4. Data: 2017-08-22 23:14:01
Temat: Re: Bluetooth: profile, atrybuty, charakterystyki
Od: "Grzegorz Niemirowski" <g...@p...onet.pl>
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.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
-
5. Data: 2017-08-23 00:00:39
Temat: Re: Bluetooth: profile, atrybuty, charakterystyki
Od: Marek <f...@f...com>
On Tue, 22 Aug 2017 23:14:01 +0200, "Grzegorz Niemirowski"
<g...@p...onet.pl> wrote:
> 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).
Wszystko to takie mądre ale jak dotąd od 10 lat przynajmniej nie
spotkałem się ze stabilnym pieczeniem bt audio np. telefon -
słuchawka. Syabilne czyli ZAWSZE zadziała. Jeszcze takiego zestawu
nie miałem.
--
Marek
-
6. Data: 2017-08-23 00:24:00
Temat: Re: Bluetooth: profile, atrybuty, charakterystyki
Od: "Grzegorz Niemirowski" <g...@p...onet.pl>
Marek <f...@f...com> napisał(a):
> Wszystko to takie mądre ale jak dotąd od 10 lat przynajmniej nie
> spotkałem się ze stabilnym pieczeniem bt audio np. telefon - słuchawka.
> Syabilne czyli ZAWSZE zadziała. Jeszcze takiego zestawu nie miałem.
Niestety w przypadku BLE wcale nie jest lepiej. Mam Huawei P9 Lite. Połączyć
się z niego do BlueNRG-MS to cud. A PC z najtańszym donglem z Allegro łączy
się bez problemu. Ale pod warunkiem, że jest na nim konkretna wersja Windows
10. iPhone działa bardzo ładnie z BlueNRG-MS. Inne telefony z Androidem
różnie. W ogóle pisanie appek BLE na Androida to masakra:
https://www.reddit.com/r/androiddev/comments/4ofnbp/
bluetooth_ble_development_is_miserable_on_android/
Z kolei na Linuksie bywa różnie, jako tako działa. Z modułów, to ładnie
działał mi nrf52, dużo lepiej od BlueNRG-MS.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
-
7. Data: 2017-08-23 07:51:54
Temat: Re: Bluetooth: profile, atrybuty, charakterystyki
Od: Pawel <n...@n...pl>
W dniu 23.08.2017 o 16:56, Marek pisze:
> On Wed, 23 Aug 2017 00:24:00 +0200, "Grzegorz Niemirowski"
> <g...@p...onet.pl> wrote:
>> Niestety w przypadku BLE wcale nie jest lepiej.
>
> To jest jakieś dramat, że z wydawało by się tak prosta funkcjonalność
> jest tak spieprzona implementacyjnie. I to wcale się nie poprawia.
W typowym telefonie obsługę BT i WiFi zapewniają te same układy. Tak
jest taniej. Oczywiście jednoczesne korzystanie z BT i WiFi nie jest
możliwe. Usiłuje się ten problem zamaskować różnymi sztuczkami. Zwykle
stosuje się szybkie przełączanie układów. Niestety to rozwiązanie w
przypadku BT ma poważną wadę. Nawiązanie połączenia wymaga
wcześniejszego odebrania pakietu rozgłoszeniowego. Są one nadawane
typowo co około 1..2 sek. Ten podział czasu pomiędzy WiFi a BT powoduje,
że statystycznie odbierany np. co trzeci pakiet. To jednak tylko
statystyka. Czasem może się jednak zdarzyć, że nawet przez 30 sek. nic
nie zostanie odebrane. Nawiązanie połączenia w takich warunkach graniczy
z cudem. Czym szybciej urządzenie się rozgłasza tym większe szanse na
udane połączenie. Nie ma jednak szans na uzyskanie 100%.
Paweł
-
8. Data: 2017-08-23 08:36:10
Temat: Re: Bluetooth: profile, atrybuty, charakterystyki
Od: Pawel <n...@n...pl>
W dniu 23.08.2017 o 18:43, Marek pisze:
> On Wed, 23 Aug 2017 07:51:54 +0200, Pawel <n...@n...pl> wrote:
>> W typowym telefonie obsługę BT i WiFi zapewniają te same układy. Tak
>
> Wiem, ale wyłączenie Wi-Fi wcale nie naprawia BT.
>
Wyłącznie WiFi nie wpływa na to co który pakiet jest odbierany. Mam
urządzenie wysyłające numerowane pakiety rozgłoszeniowe. Udało mi się
odebrać na Androidzie jak i Windows max. 30% wysłanych pakietów. Przy
pomocy zewnętrznego dongla obsługiwanego z własnej aplikacji jest to 100%.
Paweł
-
9. Data: 2017-08-23 16:56:57
Temat: Re: Bluetooth: profile, atrybuty, charakterystyki
Od: Marek <f...@f...com>
On Wed, 23 Aug 2017 00:24:00 +0200, "Grzegorz Niemirowski"
<g...@p...onet.pl> wrote:
> Niestety w przypadku BLE wcale nie jest lepiej.
To jest jakieś dramat, że z wydawało by się tak prosta
funkcjonalność jest tak spieprzona implementacyjnie. I to wcale się
nie poprawia.
Co ciekawe w przypadku np. telefonów problem wcale nie jest w
hardwarze (modułach) tylko w sofcie. W miarę działający telefon po
aktualizacji systemu nagle ma problem z bt, czyli problem nie jest w
sprzęcie.
Skoro bt jest tak zależny od "user space" (co jest absurdem), to
dlaczego nie przenosi się obsługi do wew. modułu, tak aby kretyni od
(dowolnego) osa nie mogliby tego już popsuć??
--
Marek
-
10. Data: 2017-08-23 18:43:49
Temat: Re: Bluetooth: profile, atrybuty, charakterystyki
Od: Marek <f...@f...com>
On Wed, 23 Aug 2017 07:51:54 +0200, Pawel <n...@n...pl> wrote:
> W typowym telefonie obsługę BT i WiFi zapewniają te same układy.
> Tak
Wiem, ale wyłączenie Wi-Fi wcale nie naprawia BT.
--
Marek