SlideShare a Scribd company logo
1 of 89
Download to read offline
Real-time Sensing with
Bluetooth Smart
Tue Haste Andersen @tuehaste
Better Embedded, Florence #bem2013
9 JULY 2013
FROG IS A GLOBAL
PRODUCT STRATEGY
& DESIGN FIRM
WHAT IS EMBEDDED?
Typically a system based on a microprocessor contained within another system.
The other system can be anything from a bigger computer, appliances like a fridge or oven, or even the human body.
HARDWARE
+
SOFTWARE
Thus embedded is hardward + a simple software system to manage the
hardware
HARDWARE
+
SOFTWARE
+
DATA
It is increasingly difficult to imagine a self-contained system that does not interact with the outside world.
An embedded system increasingly needs to interact with the external world though a user or network interface.
Thus to the definition, we need to add “data”.
About a year ago...
About a year ago I was doing a race in a club for radio controlled “Mini Z” cars in Milan. The “Mini Z” cars are cars at a scale 1/28 produced by
Kyosho and are becoming increasingly popular.
80 meters
8 seconds
~ 36 km/h
The cars travel at a very high speed and are difficult to control. Unfortunately I’m not really got at controlling the cars and start thinking about
ways to get better.
I decided to start measuring the cars using sensors and thereby improve my driving.
Does the chassis flex?
Interesting parameters include temperature, force/flexing of the chassis, energy, acceleration and speed.
How are my plants doing?
Once having a sensor system, it could be used not only to pull telemetic information from cars, but e.g. to monitor plant growth by tracking
sunlight and humidity.
Body sensing and User Research
... or sensors could be used in body tracking as we are doing at frog as part of the user
research.
I NEEDED SOMETHING:
- REALLY SMALL
- ROBUST
- CHEAP
- TO COLLECT DATA
To monitor radio controlled cars I needed something really small, since the cars a very sensitive to physical changes, it needs to be robust and
able to operate in an environment where radio signals are heavily used, it needs to be cheap and able to collect data.
BLUETOOTH
For this project I’ve chosen
Bluetooth.
BLUETOOTH
But why Bluetooth? Bluetooth is known to have serious problems with usability where it is both slow and cumbersome to pair two devices.
BLUETOOTH
Even simple operations like attaching a phone or a mouse to a computer often result in errors.
BLUETOOTH
The reason for choosing Bluetooth is because of the new protocol, Bluetooth Smart, that is included in Bluetooth 4.0.
Bluetooth Smart is a protocol originally developed by Nokia, and later integrated in the Bluetooth spec. Bluetooth Smart was originally called
Wibree and later Bluetooth Low Energy.
The main goal of Bluetooth Smart is to create a protocol with very low energy consumption and low latency.
PC SUPPORT 1 1 0 0 4 4
PHONE
SUPPORT
1 1 1 0 4 4
ATTENTION
FREE
PAIRING
4 4 4 4 1 4
MAX ACTUAL
THROUGHP.
200 kbps 424 kbps 20 kbps 250 kbps 6 Mbps 305 kbps
LATENCY 25 ms 1 s * 0 * 20-30 ms 1,5 ms * 2,5 ms
RANGE 1 m 5 cm ~10 m 300 m 150 m 50 m
PEAK
CONSUMP.
10 mA 50 mA * 17 mA 40 mA 116 mA 16 mA
NETWORK
TOPOLOGY
STAR STAR MESH, STAR MESH, STAR STAR STAR
IrDA NFC WiFi BluetoothANT+ ZigBee
COMPARING WIRELESS TECHNOLOGIES
This is a comparison of different wireless technologies. The peak consumption is a key factor for making a system
that can last long on a single battery. A rule of thumb is that the current draw should not be above the range of
15 mA to avoid damaging the battery (this is valid for the standard coin cell batteries, CR2032)
BLUETOOTH
“Google’s support for the
Bluetooth Smart Ready platform
in Android is one step forward for
Bluetooth’s dominance in the
internet of things.”
GIGAOM
Google announced on Google I/O 2013 support for Bluetooth 4.0 as of Android API v18
BLUETOOTH
“Bluetooth is not becoming the
de facto standard for your
personal area network… it already
is the standard for your personal
area network”
Bluetooth SIG
Bluetooth 4.0 is backed by more than 400 companies.
Bluetooth 4.0
20
Bluetooth Smart devices are marketed using two labels.
Peripheral
Central
A peripheral only needs to implement functionality to advertise itself and participate in a
connection, but does not need the functionality to initiate a connection. A central on the
other hand needs to implement all the functionality of a peripheral + ability to initiate a
connect + support for all older standards of Bluetooth.
Peripheral Slave
Central Master
Data
The naming Slave and Master is also used in the specs.
Peripheral Slave
Peripheral
Central Master
Slave
A Bluetooth Smart Ready device can act both as a Central and as a Peripheral.
Bluetooth 4.0 Stack
Application
Generic Access Profile
(GAP)
Generic Attribute
Profile (GATT)
Attribute Protocol
(ATT)
Security Manager (SM)
Logical Link Control and Adaption Protocol
Link and RF layer
Bluetooth 4.0 Stack
Application
Generic Access Profile
(GAP)
Generic Attribute
Profile (GATT)
Attribute Protocol
(ATT)
Security Manager (SM)
Logical Link Control and Adaption Protocol
Link and RF layer
The parts of the stack that an application typically interfaces with are GAP and
GATT.
Central
Peripheral
Ad
Advertisement interval
(20ms to 10s)
Ad
Advertisement interval
(20ms to 10s)
Ad
Advertisement interval
(20ms to 10s)
Advertisement
A Bluetooth connection begins with the peripheral sending out advertisements to announce it’s presence. The advertisement interval can be
configured at the application level.
Central
Peripheral
Ad
Advertisement interval
(20ms to 10s)
Ad
Advertisement interval
(20ms to 10s)
Ad
Advertisement interval
(20ms to 10s)
Scanning Scanning
Advertisement
Scanning
A central is scanning for
advertisements.
Central
Peripheral Ad
Ch 37
Advertisement interval
(20ms to 10s)
Ad
Ch 37
Advertisement interval
(20ms to 10s)
Ad
Ch 37
Advertisement interval
(20ms to 10s)
Ad
Ch 38
Ad
Ch 39
Ad
Ch 38
Ad
Ch 39
Ad
Ch 38
Ad
Ch 39
Scanning Scanning
Advertisement
Scanning
Bluetooth 4 is using 40 different channels in the 2,4GHz spectrum. In reality 3 is used for advertisements and the remaining 37 is used when
the connection is established. Frequency hopping is implemented to ensure a stable connection.
Central
Peripheral Ad
Ch 37
Advertisement interval
(20ms to 10s)
Ad
Ch 37
Advertisement interval
(20ms to 10s)
Ad
Ch 37
Advertisement interval
(20ms to 10s)
Ad
Ch 38
Ad
Ch 39
Ad
Ch 38
Ad
Ch 39
Ad
Ch 38
Ad
Ch 39
Scanning Channel 39 Scanning Channel 37
Advertisement
Scanning Channel 38
Master
Central
Slave
Peripheral
Conn.
Req
150us
Data
Data
150us
Data
Data
Data
Data
150us 150us
Connection interval
(7.5ms to 4s)
Connection interval
(7.5ms to 4s)
Connection Interval
Once the central has initiated the connection, packets are exchanged between the central and peripheral at a fixed interval, called
“connenction interval”. The connection interval is configurable at the application level. More data packets can be sent during the connection
interval.
Req. Data
Data
Data
Connection
interval
Connection
interval
Slave Latency = 2
Data
Connection
interval
Data
Data
Slave Latency
Master
Central
Slave
Peripheral
The peripheral is not required to respond to each packet. It is allowed to skip a number of packets defined as the “slave latency”. In this figure
the slave latency is set to 2.
The slave latency is a value from 0 to 499, however, the maximum period that the peripheral remain silent should not exceed 16 seconds.
MAKING
33
Mobile
Phone
Sensor
Bluetooth
Smart
The architecture that I’m following is based on a simple setup where sensors are attached electronically to the Bluetooth Peripheral, and the
peripheral communicates using Bluetooth Smart to a mobile phone.
Mobile
Phone
Sensor
Bluetooth
Smart
?
Temperature
Force
Accelerometer
Any sensors can be used. Good sources for finding useful sensors include Arduino and websites like Adafruit.
Analog
I²C
SPI
Sensors can be attached using either an ADC converter or through a serial protocol like Inter-Intergreated Circuit or Serial Peripheral Interface.
Mobile
Phone
Sensor
Bluetooth
Smart
?
Texas Instruments
Nordic Semiconductor
CSR
EM Microelectronic
A number of manufacturers are producing Bluetooth Smart
chipsets.
Texas Instruments - CC2540/CC2541
Nordic Semiconductor
CSR
EM Microelectronic
Texas Instruments is producing the CC2540 chip that is interesting because it include a 8501 MCU, thus eliminating the need for an external
MCU. This reduces the total energy consumption and the complexity of the hardware design.
This is the architecture of the CC2540. The CC2541 is slightly different in that it includes a I2C hardware interface and no USB interface. The
CC2541 also consumes less energy.
To make the system run is also needed a crystal, antenna, signal cap, EEPROM etc. The total BOM (Bill of Materials) cost is around 3€.
Turnkey modules:
Bluegiga BLE112 and BLE113
Blueradio BR-LE4.0-S2A
Alpwise ALPW-BLEDVK002
Alpha Micro
Building a module around a chipset also requires a certification from Bluetooth. An alternative is to use a turnkey module. Some options
include:
Bluegiga: http://www.bluegiga.com/BLE113_Bluetooth_Smart_module
Blueradio: http://www.blueradios.com/hardware_LE4.0-S2.htm
Alpwise: http://www.alpwise.com/produit.php?ref=ALPW-BLEDK002&id_rubrique=6
Alpha Micro: http://news.cision.com/livewire-pr/r/alpha-micro-launches-low-energy-bluetooth-smart--modules-for-medical-and-other-devices-
from-laird-te,c9405289
BlueGiga is a module with good documentation, it’s based on CC2540/CC2541
BgScripting language or BG API
According to BlueGiga it will be possible to use the IAR Workbench (expensive) 8051 compiler in the near future.
BLE112 costs around €11
Mobile
Phone
Sensor
Bluetooth
Smart
?
Phones and computers
supporting BT4
iOS
Android
Linux
iOS (from iPhone 4S) has good support for BT4. Google has announced support in Android and Linux has support.
HARDWARE PROTOTYPE
http://www.inmojo.com/store/jeff-rowberg/item/ble112-
bluetooth-low-energy-breakout/
Building a hardware prototype requires the use of a development kit or the use of a breakout board. Breakout boards for BlueGiga are
available under the Creative Commons license.
After some Surface Mount Soldering, this is how the working prototype module looks
like...
Force
Sensor
Temperature
Sensor
Sensors can be attached to the ports similar to how sensors are attached to an
Arduino.
FIRMWARE PROGRAMMING
YOU NEED 4 THINGS
Text editor
BGScript compiler from
http://techforum.bluegiga.com
Texas Instruments
CC Debugger
The CC Debugger costs around €50.
Flash programmer from
http://www.ti.com/tool/flash-
programmer
As an alternative the open source cc-tool can be
used.
BGScript
Basic-like language
Event driven
No functions (!)
BGScript used to program the BLE112/3 modules is a basic like language, event driven, not allowing any functions to be defined.
Generic Attribute Profile (GATT)
The first step in programming the firmware is defining a GATT
profile.
Generic Attribute Profile (GATT)
value
Byte array, from 0 to 512 bytes
Each type of value transferred can be a value between 0 and 512 bytes
long.
Generic Attribute Profile (GATT)
Characteristics specification at:
http://developer.bluetooth.org/
valuetype
16 bit predefined UUID
or
128 bit generated UUID
Each value is assigned to a type. The type can either be a type defined in the Bluetooth spec (16 bit UUID) or be a randomly generated 128
but UUID. This means that the application developer can define custom application-specific types and does not need to rely on the availability
of profiles in the chipsets and drivers. This is a really powerful feature of the new Bluetooth protocol.
Generic Attribute Profile (GATT)
Characteristics specification at:
http://developer.bluetooth.org/
valuetypehandle
16 bit handle
In addition a handle, an ID is assigned.
Generic Attribute Profile (GATT)
Characteristics specification at:
http://developer.bluetooth.org/
valuetypehandle permission
And various permissions.
Generic Attribute Profile (GATT)
Characteristics specification at:
http://developer.bluetooth.org/
Characteristic valuetypehandle permission
All these attributes are collectively called a Characteristic.
Generic Attribute Profile (GATT)
Characteristics specification at:
http://developer.bluetooth.org/
Characteristic valuetypehandle permission
Service
A characteristic is assigned to a service.
Generic Attribute Profile (GATT)
Characteristics specification at:
http://developer.bluetooth.org/
Server
Characteristic valuetypehandle permission
Service
A service to a server. The server is typically implemented by the
peripheral.
Service
Generic Attribute Profile (GATT)
Characteristics specification at:
http://developer.bluetooth.org/
Characteristic valuetypehandle permission
Service
Server
A server can have more than one
service.
Service
Characteristic
Generic Attribute Profile (GATT)
valuetypehandle permission
Characteristics specification at:
http://developer.bluetooth.org/
Server
Characteristic valuetypehandle permission
Characteristic valuetypehandle permission
Service
A service can have more than one
characteristic.
Defining a GATT profile
The Gatt profile is defined in a simple XML
file.
Defining a GATT profile
A custom service and characteristic is defined with a generated
UUID.
Programming BLE113
BGScript is event driven. When the peripheral is powered on a system_boot event is raised. At this point the advertisement interval is
configured and advertisement is started.
Programming BLE113
Once a connection has been established a sensor is montiored using a timer. An analog sensor is read using a call to hardware_adc_read,
the result is not immediately available but given in another event.
Programming BLE113
The result is given as part of the hardware_adc_result_event. Here we write the value to the GATT database using the id “xgatt_force” that we
defined in the GATT XML file.
iOS App using
CoreBluetooth and
AFNetworking.
Bluetooth connection
is kept alive while the
app is sleeping
The Bluetooth peripheral is connecting to an iPhone app. I’ve used Apple’s CoreBluetooth API and AFNetworking to relay the data to a cloud
service.
Issues
Each line of BGScript takes 1-3ms to execute
Problem with I2C
(hardware support in BLE113)
Changing GATT profile requires switching
Bluetooth off and on in iOS
1. The main issue with the BLE112/113 system is that BGScript is slow. It is not possible to measure sensor with high frequency with this
system. Instead a C compiler should be used.
2. On the CC2540/BLE112, the I2C interface is implemented in software making it slow and buggy. If you need I2C you should use CC2541/
BLE113.
3. When updating the GATT profile on the peripheral iOS does not see the changes. To account for this, switch off and on Bluetooth in iOS
settings
Actual Performance
Actual range around 25 meters
Duration on a standard CR2032 battery, with
constant non-optimized communication and
reading of four ADC sensors: around 4 hours
From a few experiments I’ve seen that the connection becomes somewhat unstable above 25 meters range. This obviously depends a lot on
the environment. Below 25 the connection is very stable, even in environments with a lot of radios in the 2,4GHz band.
The coin cell battery can last for a very long time, however, this requires setting the connection interval parameters rather conservative,
implement low power modes etc. etc. Running the chip in a busy loop where it reads the ADC and sends the values to the central, the battery
lasts for around 4 hours.
Sensor
Bluetooth
Peripheral
Phone
Sensors are connected with the phone using this
diagram.
Bluetooth 4analog/serialSensor
Bluetooth
Peripheral
Phone
Bluetooth 4analog/serialSensor
Bluetooth
Peripheral
Phone
Desktop
Bluetooth
4
Desktop computers could be
used.
Bluetooth 4analog/serialSensor
Bluetooth
Peripheral
Phone
Desktop
Bluetooth
4
Raspberry
Pi
Bluetooth 4
Or a Raspberry
Pi.
Bluetooth 4analog/serialSensor
Bluetooth
Peripheral
Phone
Desktop
Bluetooth
4.0
Raspberry
Pi
Bluetooth 4.0
CloudTCP/IP
In any case the data needs to move off the device, to the cloud, to be able to share, compare and analyze the
data.
CLOUD
nodejs and log.io
The first step is to setup a tool that allows to verify that the whole chain, from Sensor to cloud is working. For this I use the node.js program
log.io.
This is a simple tool that allows to see logs realtime in a web browser.
Sensing in the Cloud
Xively,
Open Sen.se,
SenseOS,
Etherios,
ElectricCimp,
One of the most mature cloud based sensor platforms is Xively (previously
Pachube)
Store Process Visualize
HTTPEvent
HTTP
Open Sen.se Cloud Platform
Open Sen.se offers a platform that is modular and easy to configure. The platform is still in private beta, but conceptually very
interesting.
Here’s an example of the force sensor data from the MiniZ car shown on Open
Sen.se.
Conclusion
85
Bluetooth Smart in a year:
Open Source breakout boards
Android Support
Improved iOS support
TI SmartTag developer kit
Lower power chipsets
Hundreds of devices launched
Bluetooth and Embedded is
clearly becoming easier, less
hardware hacking is needed
grazie a tutto cio, e’ diventato piu facile ad utilizare e programmare embedded e bluetooth
4
Bluetooth 4 is the standard
that will enable massive data
collection. A great challenge
lies in what to do with the
data.
Secondo me la prossima sfida e’ scoprire come sfruttare al meglio tutti questi
dati
© 2013 frog. All rights reserved.
Tweets on data, sensing and startups
@tuehaste

More Related Content

What's hot

Introduction to Bluetooth Low Energy
Introduction to Bluetooth Low EnergyIntroduction to Bluetooth Low Energy
Introduction to Bluetooth Low Energyyeokm1
 
Bluetooth & Bluetooth Low Energy internals
Bluetooth & Bluetooth Low Energy internalsBluetooth & Bluetooth Low Energy internals
Bluetooth & Bluetooth Low Energy internalsDavy Jacops
 
Iot ble and_beacons_2015_nov28
Iot ble and_beacons_2015_nov28Iot ble and_beacons_2015_nov28
Iot ble and_beacons_2015_nov28Ravikiran HV
 
R U aBLE? BLE Application Hacking
R U aBLE? BLE Application HackingR U aBLE? BLE Application Hacking
R U aBLE? BLE Application HackingTal Melamed
 
Interfacing BLE with android based device
Interfacing BLE with android based device  Interfacing BLE with android based device
Interfacing BLE with android based device IEI GSC
 
Android Gadgets, Bluetooth Low Energy, and the WunderBar
Android Gadgets, Bluetooth Low Energy, and the WunderBarAndroid Gadgets, Bluetooth Low Energy, and the WunderBar
Android Gadgets, Bluetooth Low Energy, and the WunderBarrelayr
 
Bluetooth low energy(ble) wireless technology
Bluetooth low energy(ble) wireless technologyBluetooth low energy(ble) wireless technology
Bluetooth low energy(ble) wireless technologyLin Steven
 
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016Shuichi Tsutsumi
 
DIY Science using the Intel IoT Developer Kit
DIY Science using the Intel IoT Developer KitDIY Science using the Intel IoT Developer Kit
DIY Science using the Intel IoT Developer KitIntel® Software
 
IoT Getting Started with Intel® IoT Devkit
IoT Getting Started with Intel® IoT DevkitIoT Getting Started with Intel® IoT Devkit
IoT Getting Started with Intel® IoT DevkitVasily Ryzhonkov
 
IRJET- A Raspberry Pi based Speaker Recognition System for Access Control
IRJET- A Raspberry Pi based Speaker Recognition System for Access ControlIRJET- A Raspberry Pi based Speaker Recognition System for Access Control
IRJET- A Raspberry Pi based Speaker Recognition System for Access ControlIRJET Journal
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Codemotion
 
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.
 
User Interface for Visually Impaired People
User Interface for Visually Impaired PeopleUser Interface for Visually Impaired People
User Interface for Visually Impaired PeopleIOSRJECE
 
Offline Voice Control
Offline Voice ControlOffline Voice Control
Offline Voice ControlJishnu Rajeev
 
Bluetooth Security
Bluetooth SecurityBluetooth Security
Bluetooth Securityh_marvin
 

What's hot (20)

Introduction to Bluetooth Low Energy
Introduction to Bluetooth Low EnergyIntroduction to Bluetooth Low Energy
Introduction to Bluetooth Low Energy
 
Bluetooth & Bluetooth Low Energy internals
Bluetooth & Bluetooth Low Energy internalsBluetooth & Bluetooth Low Energy internals
Bluetooth & Bluetooth Low Energy internals
 
Iot ble and_beacons_2015_nov28
Iot ble and_beacons_2015_nov28Iot ble and_beacons_2015_nov28
Iot ble and_beacons_2015_nov28
 
R U aBLE? BLE Application Hacking
R U aBLE? BLE Application HackingR U aBLE? BLE Application Hacking
R U aBLE? BLE Application Hacking
 
Interfacing BLE with android based device
Interfacing BLE with android based device  Interfacing BLE with android based device
Interfacing BLE with android based device
 
Android Gadgets, Bluetooth Low Energy, and the WunderBar
Android Gadgets, Bluetooth Low Energy, and the WunderBarAndroid Gadgets, Bluetooth Low Energy, and the WunderBar
Android Gadgets, Bluetooth Low Energy, and the WunderBar
 
Bluetooth low energy(ble) wireless technology
Bluetooth low energy(ble) wireless technologyBluetooth low energy(ble) wireless technology
Bluetooth low energy(ble) wireless technology
 
BLE短講
BLE短講BLE短講
BLE短講
 
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
 
Lite bikefinalpresentation
Lite bikefinalpresentationLite bikefinalpresentation
Lite bikefinalpresentation
 
DIY Science using the Intel IoT Developer Kit
DIY Science using the Intel IoT Developer KitDIY Science using the Intel IoT Developer Kit
DIY Science using the Intel IoT Developer Kit
 
IoT Getting Started with Intel® IoT Devkit
IoT Getting Started with Intel® IoT DevkitIoT Getting Started with Intel® IoT Devkit
IoT Getting Started with Intel® IoT Devkit
 
IRJET- A Raspberry Pi based Speaker Recognition System for Access Control
IRJET- A Raspberry Pi based Speaker Recognition System for Access ControlIRJET- A Raspberry Pi based Speaker Recognition System for Access Control
IRJET- A Raspberry Pi based Speaker Recognition System for Access Control
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!
 
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
 
Bluetooth.ppt
Bluetooth.pptBluetooth.ppt
Bluetooth.ppt
 
User Interface for Visually Impaired People
User Interface for Visually Impaired PeopleUser Interface for Visually Impaired People
User Interface for Visually Impaired People
 
Elektor 0304-2020
Elektor 0304-2020Elektor 0304-2020
Elektor 0304-2020
 
Offline Voice Control
Offline Voice ControlOffline Voice Control
Offline Voice Control
 
Bluetooth Security
Bluetooth SecurityBluetooth Security
Bluetooth Security
 

Viewers also liked

The Story of Happy Brussels
The Story of Happy Brussels The Story of Happy Brussels
The Story of Happy Brussels Fahim Kawsar
 
Network Driven Behaviour Modelling for Designing User Centred IoT Services
 Network Driven Behaviour Modelling for Designing User Centred IoT Services Network Driven Behaviour Modelling for Designing User Centred IoT Services
Network Driven Behaviour Modelling for Designing User Centred IoT ServicesFahim Kawsar
 
Srand022 bluetooth based attendance management system
Srand022   bluetooth based attendance management systemSrand022   bluetooth based attendance management system
Srand022 bluetooth based attendance management systemAndroidproject
 
Bluetooth Smart (Low Energy) for Android
Bluetooth Smart (Low Energy) for AndroidBluetooth Smart (Low Energy) for Android
Bluetooth Smart (Low Energy) for AndroidLocalz
 
Srand002 attendance management system
Srand002   attendance management systemSrand002   attendance management system
Srand002 attendance management systemAndroidproject
 
IoT 3.0 : Connected Living in an Everything-Digital World
IoT 3.0 : Connected Living in an Everything-Digital WorldIoT 3.0 : Connected Living in an Everything-Digital World
IoT 3.0 : Connected Living in an Everything-Digital WorldFahim Kawsar
 
Sensing WiFi Network for Personal IoT Analytics
Sensing WiFi Network for Personal IoT Analytics Sensing WiFi Network for Personal IoT Analytics
Sensing WiFi Network for Personal IoT Analytics Fahim Kawsar
 
Student Monitoring Attendance System
Student Monitoring Attendance SystemStudent Monitoring Attendance System
Student Monitoring Attendance Systemyumico23
 
Quantified Workplace: Redefining Future Workplace Experience
Quantified Workplace: Redefining Future Workplace ExperienceQuantified Workplace: Redefining Future Workplace Experience
Quantified Workplace: Redefining Future Workplace ExperienceFahim Kawsar
 
Introduction to Bluetooth
Introduction to BluetoothIntroduction to Bluetooth
Introduction to BluetoothYong Heui Cho
 
Smart Attendance Management System Using Android WIFI Technology
Smart Attendance Management System Using Android WIFI TechnologySmart Attendance Management System Using Android WIFI Technology
Smart Attendance Management System Using Android WIFI TechnologySukanta Biswas
 
Best topics for seminar
Best topics for seminarBest topics for seminar
Best topics for seminarshilpi nagpal
 

Viewers also liked (16)

Ebeacons attendence
Ebeacons attendenceEbeacons attendence
Ebeacons attendence
 
The Story of Happy Brussels
The Story of Happy Brussels The Story of Happy Brussels
The Story of Happy Brussels
 
Network Driven Behaviour Modelling for Designing User Centred IoT Services
 Network Driven Behaviour Modelling for Designing User Centred IoT Services Network Driven Behaviour Modelling for Designing User Centred IoT Services
Network Driven Behaviour Modelling for Designing User Centred IoT Services
 
Design and Implementation of smart office management system
Design and Implementation of smart office management systemDesign and Implementation of smart office management system
Design and Implementation of smart office management system
 
Srand022 bluetooth based attendance management system
Srand022   bluetooth based attendance management systemSrand022   bluetooth based attendance management system
Srand022 bluetooth based attendance management system
 
Bluetooth Smart (Low Energy) for Android
Bluetooth Smart (Low Energy) for AndroidBluetooth Smart (Low Energy) for Android
Bluetooth Smart (Low Energy) for Android
 
Srand002 attendance management system
Srand002   attendance management systemSrand002   attendance management system
Srand002 attendance management system
 
IoT 3.0 : Connected Living in an Everything-Digital World
IoT 3.0 : Connected Living in an Everything-Digital WorldIoT 3.0 : Connected Living in an Everything-Digital World
IoT 3.0 : Connected Living in an Everything-Digital World
 
Sensing WiFi Network for Personal IoT Analytics
Sensing WiFi Network for Personal IoT Analytics Sensing WiFi Network for Personal IoT Analytics
Sensing WiFi Network for Personal IoT Analytics
 
Student Monitoring Attendance System
Student Monitoring Attendance SystemStudent Monitoring Attendance System
Student Monitoring Attendance System
 
Quantified Workplace: Redefining Future Workplace Experience
Quantified Workplace: Redefining Future Workplace ExperienceQuantified Workplace: Redefining Future Workplace Experience
Quantified Workplace: Redefining Future Workplace Experience
 
Introduction to Bluetooth
Introduction to BluetoothIntroduction to Bluetooth
Introduction to Bluetooth
 
Student Attendance System
Student Attendance SystemStudent Attendance System
Student Attendance System
 
Smart Attendance Management System Using Android WIFI Technology
Smart Attendance Management System Using Android WIFI TechnologySmart Attendance Management System Using Android WIFI Technology
Smart Attendance Management System Using Android WIFI Technology
 
Attendance monitoring system
Attendance monitoring systemAttendance monitoring system
Attendance monitoring system
 
Best topics for seminar
Best topics for seminarBest topics for seminar
Best topics for seminar
 

Similar to Real time sensing with bluetooth smart

IRJET- Wireless Car using WIFI – IoT – Bluetooth
IRJET-  	  Wireless Car using WIFI – IoT – BluetoothIRJET-  	  Wireless Car using WIFI – IoT – Bluetooth
IRJET- Wireless Car using WIFI – IoT – BluetoothIRJET Journal
 
Electronic Nameplate System
Electronic Nameplate SystemElectronic Nameplate System
Electronic Nameplate SystemIRJET Journal
 
Bluetooth Controlled Robot Project Report
Bluetooth Controlled Robot Project ReportBluetooth Controlled Robot Project Report
Bluetooth Controlled Robot Project ReportSimarjot Singh Kalsi
 
Robo wireless controll
Robo wireless controllRobo wireless controll
Robo wireless controllSumit Saini
 
Arduino Based Home Lighting Control by Android Phone
Arduino Based Home Lighting Control by Android PhoneArduino Based Home Lighting Control by Android Phone
Arduino Based Home Lighting Control by Android Phoneijtsrd
 
IRJET- Voice Recognition -Butler Bot
IRJET-  	  Voice Recognition -Butler BotIRJET-  	  Voice Recognition -Butler Bot
IRJET- Voice Recognition -Butler BotIRJET Journal
 
Bluetooth Based Automatic Hotel Service System Using Python
Bluetooth Based Automatic Hotel Service System Using PythonBluetooth Based Automatic Hotel Service System Using Python
Bluetooth Based Automatic Hotel Service System Using PythonIOSR Journals
 
Google Voice Assistance Based Smart Home Automation
Google Voice Assistance Based Smart Home AutomationGoogle Voice Assistance Based Smart Home Automation
Google Voice Assistance Based Smart Home AutomationGauthamG4
 
IRJET - Web-based Chatbot for Continuous Conversation using Artificial Intell...
IRJET - Web-based Chatbot for Continuous Conversation using Artificial Intell...IRJET - Web-based Chatbot for Continuous Conversation using Artificial Intell...
IRJET - Web-based Chatbot for Continuous Conversation using Artificial Intell...IRJET Journal
 
Connecting Home Appliances via Bluetooth using IoT
Connecting Home Appliances via Bluetooth using IoTConnecting Home Appliances via Bluetooth using IoT
Connecting Home Appliances via Bluetooth using IoTIRJET Journal
 
IRJEWT-An Intelligent Remote Controlled System for Smart Home Automation
IRJEWT-An Intelligent Remote Controlled System for Smart Home AutomationIRJEWT-An Intelligent Remote Controlled System for Smart Home Automation
IRJEWT-An Intelligent Remote Controlled System for Smart Home AutomationIRJET Journal
 
DIGITAL LOGIC DESIGN (1) PROJECT REPORT.docx
DIGITAL LOGIC DESIGN (1) PROJECT REPORT.docxDIGITAL LOGIC DESIGN (1) PROJECT REPORT.docx
DIGITAL LOGIC DESIGN (1) PROJECT REPORT.docxRafayNaveed4
 
IoT BASED ON WIRELESS HOME AUTOMATION
IoT BASED ON WIRELESS HOME AUTOMATIONIoT BASED ON WIRELESS HOME AUTOMATION
IoT BASED ON WIRELESS HOME AUTOMATIONIRJET Journal
 
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15Mark Goldstein
 

Similar to Real time sensing with bluetooth smart (20)

IRJET- Wireless Car using WIFI – IoT – Bluetooth
IRJET-  	  Wireless Car using WIFI – IoT – BluetoothIRJET-  	  Wireless Car using WIFI – IoT – Bluetooth
IRJET- Wireless Car using WIFI – IoT – Bluetooth
 
Electronic Nameplate System
Electronic Nameplate SystemElectronic Nameplate System
Electronic Nameplate System
 
Bluetooth Controlled Robot Project Report
Bluetooth Controlled Robot Project ReportBluetooth Controlled Robot Project Report
Bluetooth Controlled Robot Project Report
 
Robo wireless controll
Robo wireless controllRobo wireless controll
Robo wireless controll
 
Arduino Based Home Lighting Control by Android Phone
Arduino Based Home Lighting Control by Android PhoneArduino Based Home Lighting Control by Android Phone
Arduino Based Home Lighting Control by Android Phone
 
IRJET- Voice Recognition -Butler Bot
IRJET-  	  Voice Recognition -Butler BotIRJET-  	  Voice Recognition -Butler Bot
IRJET- Voice Recognition -Butler Bot
 
Bluetooth Based Automatic Hotel Service System Using Python
Bluetooth Based Automatic Hotel Service System Using PythonBluetooth Based Automatic Hotel Service System Using Python
Bluetooth Based Automatic Hotel Service System Using Python
 
Google Voice Assistance Based Smart Home Automation
Google Voice Assistance Based Smart Home AutomationGoogle Voice Assistance Based Smart Home Automation
Google Voice Assistance Based Smart Home Automation
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
IRJET - Web-based Chatbot for Continuous Conversation using Artificial Intell...
IRJET - Web-based Chatbot for Continuous Conversation using Artificial Intell...IRJET - Web-based Chatbot for Continuous Conversation using Artificial Intell...
IRJET - Web-based Chatbot for Continuous Conversation using Artificial Intell...
 
Connecting Home Appliances via Bluetooth using IoT
Connecting Home Appliances via Bluetooth using IoTConnecting Home Appliances via Bluetooth using IoT
Connecting Home Appliances via Bluetooth using IoT
 
IRJEWT-An Intelligent Remote Controlled System for Smart Home Automation
IRJEWT-An Intelligent Remote Controlled System for Smart Home AutomationIRJEWT-An Intelligent Remote Controlled System for Smart Home Automation
IRJEWT-An Intelligent Remote Controlled System for Smart Home Automation
 
DIGITAL LOGIC DESIGN (1) PROJECT REPORT.docx
DIGITAL LOGIC DESIGN (1) PROJECT REPORT.docxDIGITAL LOGIC DESIGN (1) PROJECT REPORT.docx
DIGITAL LOGIC DESIGN (1) PROJECT REPORT.docx
 
IoT BASED ON WIRELESS HOME AUTOMATION
IoT BASED ON WIRELESS HOME AUTOMATIONIoT BASED ON WIRELESS HOME AUTOMATION
IoT BASED ON WIRELESS HOME AUTOMATION
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Bluetooth presentation
Bluetooth presentationBluetooth presentation
Bluetooth presentation
 
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
 
BLUETOOTH.ppt
BLUETOOTH.pptBLUETOOTH.ppt
BLUETOOTH.ppt
 
Intern_Report
Intern_ReportIntern_Report
Intern_Report
 
Bluetooth
BluetoothBluetooth
Bluetooth
 

Recently uploaded

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
"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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
"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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Real time sensing with bluetooth smart

  • 1. Real-time Sensing with Bluetooth Smart Tue Haste Andersen @tuehaste Better Embedded, Florence #bem2013 9 JULY 2013
  • 2. FROG IS A GLOBAL PRODUCT STRATEGY & DESIGN FIRM
  • 4. Typically a system based on a microprocessor contained within another system. The other system can be anything from a bigger computer, appliances like a fridge or oven, or even the human body.
  • 5. HARDWARE + SOFTWARE Thus embedded is hardward + a simple software system to manage the hardware
  • 6. HARDWARE + SOFTWARE + DATA It is increasingly difficult to imagine a self-contained system that does not interact with the outside world. An embedded system increasingly needs to interact with the external world though a user or network interface. Thus to the definition, we need to add “data”.
  • 7. About a year ago... About a year ago I was doing a race in a club for radio controlled “Mini Z” cars in Milan. The “Mini Z” cars are cars at a scale 1/28 produced by Kyosho and are becoming increasingly popular.
  • 8. 80 meters 8 seconds ~ 36 km/h The cars travel at a very high speed and are difficult to control. Unfortunately I’m not really got at controlling the cars and start thinking about ways to get better. I decided to start measuring the cars using sensors and thereby improve my driving.
  • 9. Does the chassis flex? Interesting parameters include temperature, force/flexing of the chassis, energy, acceleration and speed.
  • 10. How are my plants doing? Once having a sensor system, it could be used not only to pull telemetic information from cars, but e.g. to monitor plant growth by tracking sunlight and humidity.
  • 11. Body sensing and User Research ... or sensors could be used in body tracking as we are doing at frog as part of the user research.
  • 12. I NEEDED SOMETHING: - REALLY SMALL - ROBUST - CHEAP - TO COLLECT DATA To monitor radio controlled cars I needed something really small, since the cars a very sensitive to physical changes, it needs to be robust and able to operate in an environment where radio signals are heavily used, it needs to be cheap and able to collect data.
  • 13. BLUETOOTH For this project I’ve chosen Bluetooth.
  • 14. BLUETOOTH But why Bluetooth? Bluetooth is known to have serious problems with usability where it is both slow and cumbersome to pair two devices.
  • 15. BLUETOOTH Even simple operations like attaching a phone or a mouse to a computer often result in errors.
  • 16. BLUETOOTH The reason for choosing Bluetooth is because of the new protocol, Bluetooth Smart, that is included in Bluetooth 4.0. Bluetooth Smart is a protocol originally developed by Nokia, and later integrated in the Bluetooth spec. Bluetooth Smart was originally called Wibree and later Bluetooth Low Energy. The main goal of Bluetooth Smart is to create a protocol with very low energy consumption and low latency.
  • 17. PC SUPPORT 1 1 0 0 4 4 PHONE SUPPORT 1 1 1 0 4 4 ATTENTION FREE PAIRING 4 4 4 4 1 4 MAX ACTUAL THROUGHP. 200 kbps 424 kbps 20 kbps 250 kbps 6 Mbps 305 kbps LATENCY 25 ms 1 s * 0 * 20-30 ms 1,5 ms * 2,5 ms RANGE 1 m 5 cm ~10 m 300 m 150 m 50 m PEAK CONSUMP. 10 mA 50 mA * 17 mA 40 mA 116 mA 16 mA NETWORK TOPOLOGY STAR STAR MESH, STAR MESH, STAR STAR STAR IrDA NFC WiFi BluetoothANT+ ZigBee COMPARING WIRELESS TECHNOLOGIES This is a comparison of different wireless technologies. The peak consumption is a key factor for making a system that can last long on a single battery. A rule of thumb is that the current draw should not be above the range of 15 mA to avoid damaging the battery (this is valid for the standard coin cell batteries, CR2032)
  • 18. BLUETOOTH “Google’s support for the Bluetooth Smart Ready platform in Android is one step forward for Bluetooth’s dominance in the internet of things.” GIGAOM Google announced on Google I/O 2013 support for Bluetooth 4.0 as of Android API v18
  • 19. BLUETOOTH “Bluetooth is not becoming the de facto standard for your personal area network… it already is the standard for your personal area network” Bluetooth SIG Bluetooth 4.0 is backed by more than 400 companies.
  • 21. Bluetooth Smart devices are marketed using two labels.
  • 22. Peripheral Central A peripheral only needs to implement functionality to advertise itself and participate in a connection, but does not need the functionality to initiate a connection. A central on the other hand needs to implement all the functionality of a peripheral + ability to initiate a connect + support for all older standards of Bluetooth.
  • 23. Peripheral Slave Central Master Data The naming Slave and Master is also used in the specs.
  • 24. Peripheral Slave Peripheral Central Master Slave A Bluetooth Smart Ready device can act both as a Central and as a Peripheral.
  • 25. Bluetooth 4.0 Stack Application Generic Access Profile (GAP) Generic Attribute Profile (GATT) Attribute Protocol (ATT) Security Manager (SM) Logical Link Control and Adaption Protocol Link and RF layer
  • 26. Bluetooth 4.0 Stack Application Generic Access Profile (GAP) Generic Attribute Profile (GATT) Attribute Protocol (ATT) Security Manager (SM) Logical Link Control and Adaption Protocol Link and RF layer The parts of the stack that an application typically interfaces with are GAP and GATT.
  • 27. Central Peripheral Ad Advertisement interval (20ms to 10s) Ad Advertisement interval (20ms to 10s) Ad Advertisement interval (20ms to 10s) Advertisement A Bluetooth connection begins with the peripheral sending out advertisements to announce it’s presence. The advertisement interval can be configured at the application level.
  • 28. Central Peripheral Ad Advertisement interval (20ms to 10s) Ad Advertisement interval (20ms to 10s) Ad Advertisement interval (20ms to 10s) Scanning Scanning Advertisement Scanning A central is scanning for advertisements.
  • 29. Central Peripheral Ad Ch 37 Advertisement interval (20ms to 10s) Ad Ch 37 Advertisement interval (20ms to 10s) Ad Ch 37 Advertisement interval (20ms to 10s) Ad Ch 38 Ad Ch 39 Ad Ch 38 Ad Ch 39 Ad Ch 38 Ad Ch 39 Scanning Scanning Advertisement Scanning Bluetooth 4 is using 40 different channels in the 2,4GHz spectrum. In reality 3 is used for advertisements and the remaining 37 is used when the connection is established. Frequency hopping is implemented to ensure a stable connection.
  • 30. Central Peripheral Ad Ch 37 Advertisement interval (20ms to 10s) Ad Ch 37 Advertisement interval (20ms to 10s) Ad Ch 37 Advertisement interval (20ms to 10s) Ad Ch 38 Ad Ch 39 Ad Ch 38 Ad Ch 39 Ad Ch 38 Ad Ch 39 Scanning Channel 39 Scanning Channel 37 Advertisement Scanning Channel 38
  • 31. Master Central Slave Peripheral Conn. Req 150us Data Data 150us Data Data Data Data 150us 150us Connection interval (7.5ms to 4s) Connection interval (7.5ms to 4s) Connection Interval Once the central has initiated the connection, packets are exchanged between the central and peripheral at a fixed interval, called “connenction interval”. The connection interval is configurable at the application level. More data packets can be sent during the connection interval.
  • 32. Req. Data Data Data Connection interval Connection interval Slave Latency = 2 Data Connection interval Data Data Slave Latency Master Central Slave Peripheral The peripheral is not required to respond to each packet. It is allowed to skip a number of packets defined as the “slave latency”. In this figure the slave latency is set to 2. The slave latency is a value from 0 to 499, however, the maximum period that the peripheral remain silent should not exceed 16 seconds.
  • 34. Mobile Phone Sensor Bluetooth Smart The architecture that I’m following is based on a simple setup where sensors are attached electronically to the Bluetooth Peripheral, and the peripheral communicates using Bluetooth Smart to a mobile phone.
  • 36. Temperature Force Accelerometer Any sensors can be used. Good sources for finding useful sensors include Arduino and websites like Adafruit.
  • 37. Analog I²C SPI Sensors can be attached using either an ADC converter or through a serial protocol like Inter-Intergreated Circuit or Serial Peripheral Interface.
  • 39. Texas Instruments Nordic Semiconductor CSR EM Microelectronic A number of manufacturers are producing Bluetooth Smart chipsets.
  • 40. Texas Instruments - CC2540/CC2541 Nordic Semiconductor CSR EM Microelectronic Texas Instruments is producing the CC2540 chip that is interesting because it include a 8501 MCU, thus eliminating the need for an external MCU. This reduces the total energy consumption and the complexity of the hardware design.
  • 41. This is the architecture of the CC2540. The CC2541 is slightly different in that it includes a I2C hardware interface and no USB interface. The CC2541 also consumes less energy. To make the system run is also needed a crystal, antenna, signal cap, EEPROM etc. The total BOM (Bill of Materials) cost is around 3€.
  • 42. Turnkey modules: Bluegiga BLE112 and BLE113 Blueradio BR-LE4.0-S2A Alpwise ALPW-BLEDVK002 Alpha Micro Building a module around a chipset also requires a certification from Bluetooth. An alternative is to use a turnkey module. Some options include: Bluegiga: http://www.bluegiga.com/BLE113_Bluetooth_Smart_module Blueradio: http://www.blueradios.com/hardware_LE4.0-S2.htm Alpwise: http://www.alpwise.com/produit.php?ref=ALPW-BLEDK002&id_rubrique=6 Alpha Micro: http://news.cision.com/livewire-pr/r/alpha-micro-launches-low-energy-bluetooth-smart--modules-for-medical-and-other-devices- from-laird-te,c9405289
  • 43. BlueGiga is a module with good documentation, it’s based on CC2540/CC2541 BgScripting language or BG API According to BlueGiga it will be possible to use the IAR Workbench (expensive) 8051 compiler in the near future. BLE112 costs around €11
  • 45. Phones and computers supporting BT4 iOS Android Linux iOS (from iPhone 4S) has good support for BT4. Google has announced support in Android and Linux has support.
  • 47. http://www.inmojo.com/store/jeff-rowberg/item/ble112- bluetooth-low-energy-breakout/ Building a hardware prototype requires the use of a development kit or the use of a breakout board. Breakout boards for BlueGiga are available under the Creative Commons license.
  • 48. After some Surface Mount Soldering, this is how the working prototype module looks like...
  • 49. Force Sensor Temperature Sensor Sensors can be attached to the ports similar to how sensors are attached to an Arduino.
  • 51. YOU NEED 4 THINGS
  • 54. Texas Instruments CC Debugger The CC Debugger costs around €50.
  • 55. Flash programmer from http://www.ti.com/tool/flash- programmer As an alternative the open source cc-tool can be used.
  • 56. BGScript Basic-like language Event driven No functions (!) BGScript used to program the BLE112/3 modules is a basic like language, event driven, not allowing any functions to be defined.
  • 57. Generic Attribute Profile (GATT) The first step in programming the firmware is defining a GATT profile.
  • 58. Generic Attribute Profile (GATT) value Byte array, from 0 to 512 bytes Each type of value transferred can be a value between 0 and 512 bytes long.
  • 59. Generic Attribute Profile (GATT) Characteristics specification at: http://developer.bluetooth.org/ valuetype 16 bit predefined UUID or 128 bit generated UUID Each value is assigned to a type. The type can either be a type defined in the Bluetooth spec (16 bit UUID) or be a randomly generated 128 but UUID. This means that the application developer can define custom application-specific types and does not need to rely on the availability of profiles in the chipsets and drivers. This is a really powerful feature of the new Bluetooth protocol.
  • 60. Generic Attribute Profile (GATT) Characteristics specification at: http://developer.bluetooth.org/ valuetypehandle 16 bit handle In addition a handle, an ID is assigned.
  • 61. Generic Attribute Profile (GATT) Characteristics specification at: http://developer.bluetooth.org/ valuetypehandle permission And various permissions.
  • 62. Generic Attribute Profile (GATT) Characteristics specification at: http://developer.bluetooth.org/ Characteristic valuetypehandle permission All these attributes are collectively called a Characteristic.
  • 63. Generic Attribute Profile (GATT) Characteristics specification at: http://developer.bluetooth.org/ Characteristic valuetypehandle permission Service A characteristic is assigned to a service.
  • 64. Generic Attribute Profile (GATT) Characteristics specification at: http://developer.bluetooth.org/ Server Characteristic valuetypehandle permission Service A service to a server. The server is typically implemented by the peripheral.
  • 65. Service Generic Attribute Profile (GATT) Characteristics specification at: http://developer.bluetooth.org/ Characteristic valuetypehandle permission Service Server A server can have more than one service.
  • 66. Service Characteristic Generic Attribute Profile (GATT) valuetypehandle permission Characteristics specification at: http://developer.bluetooth.org/ Server Characteristic valuetypehandle permission Characteristic valuetypehandle permission Service A service can have more than one characteristic.
  • 67. Defining a GATT profile The Gatt profile is defined in a simple XML file.
  • 68. Defining a GATT profile A custom service and characteristic is defined with a generated UUID.
  • 69. Programming BLE113 BGScript is event driven. When the peripheral is powered on a system_boot event is raised. At this point the advertisement interval is configured and advertisement is started.
  • 70. Programming BLE113 Once a connection has been established a sensor is montiored using a timer. An analog sensor is read using a call to hardware_adc_read, the result is not immediately available but given in another event.
  • 71. Programming BLE113 The result is given as part of the hardware_adc_result_event. Here we write the value to the GATT database using the id “xgatt_force” that we defined in the GATT XML file.
  • 72. iOS App using CoreBluetooth and AFNetworking. Bluetooth connection is kept alive while the app is sleeping The Bluetooth peripheral is connecting to an iPhone app. I’ve used Apple’s CoreBluetooth API and AFNetworking to relay the data to a cloud service.
  • 73. Issues Each line of BGScript takes 1-3ms to execute Problem with I2C (hardware support in BLE113) Changing GATT profile requires switching Bluetooth off and on in iOS 1. The main issue with the BLE112/113 system is that BGScript is slow. It is not possible to measure sensor with high frequency with this system. Instead a C compiler should be used. 2. On the CC2540/BLE112, the I2C interface is implemented in software making it slow and buggy. If you need I2C you should use CC2541/ BLE113. 3. When updating the GATT profile on the peripheral iOS does not see the changes. To account for this, switch off and on Bluetooth in iOS settings
  • 74. Actual Performance Actual range around 25 meters Duration on a standard CR2032 battery, with constant non-optimized communication and reading of four ADC sensors: around 4 hours From a few experiments I’ve seen that the connection becomes somewhat unstable above 25 meters range. This obviously depends a lot on the environment. Below 25 the connection is very stable, even in environments with a lot of radios in the 2,4GHz band. The coin cell battery can last for a very long time, however, this requires setting the connection interval parameters rather conservative, implement low power modes etc. etc. Running the chip in a busy loop where it reads the ADC and sends the values to the central, the battery lasts for around 4 hours.
  • 75. Sensor Bluetooth Peripheral Phone Sensors are connected with the phone using this diagram.
  • 79. Bluetooth 4analog/serialSensor Bluetooth Peripheral Phone Desktop Bluetooth 4.0 Raspberry Pi Bluetooth 4.0 CloudTCP/IP In any case the data needs to move off the device, to the cloud, to be able to share, compare and analyze the data.
  • 80. CLOUD
  • 81. nodejs and log.io The first step is to setup a tool that allows to verify that the whole chain, from Sensor to cloud is working. For this I use the node.js program log.io. This is a simple tool that allows to see logs realtime in a web browser.
  • 82. Sensing in the Cloud Xively, Open Sen.se, SenseOS, Etherios, ElectricCimp, One of the most mature cloud based sensor platforms is Xively (previously Pachube)
  • 83. Store Process Visualize HTTPEvent HTTP Open Sen.se Cloud Platform Open Sen.se offers a platform that is modular and easy to configure. The platform is still in private beta, but conceptually very interesting.
  • 84. Here’s an example of the force sensor data from the MiniZ car shown on Open Sen.se.
  • 86. Bluetooth Smart in a year: Open Source breakout boards Android Support Improved iOS support TI SmartTag developer kit Lower power chipsets Hundreds of devices launched
  • 87. Bluetooth and Embedded is clearly becoming easier, less hardware hacking is needed grazie a tutto cio, e’ diventato piu facile ad utilizare e programmare embedded e bluetooth 4
  • 88. Bluetooth 4 is the standard that will enable massive data collection. A great challenge lies in what to do with the data. Secondo me la prossima sfida e’ scoprire come sfruttare al meglio tutti questi dati
  • 89. © 2013 frog. All rights reserved. Tweets on data, sensing and startups @tuehaste