33
Bluetooth Smart Nodes for Mobile Ad-hoc Networks Jan Beutel Computer Engineering and Networks Lab December 17, 2002 Computer Engineering Computer Engineering and Networks Laboratory and Networks Laboratory

Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

Bluetooth Smart Nodes for Mobile Ad-hoc Networks

Jan BeutelComputer Engineering and Networks Lab

December 17, 2002

Computer EngineeringComputer Engineeringand Networks Laboratoryand Networks Laboratory

Page 2: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

2

ETH

Zur

ich

December 17, 2002December 17, 2002

Overview

• Why have a Prototyping Platform?

• Short introduction to Bluetooth Concepts

• BTnode hardware features• System Software

• Pro’s and Con’s – Competitor systems

• Getting started on prototyping – ISP programming• Demo applications

Page 3: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

3

ETH

Zur

ich

December 17, 2002December 17, 2002

A device supporting Bluetooth …

Magnitudes smaller than a PDA …

… but equally flexible and programmable.

Page 4: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

4

ETH

Zur

ich

December 17, 2002December 17, 2002

Ad-hoc networking today

• Almost no (large) ad-hoc systems around• Playing with multihop on WLAN (Mobihoc, Mobicom)• NS-2 plots get boring in the long run

– Specific MAC layer problem analysis

So why is nobody doing the real thing?• Bulky• Short standalone operating times• Hard to manage multitude of devices• Limitations on features and communication front-ends• Often only point to point• SDK’s only for selected “customers”

Page 5: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

5

ETH

Zur

ich

December 17, 2002December 17, 2002

The Bluetooth Protocol Stack

Audio

Blu

etoo

th

RF

Baseband

L2CAP

Link Manager

RFCOMM

Host Controller Interface

SDP ...

Applications

TCP/IP OBEX

on host

on module

Page 6: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

6

ETH

Zur

ich

December 17, 2002December 17, 2002

Bluetooth Profiles

• Vertical slices of the complete protocol specification

• Application and hardware specific tailoring

• Guarantee interoperability

RF

Baseband

Audio

L2CAP

Link Manager

RFCOMM

Host Controller Interface

SDP ...

Applications

TCP/IP OBEX

Headset PPP dialup … other

Page 7: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

7

ETH

Zur

ich

December 17, 2002December 17, 2002

Host Controller Interface

Standard interface for protocol software that resides on the hostprocessor to access the lower levels of the protocol stack in an attachedBluetooth hardware module

HCI_COMMANDHCI_EVENT

OGF OCF PARAMETERS

Lower protocollayers on theBluetooth module

Higher protocollayers on thehost processor ofthe Bluetooth device

Physical interface(e.g., USB, RS-232,UART) passes trafficand control signals

UARTHost Controller Interface

RFBaseband

Audio Link Manager

RFCOMM

L2CAP

Applications

SDP ...

Page 8: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

8

ETH

Zur

ich

December 17, 2002December 17, 2002

Bluetooth Connections

• Managed by the host controller• Statemachine for each connection

• Link Layer Control & Adaptation (L2CAP)– connection-oriented &

connectionless data– protocol multiplexing for a

single “air interface”– packet segmentation &

reassembly– channel abstraction

Connected

Disconnected

Req Conn Req Disc

SDP RFCOMM

RF

Baseband

Audio Link Manager

Applications

...

L2CAP

Host Controller Interface

Page 9: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

9

ETH

Zur

ich

December 17, 2002December 17, 2002

Bluetooth Piconets

• Communication organized in piconets– controlled by one master– up to 7 active slaves– 255 inactive (parked) slaves

• Master-Slave– Implements centralized control– Synchronization of all slaves– Only master-slave communication

• Multiple piconets– separate channels– no coordination

S1’’ S2’’

S3’’M’’

Blu

etoo

th S1 S2

S3M

S2'

S1'

M'

Page 10: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

10

ETH

Zur

ich

December 17, 2002December 17, 2002

Bluetooth Scatternets

• Using gateway nodes• No coordination• Role switch necessary

Problem: – Synching to two FH piconets– Slave is invisible when

connected – Hidden station– Protocol complexity

• Networking has not yet been defined and is up to the application

– Draft for Bluetooth Spec. 1.2

S2'

M1‘ = S4

S1 S2

S3M1

S1’’ S1’ = S2’’

S3’’M’’

Page 11: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

11

ETH

Zur

ich

December 17, 2002December 17, 2002

Advantages and Caveats

• All digital high level interfaces• Standard interfaces, available on many platforms• 100’s kbit/sec data rates• Advanced protocol features

• Power consumption, Price– Is showing significant improvements

• HW and firmware bugs and features– Access to developer information

• Connectivity (max. 8 nodes per piconet)• Complex to handle, mostly because of connection orientated

nature, QoS and security issues• Inquiry and connect takes long

– Draft for Bluetooth Spec 1.2 has a new scheme here

Page 12: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

12

ETH

Zur

ich

December 17, 2002December 17, 2002

Hardware Requirements

Autonomous wireless communication and computing platform based on a Bluetooth radio module and a microcontroller.

Requirements:• Small form factor, low component count• Standardized wireless interface• Flexible and cost effective deployment of large quantities of

networking nodes

Page 13: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

13

ETH

Zur

ich

December 17, 2002December 17, 2002

BTnode hardware details

• Atmel ATmega 128l MCU 8-Bit RISC (max. 8 MHz ~8MIPS)

• Real time clock

• 128 kB Flash ROM 64 kB SRAM4 kB EEPROM

• Generic sensor interfaces• UART and I2C data interface• Power and frequency

management

• Ericsson Bluetooth radio• Integrated PIFA antenna

Page 14: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

14

ETH

Zur

ich

December 17, 2002December 17, 2002

Designing for power aware operation

Features• Single power supply (3.6 – 16 V), single internal voltage (3.3 V)• MCU with 6 power down modes• Frequency scaling: 7.3 MHz - 57 kHz • Battery charge indicator• Direct current access shunts for all components• Optional switchable power supply for Bluetooth module• Internal Vcc available at every connector to power external sensor modules

Power consumption @ 3.3V, 7.3 MHz [mW] max. typ. Lifetime [h]*• Bluetooth Connected/CPU On 250 160 12-19• Bluetooth Idle/CPU On 95 67 32-45• Bluetooth Off/CPU Idle 15 12 202-252• Bluetooth Off/CPU Sleep 6 <0.5 504-6048

*on 840 mAh Li-ion

Page 15: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

15

ETH

Zur

ich

December 17, 2002December 17, 2002

More performance specs

0.7680.0640.1287.3ATmega 128l12110BTnode

11641000400XScale3001000PDA

108500400002000Pentium432003000PC

Bandwidth [Mbit/sec]

Memory [Mbyte]

Storage [Mbyte]

Freq [MHz]

CPUSize [cm3]Cost [$]Class

40 m

m

First prototype series

Bill of material 50 parts

Parts 90 CHFAssembly 15 CHFBluetooth 65 CHF

Unit cost @ 200 units 170 CHF61 mm

Page 16: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

16

ETH

Zur

ich

December 17, 2002December 17, 2002

System software architectureLightweight OS made up of device drivers and dispatcher for scheduling

• Low level interrupt driven drivers and libraries for peripherals and interfaces

• Event driven application model facilitates coarse grained cooperative multithreading

• 30 kB code size in ROM, 1-2 kB in RAM (with 128 byte UART buffers)

Page 17: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

17

ETH

Zur

ich

December 17, 2002December 17, 2002

Mulitple drivers and the dispatcher

void handler( /* ... */ ) {}void main() {

btn_disp_ev_reg( RECEIVE_EV, handler, 0 );btn_disp_run();

}

handler()

read buffer

event buffer

Dispatcher

EVENT, handler funcRECEIVE_EV, handler()OTHER_EV, func2()

btn_disp_run()

RECEIVE_EV

HardwareSys

tem

sof

twar

e

Driver

Application handler()

read()

received_irq()

Page 18: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

18

ETH

Zur

ich

December 17, 2002December 17, 2002

Getting going on BTnodes …

• Documentation available on the Web– Design documents– API documentation– Links– Mailing list

• Software development tools– Gnu toolchain– avr-gcc, avr-libc, downloader, gdb– Available for Linux, Windows and Mac OS X

• BTnode System Software– Snapshot packages and CVS repository

.c

.o.o.a

.elf

.hex

Page 19: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

19

ETH

Zur

ich

December 17, 2002December 17, 2002

Required hardware

• In system programmer– Atmel AVR ISP – or STK500

• RS-232 level converter

• Some cables– Programming cable– UART cable– 2 x serial 9 pin

• A BTnode

hack

fest

.hex

or

Page 20: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

20

ETH

Zur

ich

December 17, 2002December 17, 2002

Developer debugging support

• Serial programming on UART using ISP• Reset button• 4 LED’s• JTAG interface• Serial console for debugging output printf()• Example programs in the BTnode system software

• Linux emulation of BTnode system

• Bootloader resident in Flash memory– Remote update of the bootcode via Bluetooth link– Use of extra SRAM blocks as cache

Page 21: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

21

ETH

Zur

ich

December 17, 2002December 17, 2002

How fast is it to get going?

Smart Its HackfestSW install ½ hFirst steps on helloworld.c ½ hOwn program ½ h

Under 2 hours for 15 newcomers this November in Zurich

Page 22: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

22

ETH

Zur

ich

December 17, 2002December 17, 2002

A look at our competitors• UC Berkeley Motes (Culler et al.)• Microsoft wake-on wireless (Bahl)• Motes and IPAQ’s (Estrin)• UCLA i-Badge (Srivastava)• UCLA/WINS/Rockwell nodes (Srivastava)• Picoradio testbed (Rabaey)• Amorphous Computing - Pushpins (MIT)• ParkTab (Weiser)• Active Bat, Piconet (Hopper et al.)• TeCo Smart It’s (Beigl)

• Wireless LAN• Pagers• “Garage door opener” radio systems

• Infineon/Ericsson Bluetooth ROK 104001 module with SDK

Page 23: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

23

ETH

Zur

ich

December 17, 2002December 17, 2002

UCB Motes compared

• Less I/O and memory• Originally had a different host CPU, now ATmega128• Different radio frontend

– Baseband and MAC processing on host CPU– Much more fine grained RTOS– Any application development requires RT systems know-how– No interface to other wireless enabled appliances

• TinyOS has shown to be pretty hard to get started on– Public documentation has not been good– Difficult “non standard” design flow– Development out of operating system research for ES

• Lot’s of visionary stuff and showcases, not much system documentation

Page 24: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

24

ETH

Zur

ich

December 17, 2002December 17, 2002

Demo App: Bluetooth enabled Appliances

Btnodes can communicate with other Bluetooth enables devices using standard Bluetooth profiles for SMS (AT Commands) and object push (OBEX).

BTnode enabled Egg Carton SMS from Egg Carton Interactive Dialog

F. Siegemund. Spontaneous interaction in ubiquitous computing settings using mobile phones and SMS. Ubicomp 2002.

Page 25: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

25

ETH

Zur

ich

December 17, 2002December 17, 2002

Demo App: Better Avalanche Rescue through Sensors

Avalanche victims fatalities• 0-15min: 8% fatalities• 15-35min: most victims suffocate• 35-90min: 27% survive

with air pockets• 90 -130min: suffocation even

with air pockets• >130min: 3% survive

e.g. air channels

Today’s beacon technology very crude• periodical pulses: the louder, the closer• 457kHz, 0.1W • 80m range

time really matters!

Page 26: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

26

ETH

Zur

ich

December 17, 2002December 17, 2002

Demo App: Better Avalanche Rescue through Sensors 2

#7#2

#4

#292

80

9 m

3 2 45 1

No Airpoc

ket

orientation, mobility

air pocket detection

heart rate, oxygen saturation

oxygen sensor

accelerometerInclination

oximeter

F. Michahelles, B. Schiele. Better rescue through sensors. Ubicomp 2002.

Page 27: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

27

ETH

Zur

ich

December 17, 2002December 17, 2002

Demo App: Physical Activity Detection Network

• Use multiple motion sensors for context awareness

• Idea: Many sensors reveal „more context“• Architecture required to combine those sensors• Map hierarchical topology to human body

P. Lukowicz et al. WearNET: A distributed multi-sensor system for context aware wearables. Ubicomp 2002.

Page 28: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

28

ETH

Zur

ich

December 17, 2002December 17, 2002

Demo App: WURM - Wearable Unit with RC Modules

WURM hardware architecture•CPU for:

– legacy C-code, binary only code– low-intensity, background tasks

•Reconfigurable unit for:– high-performance tasks– low-power tasks

Case study: Bluetooth/Ethernet-Bridge

• IP access point for WURM modules using Btnodes

• Soft CPU (LEON, 32bit SPARC)• HW minimal TCP/IP stack• HW Ethernet MAC

C. Plessl et al. Reconfigurable hardware in wearable computing nodes. ISWC 2002.

Page 29: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

29

ETH

Zur

ich

December 17, 2002December 17, 2002

Demo App: XHOP/R-DSR Multihop Network

Bluetooth multihop source routing prototype• integrated scalable

application protocol• based on Dynamic Source

Routing (CMU)• routing across piconet

borders to support >8 nodes

Remote topology discovery• Script like command

language in the payload

Page 30: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

30

ETH

Zur

ich

December 17, 2002December 17, 2002

The road to 3G

• Shrinking the design by advanced packaging technology– Next generation packaging saves 30-50% on component area– I/O and antenna become the size constraints

• Check for feasibility of ROK 104001 module with embedded Arm and SDK?

• Power – drop Vcc to 3.0 and beyond• Implement adaptive power/frequency control in software• Remote programming, debugging and management functions

• Custom radio frontend?• Multiple frontends?

Page 31: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

31

ETH

Zur

ich

December 17, 2002December 17, 2002

Who is using BTnodes today?

Successful deployment of 200 units with 12 groups worldwide

• DSG, ETH Zurich• PCCV, ETH Zurich• Computing Department, Lancaster University, UK• TecO, University of Karlsruhe, Germany• PLAY, Interactive Institute, Sweden • VTT, Finland • TIK, ETH Zurich• IFE Wearable Lab, ETH Zurich• NTTDoCoMo, Munich, Germany (Anthony Terlano) • Ptolemy Group, UC Berkeley, USA (Jörn Janneck) • Art of Technology, Zurich, Switzerland (Michael Scheffler) • DistLab, Diku, Copenhagen, Denmark (Philippe Bonnet)

Page 32: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

32

ETH

Zur

ich

December 17, 2002December 17, 2002

Acknowledgements

• Oliver Kasten (DSG)• Matthias Ringwald (DSG)• Matthias Fries (IFH)

• Frank Siegemund (DSG)• Florian Michahelles (PCCV)• Holger Junker (IFE)• Christian Plessl (TIK)

• Our students– Urs Frey– Urs Bär– Peter Fercher, Egon Burgener– Lars Wernli, Riccardo Semadeni– Lukas Karrer, Thomas Moser

The Btnodes have been developed in cooperation with the Smart Its Project that is part of the EU Disappearing Computer Initiative.

Page 33: Bluetooth Smart Nodes for Mobile Ad-hoc NetworksDec 17, 2002  · single “air interface” – packet segmentation & reassembly – channel abstraction Connected Disconnected Req

33

ETH

Zur

ich

December 17, 2002December 17, 2002

BTnode Resources

Web pagehttp://www.tik.ee.ethz.ch/~beutel/btnode.html

http://www.inf.ethz.ch/vs/res/proj/smart-its/btnode.html

Mailing listhttp://www.ee.ethz.ch/~slist/btnode-development/