-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: "Grzegorz Niemirowski" <g...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Bluetooth: profile, atrybuty, charakterystyki
Date: Tue, 22 Aug 2017 23:14:01 +0200
Organization: ATMAN - ATM S.A.
Lines: 64
Message-ID: <oni6qm$h1r$1@node2.news.atman.pl>
References: <ongvmm$q75$1@node1.news.atman.pl>
NNTP-Posting-Host: 31-178-110-204.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1503436438 17467 31.178.110.204 (22 Aug 2017 21:13:58
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 22 Aug 2017 21:13:58 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: OE PowerTool 4.5
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
X-WWW: http://www.grzegorz.net/
Xref: news-archive.icm.edu.pl pl.misc.elektronika:722406
[ ukryj nagłówki ]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/
Następne wpisy z tego wątku
- 23.08.17 00:00 Marek
- 23.08.17 00:24 Grzegorz Niemirowski
- 23.08.17 16:56 Marek
- 23.08.17 07:51 Pawel
- 23.08.17 18:43 Marek
- 23.08.17 08:36 Pawel
- 24.08.17 07:52 Marek
- 24.08.17 07:56 Marek
- 24.08.17 11:43 J.F.
- 24.08.17 15:36 wchpikus
- 24.08.17 17:49 Marek
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) <=