View stunning SlideShares in full-screen with the new iOS app!Introducing SlideShare for AndroidExplore all your favorite topics in the SlideShare appGet the SlideShare app to Save for Later — even offline
View stunning SlideShares in full-screen with the new Android app!View stunning SlideShares in full-screen with the new iOS app!
Bluetooth 4.0 Low Energy Device ScannerAn iOS Core BluetoothBluetooth Low Energy is also available on SamsungApplication 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 email@example.com
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
BLE 4.0 Demo Devices TI CC2540 Key Fob 60beat Bluetooth Heart Rate Monitor?? New device type!
Bluetooth ArchitectureToday 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
Bluetooth 4.0 UsageModelFunctionality User Functionality Provider Advertise Discover Interact User Device Client Server Manifested in code Central Peripheral Master Slave Sophisticated UI Little or No UI*
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
iOS Core Bluetooth FrameworkPrincipal 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, ornotification/indicationNotifications are events which clients cansubscribe to which result in “pushed” updatesfrom the server
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
iOS Devices Can Be Peripherals in iOS 6.0!Functionality User Functionality Provider Advertise Discover InteractiPhone/iPad on both sides of the connection Demo - TI Key Fob Simulator Demo - Heart Rate Monitor Simulator
Bluetooth Low Energy PicoNets C C C C P P P P P P P PC = Central/Master Not Currently PermittedP = Peripheral/Slave
ResourcesCode Camp Demo Code https://github.com/chipk215/ble_scanner https://github.com/chipk215/keyfobsimBluetooth 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
ResourcesTechBasic - A BASIC environment for iOSavailable in the app store which provides anBluetooth Low Energy API. Educational friendlyprojects. 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.
ResourcesiTunes 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!
Local ResourcesBoise Cocoa Heads contact Ron Adams ( firstname.lastname@example.org://cocoaheads.org/us/BoiseIdaho/index.htmlgoogleGroup: http://bit.ly/cocoaHeadsBoisemeetingLocation: http://goo.gl/maps/80eiQhttp://twitter.com/cocoaheadsboisehttp://cocoaheads.tv