2. Bluetooth 4.0 Low
Energy Device Scanner
An iOS Core BluetoothBluetooth Low Energy is
also available on Samsung
Application Galaxy S III and the
Windows Surface Tablet.
Discover, connect, and use
Bluetooth 4.0 devices
Boise Code Camp
2013 King Harald Bluetooth
Presenter: Chip Keyes King Nordic Gormsson
Harald Region
Gormsson
chipk215@msn.com
3. BluetoothtechnologyEnergy
Newer Bluetooth
Low distinct from
classic Bluetooth
Designed for low cost, low power
consumption, and extremely high
deployment volumes
Internet of Things, Personal Area
Networks
Devices typically powered by button cell
batteries
Low data rate (<0.3Mbps) [Contrast with 54Mbps v3.0]
Operating ranges are “close proximity”
typically less than 40 meters (dependent
4. BLE 4.0 Demo Devices
TI CC2540 Key Fob
60beat Bluetooth Heart Rate
Monitor
?
? New device type!
5. Bluetooth Architecture
Today Applications
Applications Apps
!
Software Abstraction
Generic Access Protocol
Generic Access Protocol Host
Generic Attribute Protocol
Generic Attribute Protocol
Multiplexing Layers
Attribute Protocol
Attribute Protocol Security
Security &
Security
Logical Link Control & Adaptation Protocol
Logical Link Control & Adaptation Protocol &
Protocols
Host Controller Interface
Host Controller Interface
Link Layer (advertising, scanning, connections)
Link Layer (advertising, scanning, connections) Controller
Physical Layer (Radio)
Physical Layer (Radio) Direct Test
Direct Test
6. Bluetooth 4.0 Usage
Model
Functionality User Functionality Provider
Advertise
Discover
Interact
User Device
Client Server
Manifested in code
Central Peripheral
Master Slave
Sophisticated UI Little or No UI*
7. Servers Deliver Functionality via Services
Peripheral
UUID - Universally Unique
Identifiers
(16 or 128 bits) identify Services
1 to N and Characteristics
Device Information N
Service
Heart Rate Service Services Registered Services
1 to N Registered Characteristics
Heart Rate N
Measurement Characteristic
Model Number String s
1 to N *Profiles are services
working together according
N to a specification.
Extended Properties, Descripto
Configuration, etc. rs
8. iOS Core Bluetooth Framework
Principal Classes
CBCentralManager & delegate (Client support)
CBPeripheral & delegate (represents device)
CBService (a service on the device)
CBCharacteristic (a characteristic supporting a service)
Characteristics can be of type read, write, or
notification/indication
Notifications are events which clients can
subscribe to which result in “pushed” updates
from the server
9. Last Prep Slide!
Objective-C
syntax for demo code
[receiver message]
receiver is the “object”
message is the method invoked on the object
C#/Java analagous expression: object.method
Objective-C also uses dot notation convention when accessing
properties of an object
properties = C#/Java fields
Objective-C Interfaces analagous to C#/Java Classes
Objective-C Protocols analgous to C#/Java Interfaces
Lastly Objective-C self equivalent to C#/Java this
10. iOS Devices Can Be Peripherals in
iOS 6.0!
Functionality User Functionality Provider
Advertise
Discover
Interact
iPhone/iPad on both sides of the connection
Demo - TI Key Fob Simulator
Demo - Heart Rate Monitor Simulator
11. Bluetooth Low Energy PicoNets
C
C C
C
P
P P
P P
P P
P
C = Central/Master Not Currently Permitted
P = Peripheral/Slave
12. Resources
Code Camp Demo Code
https://github.com/chipk215/ble_scanner
https://github.com/chipk215/keyfobsim
Bluetooth Low Energy Web Site
http://www.bluetooth.com/Pages/low-energy.aspx
Bluetooth Low Energy Specification:
https://www.bluetooth.org/Technical/Specifications/adopted.htm
(Core Version 4.0)
StackOverflow core-bluetooth, bluetooth-lowenergy tags
http://stackoverflow.com
13. Resources
TechBasic - A BASIC environment for iOS
available in the app store which provides an
Bluetooth Low Energy API. Educational friendly
projects.
http://www.byteworks.us/Byte_Works/techB
ASIC.html
Lots of well documented sample code. No
Apple Development license or Xcode
environment required. Download program
files to the device using iTunes.
14. Resources
iTunes University - Stanford CS193p
Coding Together: Developing Apps for
iPhone and iPad (Winter 2013 Latest
Offering)
This course significantly accelerated my iOS
indoctrination. It is fun, there are guest
lecturers, and the assignments are always
interesting!
15. Local Resources
Boise Cocoa Heads
contact Ron Adams ( ronladams7@gmail.com
http://cocoaheads.org/us/BoiseIdaho/index.html
googleGroup: http://bit.ly/cocoaHeadsBoise
meetingLocation: http://goo.gl/maps/80eiQ
http://twitter.com/cocoaheadsboise
http://cocoaheads.tv
Notas do Editor
Harald "Bluetooth" Gormsson ( Old Norse : Haraldr blátǫnn Gormsson , Danish : Harald Blåtand Gormsen ) (probably born c. 935) was the son of King Gorm the Old and of Thyra Dannebod . He died in 985 or 986 having ruled as King of Denmark from c. 958 and King of Norway for a few years probably around 970. "Bluetooth" now commonly refers to the Bluetooth wireless specification designed by Ericsson , the major Swedish telecommunications organization, to enable cable-free connections between computers, mobile phones, PDAs, printers, etc. The Bluetooth communications protocol in these devices is named after this king, ostensibly due to his abilities to make diverse factions communicate with each other. According to legend, he gained the nickname "Bluetooth" due to his love of blueberries, which stained his teeth. The Bluetooth logo consists of the Nordic runes for his initials, H and B ( Long-branch runes version). [13]