Starting momentarily...
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
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 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
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*
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 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
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

                     Interact




iPhone/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
                                         P




C = Central/Master Not Currently Permitted
P = Peripheral/Slave
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
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.
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!
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

Ble boise codecamp

  • 1.
  • 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 DemoDevices 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 FunctionalityUser 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 Functionalityvia 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 BluetoothFramework 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 CanBe 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 EnergyPicoNets 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 DemoCode 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 - ABASIC 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 CocoaHeads 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

Editor's Notes

  • #3 Harald &quot;Bluetooth&quot; 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. &quot;Bluetooth&quot; 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 &quot;Bluetooth&quot; 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]