SlideShare a Scribd company logo
1 of 53
Download to read offline
挖掘低耗電藍芽的寶藏
!
Evan Wu
Evan Wu
Cocoa Heads Kaohsiung 共同發起⼈人
Code for Kaohsiung 共同發起⼈人
Code Monkey @Mobilogics
Bluetooth 4.0 Low Energy
The Bluetooth SIG announced the formal
adoption of Bluetooth Core Specification
Version 4.0 in July 2010.
•Ultra-low peak, average and idle mode
power consumption
•Ability to run for years on standard,
coin-cell batteries
•Low cost
•Multi-vendor interoperability
•Single Mode & Dual Mode
http://developer.bluetooth.org
CR2032
Frequency Bands and Channel
Arrangement
The Bluetooth system operates in the 2.4 GHz ISM
band. This frequency band is 2400 - 2483.5 MHz
!
The 79 RF channels are ordered from channel
number 0-78 and are spaced 1 MHz beginning at
2402 GHz
http://developer.bluetooth.org
Range
Class 3 radios - have a range of up to 1 meter or 3
feet
Class 2 radios - most commonly found in mobile
devices - have a range of 10 meters or 33 feet
Class 1 radios - used primarily in industrial use
case - have a range of 100 meters or 300 feet
http://developer.bluetooth.org
Transmitter Characteristics
Power Class
Maximum
Output Power
(Pmax)
Nominal Output
Power
Minimum
Output Power
Power Control
1
100 mW(20
dBm)
N/A 1mW(0 dBm)
Pmin<+4 dBm
to Pmax
Optional:
Pmin** to Pmax
2 2.5mW(4 dBm) 1mW(0 dBm)
0.25mW(-6
dBm)
Optional: Pmin
to Pmax
3 1mW(0 dBm) N/A N/A
Optional: Pmin2
to Pmax
http://developer.bluetooth.org
Classic Bluetooth
Automation
SecuritySports/FitnessHealth Care
Entertainment Toys
Pay System Time Services Proximity
WWDC 2012 Session 703
Platforms for Bluetooth Smart devices
Company Description
Bluegiga Offers single mode development kits & more. Bluegiga.com
Broadcom Offers application development kit. Broadcom.com
Cambridge Silicon Radio Offers hosts, controllers, profile solutions & more. CSR.com
connectBlue Offers single mode platform for Bluetooth Smart devices & more. connectBlue.com
ISSC Technologies Corp. Offers platforms for Bluetooth Smart device development. issc-tech.com
Laird Technologies Offers single mode BLE module featuring smartBASIC. lairdtech.com
Nordic Semiconductor Offers single mode development kits & more. NordicSemi.com
Stollmann Offers single mode platform independent profile solutions. Stollmann.com
TI Offers single mode development kits & more. TI.com
http://developer.bluetooth.org
connectBlue Bluetooth Serial Port Module OBS421
TICC2541 SensorTag Development Kit
Nordic nRF8001 Development Kit
Does the iOS simulator
support Bluetooth Low
Energy?
Technical Note TN2295
How about OS X?
http://www.apple.com.tw
Role of Bluetooth 4.0
Client Server
Wants Data Has Data
Central Peripheral
Master Slave
Profiles
Profiles are high level definitions that define how
services can be used to enable an application or
use case
http://developer.bluetooth.org
Profiles
Alert Notification HID OVER GATT
Blood Pressure Location and Navigation
Cycling Power Phone Alert Status
Cycling Speed and Cadence Proximity
Find Me Running Speed and Cadence
Glucose Scan Parameters
Health Thermometer Time
Heart Rate
Services
Services are collections of characteristics and
relationships to other services that encapsulate the
behavior of part of a device.
http://developer.bluetooth.org
Services
Alert Notification Service	

0x1811
Battery Service	

0x180f
Blood Pressure	

0x1810
Current Time Service	

0x1805
Cycling Power	

0x1818
Cycling Speed and
Cadence
Device Information Generic Access Generic Attribute
Glucose Health Thermometer Heart Rate
Human Interface Device Immediate Alert Link Loss
Location and Navigation Next DST Change Service Phone Alert Status Service
Reference Time Update
Service
Running Speed and
Cadence
Scan Parameters
Tx Power
Characteristics
Alert Category ID Alert Category ID Bit Mask Alert Level
Alert Notification Control Point Alert Status Appearance
Battery Level Blood Pressure Feature Blood Pressure Measurement
Body Sensor Location Boot Keyboard Input Report Boot Keyboard Output Report
CSC Feature CSC Measurement Current Time
Cycling Power Control Point Cycling Power Feature Cycling Power Measurement
Cycling PowerVector Data Time Day Date Time
Day of Week Device Name DST Offset
Exact Time 256 Firmware Revision String Clucose Feature
Glucose Measurement Glucose Measurement Context Hardware Revision String
Heart Rate Control Point Heart Rate Measurement HID Control Point
HID Information IEEE 11073-20601 Regulatory Certification Data List Intermediate Cuff Pressure
Intermediate Temperature LN Control Point LN Feature
Local Time Information Local Time Information Location and Speed
Manufacturer name String Measurement Interval Model Number String
Navigation New Alert Peripheral Preferred Connection Parameters
Peripheral Privacy Flag PnP ID Position Quality
Protocol Mode Reconnection Address Record Access Control Point
Reference Time Information Report Report Map
Ringer Control Point Ringer Setting RSC Feature
RSC Measurement SC Control Point Scan Interval Window
Scan Refresh Sensor Location Serial Number String
Supported New Alert Category Supported Unread Alert Category System ID
Temperature Measurement Temperature Type Time Accuracy
Time Source Time Update Control Point Time Update State
Time with DST Time Zone Tx Power Level
Profile, Services and Characteristics
Profile
WWDC 2012 Session 703
SDK and Framework
Android:
samsung_ble_sdk_200.jar
!
iOS:
CoreBluetooth.framework
Central Manager
Scan
Discover Peripheral
Connect / Disconnect
Discover Services
Discover Characteristics
CBCentralManager *centralManager = [[CBCentralManager alloc]
initWithDelegate:self queue:nil];
!
!
!
!
- (void)centralManagerDidUpdateState:(CBCentralManager *)central
{
if (central.state == CBCentralManagerStatePoweredOn) {
[central scanForPeripheralsWithServices:nil options:0];
}
}
Scan
- (void)centralManager:(CBCentralManager *)central
didDiscoverPeripheral:(CBPeripheral *)peripheral
advertisementData:(NSDictionary *)advertisementData RSSI:
(NSNumber *)RSSI
{
[centralManager connectPeripheral:peripheral options:nil];
}
Discover Peripheral
- (void)centralManager:(CBCentralManager *)central
didConnectPeripheral:(CBPeripheral *)peripheral
{
[peripheral setDelegate:self];
[peripheral discoverServices:nil];
}
!
!
- (void)centralManager:(CBCentralManager *)central
didDisconnectPeripheral:(CBPeripheral *)peripheral error:
(NSError *)error
{
NSLog(@"didDisconnectPeripheral = %@", [peripheral.identifier
UUIDString]);
}
Connected / Disconnected
- (void)peripheral:(CBPeripheral *)peripheral
didDiscoverServices:(NSError *)error
{
if (!error) {
for (CBService *service in peripheral.services) {
[peripheral discoverCharacteristics:nil
forService:service];
}
}
}
Discover Services
- (void)peripheral:(CBPeripheral *)peripheral
didDiscoverCharacteristicsForService:(CBService *)service error:
(NSError *)error
{
!
}
Discover Characteristics
Peripheral Manager
CBPeripheralManager *peripheralManager = [[CBPeripheralManager
alloc] initWithDelegate:self queue:nil];
!
!
!
- (void)peripheralManagerDidUpdateState:(CBPeripheralManager
*)peripheral
{
if (peripheral.state == CBPeripheralManagerStatePoweredOn) {
[peripheralManager startAdvertising:dictionary];
}
}
Data Transmission
Read
Write
Notification
Data Transmission
- (void)readValueForCharacteristic:(CBCharacteristic
*)characteristic;
Data Transmission
- (void)writeValue:(NSData *)data forCharacteristic:
(CBCharacteristic *)characteristic type:
(CBCharacteristicWriteType)type;
- (void)setNotifyValue:(BOOL)enabled forCharacteristic:
(CBCharacteristic *)characteristic;
Data Transmission
- (void)peripheral:(CBPeripheral *)peripheral
didUpdateValueForCharacteristic:(CBCharacteristic
*)characteristic error:(NSError *)error;
- (BOOL)updateValue:(NSData *)value forCharacteristic:
(CBMutableCharacteristic *)characteristic onSubscribedCentrals:
(NSArray *)centrals;
Need a Help with Tool?
GreatBLE
DEMO
AScan
Central
Peripheral
AScaniPDT5iPad
Central
Peripheral
AScaniPDT5
Central
Peripheral
iPad
Product Idea?
!
Where is the Treasure?
More Information
Bluetooth Accessory Design Guidelines for Apple Products
https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf
Bluetooth SIG, Inc.
http://www.bluetooth.org
Bluetooth Developer Portal
https://developer.bluetooth.org/Pages/default.aspx
WWDC 2012 Session 703
WWDC 2012 Session 705
WWDC 2013 Session 703
More Information
BlackBerry 10 Bluetooth LE resource index
http://supportforums.blackberry.com/t5/Native-Development-Knowledge/BlackBerry-10-Bluetooth-LE-resource-
index/ta-p/2326147
Samsung BLE SDK
http://developer.samsung.com/ble
More Information
github.com/Mobilogics
Code for Kaohsiung facebook
http://www.facebook.com/groups/codeforkaohsiung/
Cocoaheads Kaohsiung facebook
http://www.facebook.com/groups/cocoaheads.kaohsiung/
evan3rd@gmail.com
謝謝

More Related Content

What's hot

Cellphone based home automation
Cellphone based home automationCellphone based home automation
Cellphone based home automationPROJECTRONICS
 
Tcp232 t24-getting started manual v1.0
Tcp232 t24-getting started manual v1.0Tcp232 t24-getting started manual v1.0
Tcp232 t24-getting started manual v1.0Jorge_Rod
 
Wireless Mesh Technology, Ecosystem and Alliance for reliable and secure IoT
Wireless Mesh Technology, Ecosystem and Alliance for reliable and secure IoTWireless Mesh Technology, Ecosystem and Alliance for reliable and secure IoT
Wireless Mesh Technology, Ecosystem and Alliance for reliable and secure IoTSimon Chudoba
 
Home automation using FPGA controller
Home automation  using FPGA controller Home automation  using FPGA controller
Home automation using FPGA controller Ajay1120539
 
Track 5 session 3 - st dev con 2016 - mechanisms for trusted code execution...
Track 5   session 3 - st dev con 2016 - mechanisms for trusted code execution...Track 5   session 3 - st dev con 2016 - mechanisms for trusted code execution...
Track 5 session 3 - st dev con 2016 - mechanisms for trusted code execution...ST_World
 
Voice Recognition Wireless Home Automation System Based On Zigbee
Voice Recognition Wireless Home Automation System Based On ZigbeeVoice Recognition Wireless Home Automation System Based On Zigbee
Voice Recognition Wireless Home Automation System Based On ZigbeeIOSR Journals
 
E-License System With RTO Controle Room Management System
E-License System With RTO Controle Room Management SystemE-License System With RTO Controle Room Management System
E-License System With RTO Controle Room Management SystemIRJET Journal
 
Voice Controlled Robotic Vehicle
Voice Controlled Robotic VehicleVoice Controlled Robotic Vehicle
Voice Controlled Robotic VehicleIRJET Journal
 
Restful Webserver Based Domotic Home Using Power over Ethernet
Restful Webserver Based Domotic Home Using Power over EthernetRestful Webserver Based Domotic Home Using Power over Ethernet
Restful Webserver Based Domotic Home Using Power over Ethernetijsrd.com
 
ARDUINO BASED GAS LEAKAGE REPORT FULL
ARDUINO BASED GAS LEAKAGE REPORT FULLARDUINO BASED GAS LEAKAGE REPORT FULL
ARDUINO BASED GAS LEAKAGE REPORT FULLHari sankar
 
Bluetooth low energy
Bluetooth low energyBluetooth low energy
Bluetooth low energySaptadeep Pal
 
A minor project report HOME AUTOMATION USING MOBILE PHONES
A minor project report HOME AUTOMATION  USING  MOBILE PHONESA minor project report HOME AUTOMATION  USING  MOBILE PHONES
A minor project report HOME AUTOMATION USING MOBILE PHONESashokkok
 
Track 3 session 8 - st dev con 2016 - music and voice over ble
Track 3   session 8 - st dev con 2016 - music and voice over bleTrack 3   session 8 - st dev con 2016 - music and voice over ble
Track 3 session 8 - st dev con 2016 - music and voice over bleST_World
 
HOME AUTOMATION SYSTEM VIA INTERNET USING ANDROID PHONE
HOME AUTOMATION SYSTEM VIA INTERNET USING ANDROID PHONE HOME AUTOMATION SYSTEM VIA INTERNET USING ANDROID PHONE
HOME AUTOMATION SYSTEM VIA INTERNET USING ANDROID PHONE IJRISE Journal
 
WIRELESS HOME AUTOMATION USING PIC MICROCONTROLLER BASED ON RF-MODULE
WIRELESS HOME AUTOMATION USING PIC MICROCONTROLLER BASED ON RF-MODULEWIRELESS HOME AUTOMATION USING PIC MICROCONTROLLER BASED ON RF-MODULE
WIRELESS HOME AUTOMATION USING PIC MICROCONTROLLER BASED ON RF-MODULEEng.Manfred Kibona
 
Doc 39 Technical Brief on Broadband Last Mile Connectivity for SBI Colony
Doc 39 Technical Brief on Broadband Last Mile Connectivity for SBI ColonyDoc 39 Technical Brief on Broadband Last Mile Connectivity for SBI Colony
Doc 39 Technical Brief on Broadband Last Mile Connectivity for SBI ColonyNicheken Technologies Pvt Ltd
 
Final year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetoothFinal year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetoothShubham Bhattacharya
 
Touch screen home automation
Touch screen home automationTouch screen home automation
Touch screen home automationvision2d16
 
IRJET- Portable Surveillance Robot using IoT
IRJET-  	  Portable Surveillance Robot using IoTIRJET-  	  Portable Surveillance Robot using IoT
IRJET- Portable Surveillance Robot using IoTIRJET Journal
 

What's hot (20)

Cellphone based home automation
Cellphone based home automationCellphone based home automation
Cellphone based home automation
 
Tcp232 t24-getting started manual v1.0
Tcp232 t24-getting started manual v1.0Tcp232 t24-getting started manual v1.0
Tcp232 t24-getting started manual v1.0
 
Wireless Mesh Technology, Ecosystem and Alliance for reliable and secure IoT
Wireless Mesh Technology, Ecosystem and Alliance for reliable and secure IoTWireless Mesh Technology, Ecosystem and Alliance for reliable and secure IoT
Wireless Mesh Technology, Ecosystem and Alliance for reliable and secure IoT
 
Home automation using FPGA controller
Home automation  using FPGA controller Home automation  using FPGA controller
Home automation using FPGA controller
 
Track 5 session 3 - st dev con 2016 - mechanisms for trusted code execution...
Track 5   session 3 - st dev con 2016 - mechanisms for trusted code execution...Track 5   session 3 - st dev con 2016 - mechanisms for trusted code execution...
Track 5 session 3 - st dev con 2016 - mechanisms for trusted code execution...
 
Voice Recognition Wireless Home Automation System Based On Zigbee
Voice Recognition Wireless Home Automation System Based On ZigbeeVoice Recognition Wireless Home Automation System Based On Zigbee
Voice Recognition Wireless Home Automation System Based On Zigbee
 
Presentation on home automation
Presentation on home automationPresentation on home automation
Presentation on home automation
 
E-License System With RTO Controle Room Management System
E-License System With RTO Controle Room Management SystemE-License System With RTO Controle Room Management System
E-License System With RTO Controle Room Management System
 
Voice Controlled Robotic Vehicle
Voice Controlled Robotic VehicleVoice Controlled Robotic Vehicle
Voice Controlled Robotic Vehicle
 
Restful Webserver Based Domotic Home Using Power over Ethernet
Restful Webserver Based Domotic Home Using Power over EthernetRestful Webserver Based Domotic Home Using Power over Ethernet
Restful Webserver Based Domotic Home Using Power over Ethernet
 
ARDUINO BASED GAS LEAKAGE REPORT FULL
ARDUINO BASED GAS LEAKAGE REPORT FULLARDUINO BASED GAS LEAKAGE REPORT FULL
ARDUINO BASED GAS LEAKAGE REPORT FULL
 
Bluetooth low energy
Bluetooth low energyBluetooth low energy
Bluetooth low energy
 
A minor project report HOME AUTOMATION USING MOBILE PHONES
A minor project report HOME AUTOMATION  USING  MOBILE PHONESA minor project report HOME AUTOMATION  USING  MOBILE PHONES
A minor project report HOME AUTOMATION USING MOBILE PHONES
 
Track 3 session 8 - st dev con 2016 - music and voice over ble
Track 3   session 8 - st dev con 2016 - music and voice over bleTrack 3   session 8 - st dev con 2016 - music and voice over ble
Track 3 session 8 - st dev con 2016 - music and voice over ble
 
HOME AUTOMATION SYSTEM VIA INTERNET USING ANDROID PHONE
HOME AUTOMATION SYSTEM VIA INTERNET USING ANDROID PHONE HOME AUTOMATION SYSTEM VIA INTERNET USING ANDROID PHONE
HOME AUTOMATION SYSTEM VIA INTERNET USING ANDROID PHONE
 
WIRELESS HOME AUTOMATION USING PIC MICROCONTROLLER BASED ON RF-MODULE
WIRELESS HOME AUTOMATION USING PIC MICROCONTROLLER BASED ON RF-MODULEWIRELESS HOME AUTOMATION USING PIC MICROCONTROLLER BASED ON RF-MODULE
WIRELESS HOME AUTOMATION USING PIC MICROCONTROLLER BASED ON RF-MODULE
 
Doc 39 Technical Brief on Broadband Last Mile Connectivity for SBI Colony
Doc 39 Technical Brief on Broadband Last Mile Connectivity for SBI ColonyDoc 39 Technical Brief on Broadband Last Mile Connectivity for SBI Colony
Doc 39 Technical Brief on Broadband Last Mile Connectivity for SBI Colony
 
Final year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetoothFinal year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetooth
 
Touch screen home automation
Touch screen home automationTouch screen home automation
Touch screen home automation
 
IRJET- Portable Surveillance Robot using IoT
IRJET-  	  Portable Surveillance Robot using IoTIRJET-  	  Portable Surveillance Robot using IoT
IRJET- Portable Surveillance Robot using IoT
 

Similar to 挖掘低耗電藍芽的寶藏

How to use Bluetooth® Smart to control your embedded device with a mobile device
How to use Bluetooth® Smart to control your embedded device with a mobile deviceHow to use Bluetooth® Smart to control your embedded device with a mobile device
How to use Bluetooth® Smart to control your embedded device with a mobile deviceAnaren, Inc.
 
Key Open Standards for inter-operable IoT systems
Key Open Standards for inter-operable IoT systemsKey Open Standards for inter-operable IoT systems
Key Open Standards for inter-operable IoT systemsPratul Sharma
 
[Advantech] ADAM-3600 training kit and Taglink
[Advantech]  ADAM-3600 training kit and Taglink[Advantech]  ADAM-3600 training kit and Taglink
[Advantech] ADAM-3600 training kit and TaglinkMing-Hung Hseih
 
Bluetooth Profiles by DFunZone
Bluetooth Profiles by DFunZoneBluetooth Profiles by DFunZone
Bluetooth Profiles by DFunZoneDfunZone Net
 
Bluetooth Secure Simple Pairing Using NFC Part 1
Bluetooth Secure Simple Pairing Using NFC Part 1 Bluetooth Secure Simple Pairing Using NFC Part 1
Bluetooth Secure Simple Pairing Using NFC Part 1 NFC Forum
 
Bluetooth 4.0 specification
Bluetooth 4.0 specificationBluetooth 4.0 specification
Bluetooth 4.0 specificationabhiamanchopra
 
DWX2018 IoT lecture
DWX2018 IoT lectureDWX2018 IoT lecture
DWX2018 IoT lectureAlon Fliess
 
R K 2 Bluetooth Technologies
R K 2  Bluetooth  TechnologiesR K 2  Bluetooth  Technologies
R K 2 Bluetooth TechnologiesSaurav Kumar
 
Engineer Sensors For Digital Transformation Webinar PPT
Engineer Sensors For Digital Transformation Webinar PPTEngineer Sensors For Digital Transformation Webinar PPT
Engineer Sensors For Digital Transformation Webinar PPTSadatulla Zishan
 
Dotstack product brief 2014 11-26
Dotstack product brief 2014 11-26Dotstack product brief 2014 11-26
Dotstack product brief 2014 11-26Satya Harish
 
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...mfrancis
 
Module 1 notes for IoT BETCK105H (VTU) Introduction to IoT
Module 1 notes for IoT BETCK105H (VTU) Introduction to IoTModule 1 notes for IoT BETCK105H (VTU) Introduction to IoT
Module 1 notes for IoT BETCK105H (VTU) Introduction to IoTashwini870728
 
Overview of IoT/M2M Capability
Overview of IoT/M2M CapabilityOverview of IoT/M2M Capability
Overview of IoT/M2M CapabilityALTEN Calsoft Labs
 
Ptcl modem (user manual)
Ptcl modem (user manual)Ptcl modem (user manual)
Ptcl modem (user manual)Ali Usman
 
Extending Bluetooth with Mesh Networking
Extending Bluetooth with Mesh NetworkingExtending Bluetooth with Mesh Networking
Extending Bluetooth with Mesh NetworkingSilicon Labs
 
Automated location tracking_using_bluetooth
Automated location tracking_using_bluetoothAutomated location tracking_using_bluetooth
Automated location tracking_using_bluetoothabyaz
 
IoT Communication protocols Overview
IoT Communication protocols OverviewIoT Communication protocols Overview
IoT Communication protocols OverviewGuy Vinograd ☁
 
SuperConnectivity: One company’s heroic mission to deliver on the promises of...
SuperConnectivity: One company’s heroic mission to deliver on the promises of...SuperConnectivity: One company’s heroic mission to deliver on the promises of...
SuperConnectivity: One company’s heroic mission to deliver on the promises of...4DK Technologies, Inc.
 

Similar to 挖掘低耗電藍芽的寶藏 (20)

How to use Bluetooth® Smart to control your embedded device with a mobile device
How to use Bluetooth® Smart to control your embedded device with a mobile deviceHow to use Bluetooth® Smart to control your embedded device with a mobile device
How to use Bluetooth® Smart to control your embedded device with a mobile device
 
Key Open Standards for inter-operable IoT systems
Key Open Standards for inter-operable IoT systemsKey Open Standards for inter-operable IoT systems
Key Open Standards for inter-operable IoT systems
 
[Advantech] ADAM-3600 training kit and Taglink
[Advantech]  ADAM-3600 training kit and Taglink[Advantech]  ADAM-3600 training kit and Taglink
[Advantech] ADAM-3600 training kit and Taglink
 
Bluetooth Profiles by DFunZone
Bluetooth Profiles by DFunZoneBluetooth Profiles by DFunZone
Bluetooth Profiles by DFunZone
 
Bluetooth Secure Simple Pairing Using NFC Part 1
Bluetooth Secure Simple Pairing Using NFC Part 1 Bluetooth Secure Simple Pairing Using NFC Part 1
Bluetooth Secure Simple Pairing Using NFC Part 1
 
Bluetooth 4.0 specification
Bluetooth 4.0 specificationBluetooth 4.0 specification
Bluetooth 4.0 specification
 
DWX2018 IoT lecture
DWX2018 IoT lectureDWX2018 IoT lecture
DWX2018 IoT lecture
 
R K 2 Bluetooth Technologies
R K 2  Bluetooth  TechnologiesR K 2  Bluetooth  Technologies
R K 2 Bluetooth Technologies
 
Engineer Sensors For Digital Transformation Webinar PPT
Engineer Sensors For Digital Transformation Webinar PPTEngineer Sensors For Digital Transformation Webinar PPT
Engineer Sensors For Digital Transformation Webinar PPT
 
Dotstack product brief 2014 11-26
Dotstack product brief 2014 11-26Dotstack product brief 2014 11-26
Dotstack product brief 2014 11-26
 
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
 
Wireless personal area networks(PAN)
Wireless personal area networks(PAN)Wireless personal area networks(PAN)
Wireless personal area networks(PAN)
 
Module 1 notes for IoT BETCK105H (VTU) Introduction to IoT
Module 1 notes for IoT BETCK105H (VTU) Introduction to IoTModule 1 notes for IoT BETCK105H (VTU) Introduction to IoT
Module 1 notes for IoT BETCK105H (VTU) Introduction to IoT
 
Overview of IoT/M2M Capability
Overview of IoT/M2M CapabilityOverview of IoT/M2M Capability
Overview of IoT/M2M Capability
 
Ptcl modem (user manual)
Ptcl modem (user manual)Ptcl modem (user manual)
Ptcl modem (user manual)
 
Ptcl Modem User Manual
Ptcl Modem User Manual Ptcl Modem User Manual
Ptcl Modem User Manual
 
Extending Bluetooth with Mesh Networking
Extending Bluetooth with Mesh NetworkingExtending Bluetooth with Mesh Networking
Extending Bluetooth with Mesh Networking
 
Automated location tracking_using_bluetooth
Automated location tracking_using_bluetoothAutomated location tracking_using_bluetooth
Automated location tracking_using_bluetooth
 
IoT Communication protocols Overview
IoT Communication protocols OverviewIoT Communication protocols Overview
IoT Communication protocols Overview
 
SuperConnectivity: One company’s heroic mission to deliver on the promises of...
SuperConnectivity: One company’s heroic mission to deliver on the promises of...SuperConnectivity: One company’s heroic mission to deliver on the promises of...
SuperConnectivity: One company’s heroic mission to deliver on the promises of...
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

挖掘低耗電藍芽的寶藏

  • 2. Evan Wu Cocoa Heads Kaohsiung 共同發起⼈人 Code for Kaohsiung 共同發起⼈人 Code Monkey @Mobilogics
  • 3. Bluetooth 4.0 Low Energy The Bluetooth SIG announced the formal adoption of Bluetooth Core Specification Version 4.0 in July 2010.
  • 4. •Ultra-low peak, average and idle mode power consumption •Ability to run for years on standard, coin-cell batteries •Low cost •Multi-vendor interoperability •Single Mode & Dual Mode http://developer.bluetooth.org
  • 6. Frequency Bands and Channel Arrangement The Bluetooth system operates in the 2.4 GHz ISM band. This frequency band is 2400 - 2483.5 MHz ! The 79 RF channels are ordered from channel number 0-78 and are spaced 1 MHz beginning at 2402 GHz http://developer.bluetooth.org
  • 7. Range Class 3 radios - have a range of up to 1 meter or 3 feet Class 2 radios - most commonly found in mobile devices - have a range of 10 meters or 33 feet Class 1 radios - used primarily in industrial use case - have a range of 100 meters or 300 feet http://developer.bluetooth.org
  • 8. Transmitter Characteristics Power Class Maximum Output Power (Pmax) Nominal Output Power Minimum Output Power Power Control 1 100 mW(20 dBm) N/A 1mW(0 dBm) Pmin<+4 dBm to Pmax Optional: Pmin** to Pmax 2 2.5mW(4 dBm) 1mW(0 dBm) 0.25mW(-6 dBm) Optional: Pmin to Pmax 3 1mW(0 dBm) N/A N/A Optional: Pmin2 to Pmax http://developer.bluetooth.org
  • 9.
  • 10.
  • 12.
  • 13. Automation SecuritySports/FitnessHealth Care Entertainment Toys Pay System Time Services Proximity WWDC 2012 Session 703
  • 14. Platforms for Bluetooth Smart devices Company Description Bluegiga Offers single mode development kits & more. Bluegiga.com Broadcom Offers application development kit. Broadcom.com Cambridge Silicon Radio Offers hosts, controllers, profile solutions & more. CSR.com connectBlue Offers single mode platform for Bluetooth Smart devices & more. connectBlue.com ISSC Technologies Corp. Offers platforms for Bluetooth Smart device development. issc-tech.com Laird Technologies Offers single mode BLE module featuring smartBASIC. lairdtech.com Nordic Semiconductor Offers single mode development kits & more. NordicSemi.com Stollmann Offers single mode platform independent profile solutions. Stollmann.com TI Offers single mode development kits & more. TI.com http://developer.bluetooth.org
  • 15. connectBlue Bluetooth Serial Port Module OBS421 TICC2541 SensorTag Development Kit Nordic nRF8001 Development Kit
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Does the iOS simulator support Bluetooth Low Energy? Technical Note TN2295
  • 23.
  • 24.
  • 25. Role of Bluetooth 4.0 Client Server Wants Data Has Data Central Peripheral Master Slave
  • 26. Profiles Profiles are high level definitions that define how services can be used to enable an application or use case http://developer.bluetooth.org
  • 27. Profiles Alert Notification HID OVER GATT Blood Pressure Location and Navigation Cycling Power Phone Alert Status Cycling Speed and Cadence Proximity Find Me Running Speed and Cadence Glucose Scan Parameters Health Thermometer Time Heart Rate
  • 28. Services Services are collections of characteristics and relationships to other services that encapsulate the behavior of part of a device. http://developer.bluetooth.org
  • 29. Services Alert Notification Service 0x1811 Battery Service 0x180f Blood Pressure 0x1810 Current Time Service 0x1805 Cycling Power 0x1818 Cycling Speed and Cadence Device Information Generic Access Generic Attribute Glucose Health Thermometer Heart Rate Human Interface Device Immediate Alert Link Loss Location and Navigation Next DST Change Service Phone Alert Status Service Reference Time Update Service Running Speed and Cadence Scan Parameters Tx Power
  • 30. Characteristics Alert Category ID Alert Category ID Bit Mask Alert Level Alert Notification Control Point Alert Status Appearance Battery Level Blood Pressure Feature Blood Pressure Measurement Body Sensor Location Boot Keyboard Input Report Boot Keyboard Output Report CSC Feature CSC Measurement Current Time Cycling Power Control Point Cycling Power Feature Cycling Power Measurement Cycling PowerVector Data Time Day Date Time Day of Week Device Name DST Offset Exact Time 256 Firmware Revision String Clucose Feature Glucose Measurement Glucose Measurement Context Hardware Revision String Heart Rate Control Point Heart Rate Measurement HID Control Point HID Information IEEE 11073-20601 Regulatory Certification Data List Intermediate Cuff Pressure Intermediate Temperature LN Control Point LN Feature Local Time Information Local Time Information Location and Speed Manufacturer name String Measurement Interval Model Number String Navigation New Alert Peripheral Preferred Connection Parameters Peripheral Privacy Flag PnP ID Position Quality Protocol Mode Reconnection Address Record Access Control Point Reference Time Information Report Report Map Ringer Control Point Ringer Setting RSC Feature RSC Measurement SC Control Point Scan Interval Window Scan Refresh Sensor Location Serial Number String Supported New Alert Category Supported Unread Alert Category System ID Temperature Measurement Temperature Type Time Accuracy Time Source Time Update Control Point Time Update State Time with DST Time Zone Tx Power Level
  • 31. Profile, Services and Characteristics Profile WWDC 2012 Session 703
  • 33. Central Manager Scan Discover Peripheral Connect / Disconnect Discover Services Discover Characteristics
  • 34. CBCentralManager *centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil]; ! ! ! ! - (void)centralManagerDidUpdateState:(CBCentralManager *)central { if (central.state == CBCentralManagerStatePoweredOn) { [central scanForPeripheralsWithServices:nil options:0]; } } Scan
  • 35. - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI: (NSNumber *)RSSI { [centralManager connectPeripheral:peripheral options:nil]; } Discover Peripheral
  • 36. - (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral { [peripheral setDelegate:self]; [peripheral discoverServices:nil]; } ! ! - (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error: (NSError *)error { NSLog(@"didDisconnectPeripheral = %@", [peripheral.identifier UUIDString]); } Connected / Disconnected
  • 37. - (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error { if (!error) { for (CBService *service in peripheral.services) { [peripheral discoverCharacteristics:nil forService:service]; } } } Discover Services
  • 38. - (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error: (NSError *)error { ! } Discover Characteristics
  • 39. Peripheral Manager CBPeripheralManager *peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:nil]; ! ! ! - (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral { if (peripheral.state == CBPeripheralManagerStatePoweredOn) { [peripheralManager startAdvertising:dictionary]; } }
  • 42. Data Transmission - (void)writeValue:(NSData *)data forCharacteristic: (CBCharacteristic *)characteristic type: (CBCharacteristicWriteType)type;
  • 43. - (void)setNotifyValue:(BOOL)enabled forCharacteristic: (CBCharacteristic *)characteristic; Data Transmission - (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error; - (BOOL)updateValue:(NSData *)value forCharacteristic: (CBMutableCharacteristic *)characteristic onSubscribedCentrals: (NSArray *)centrals;
  • 44. Need a Help with Tool? GreatBLE
  • 45. DEMO
  • 49. Product Idea? ! Where is the Treasure?
  • 50. More Information Bluetooth Accessory Design Guidelines for Apple Products https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf Bluetooth SIG, Inc. http://www.bluetooth.org Bluetooth Developer Portal https://developer.bluetooth.org/Pages/default.aspx WWDC 2012 Session 703 WWDC 2012 Session 705 WWDC 2013 Session 703
  • 51. More Information BlackBerry 10 Bluetooth LE resource index http://supportforums.blackberry.com/t5/Native-Development-Knowledge/BlackBerry-10-Bluetooth-LE-resource- index/ta-p/2326147 Samsung BLE SDK http://developer.samsung.com/ble
  • 52. More Information github.com/Mobilogics Code for Kaohsiung facebook http://www.facebook.com/groups/codeforkaohsiung/ Cocoaheads Kaohsiung facebook http://www.facebook.com/groups/cocoaheads.kaohsiung/ evan3rd@gmail.com