2. “Apple iBeacon Technology Overview”
Vladimir Petrov @VladPetroff
🍕🍩🍻💬 🍕🍩🍻💬 🍕🍩🍻💬
“Deploying beacons in a retail environment”
Tim Woolford @tim_woolford
“Introduction to Avnet and Bluegiga BLE121LR”
Alastair Worth @wirelessworthy
🍻 Blueberry Bar, across the road
#LBTHD
“Building a BT 4.0 LE HID device”
Nick Brook @nrbrook
.IDEAL
4. #LBTHD
• Bluetooth foot pedal
• Supports up to 4 pedals
• Used primarily with music display Apps, turning pages
.IDEAL
AirTurn BT-105
5. #LBTHD
• Bluetooth 2.1
• HID device — Bluetooth keyboard
• iOS
• Doesn’t provide access to key events (directly, <7)
• Hides the virtual keyboard
• Requires hacks
.IDEAL
AirTurn BT-105
6. #LBTHD
• Provides direct access to Bluetooth 4 LE devices
• Introduced iOS 5
• Good device support
.IDEAL
CoreBluetooth
7. #LBTHD
• AKA “Bluetooth Smart”
• Entirely new protocol stack (vs Bluetooth “Classic”)
• Peripheral (Server) advertises services
• Central (Client) scans and connects to devices
.IDEAL
Bluetooth 4 LE
9. #LBTHD
• 31 byte advertising packet + scan response
• GATT Database
• Services
• Characteristics (key -> value store)
• Up to 512 bytes
• Read, write, notify
.IDEAL
Bluetooth 4 LE
10. #LBTHD
• Some services defined by Bluetooth SIG, e.g.
• Human Interface Device
• Device Information
• Battery
• You can define your own services
.IDEAL
Bluetooth 4 LE
11. #LBTHD
• Simple
• Quick to learn
• Can achieve a lot
• Some oddities
.IDEAL
Bluetooth 4 LE
BLUETOOTH SPECIFICATION Version 4.0 [Vol 3] page 485 of 656
Attribute Protocol (ATT)
Unlikely Error 0x0E The attribute request that was
requested has encountered an error
that was unlikely, and therefore could
not be completed as requested.
Insufficient Encryption 0x0F The attribute requires encryption
before it can be read or written.
Unsupported Group Type 0x10 The attribute type is not a supported
Name Error Code Description
12. #LBTHD
• Small
• Low cost (£8)
• Low power (CR2032)
• Complete integrated package (radio, antenna, microcontroller,
flash, GPIO, UART, I2C, PWM, ADC)
• Easy, simple, quick to get started
• BGScript
.IDEAL
Bluegiga BLE113
13. #LBTHD
• Don’t need much circuitry around the package
• Power supply
• Any sensors/IO
.IDEAL
Bluegiga BLE113
16. #LBTHD
• Custom GATT service
• Provides pedal state change notifications
• Also supports HID for keyboard / mouse commands
.IDEAL
New AirTurn
17. #LBTHD
• Scans for / connects to devices
• UI provided
• Sends out notifications on pedal events
• Works in background
• Different AirTurns connected to different Apps
• Simple to implement
• No Hacks!!
.IDEAL
New framework
18. #LBTHD
• Growing number of freelance projects
• Get in touch
• @nrbrook
• nick@nickbrook.me
• Speak to me!
• Please give feedback! http://goo.gl/HgSrgu
.IDEAL
LE + mobile projects