-
Notifications
You must be signed in to change notification settings - Fork 1
BLE GATT
An important concept to understand with GATT is the server/client relationship.
The peripheral is known as the GATT Server
, which holds the ATT (attribute) lookup data, service and characteristic definitions, and the GATT Client
(the phone/tablet), which sends requests to this server.
All transactions are started by the master device, the GATT Client, which receives response from the slave device, the GATT Server.
###Services and Characteristics GATT transactions in BLE are based on high-level, nested objects called Profiles, Services and Characteristics, which can be seen in the illustration below:
####Profiles A Profile doesn't actually exist on the BLE peripheral itself, it's simple a pre-defined collection of Services that has been compiled by either the Bluetooth SIG or by the peripheral designers.
####Services Services are used to break data up into logic entities, and contain specific chunks of data called characteristics. A service can have one or more characteristics, and each service distinguishes itself from other services by means of a unique numeric ID called a UUID.
####Characteristics The lowest level concept in GATT transactions is the Characteristic, which encapsulates a single data point (though it may contain an array of related data, such as X/Y/Z values from a 3-axis accelerometer, etc.).
Home
##Pre-Req
Software
Hardware
##Protocols
XMPP
AMQP
MQTT
WebSockets
Custom
##Raspberry Pi
Connecting
Configuration
WiFi
Update
###BLE
About
Support
GAP
Broadcast Topology
Connected Topology
GATT
Install
Configure
Connect
Read/Write
###NODEJS
Install
Install
Test
##XSockets
###Hosting
Self-hosted
Configuration
Azure worker role
###Let's build a location based chat
Chat controller
Add name & location
Target specific clients
Install
Test
###Sensor Controller
Basic
Adding state
Broadcast to all
Target specific clients
Confirm enable/disable
Complete
###Monitor Controller
Basic
OnOpened
Adding state
Turn sensor on/off
Complete
###Testing With Putty
Custom protocol
Connecting
Impersonate sensor
Impersonate monitor
###Scale Out
Azure Service Bus
##Suggested Clients
Overview
Web JavaScript
Putty
C-Sharp
TCP-IP
###MQTT
client
publish
##Azure
Hosting & scaling
##Links/Resources
Adafruit
Wikipedia