+ - 0:00:00
Notes for current slide
Notes for next slide

181U Spring 2020

Low Energy Wireless Communications (BLE and Lora)

1
  • 181U
  • See acknowledgements

Agenda

Your browser does not support the audio element.
  • Battery powered devices require low-energy radio
  • Bluetooth Low Energy – short distance, medium throughput
  • LoRa – long distance, very-low throughput
2
  • 181U
  • See acknowledgements

Bluetooth Low Energy (BLE)

Your browser does not support the audio element.
  • Based on IEEE 802.15.1
  • Subset of Bluetooth 4.0
  • Smart Mesh
  • Wide OS support
  • Used in smartphones, tablets, smart watches, …
3
  • 181U
  • See acknowledgements

BLE Relationship to Bluetooth

Your browser does not support the audio element.
  • New
    • efficient discovery/connection procedures
    • very short packets
    • asymmetric design for peripherals
    • client/server architecture
  • Old
    • Reuse Bluetooth radio architecture
    • Reuse logical and physical transports
4
  • 181U
  • See acknowledgements

Basic Concepts

Your browser does not support the audio element.
  • Everything has State

    • server devices expose their state
  • Clients can use the state exposed on servers

    • read: e.g., get current temperature
    • write: e.g., increase set point temperature
  • Servers can notify clients when state updates

5
  • 181U
  • See acknowledgements

Stack Architecture

Your browser does not support the audio element.

6
  • 181U
  • See acknowledgements

Physical Layer

Your browser does not support the audio element.
  • Uses 2.4 GHz ISM Band
    • Industrial Scientific Medical band
    • License Free – with certain rules
    • 2400 MHz to 2483.5 MHz
  • Used by many other standards
    • IEEE 802.11, IEEE 802.15
    • and many proprietary radios
7
  • 181U
  • See acknowledgements

40 Physical Channels

Your browser does not support the audio element.

8
  • 181U
  • See acknowledgements

Phy Summary

Your browser does not support the audio element.
  • 2.4 GHz GFSK
  • 40 channels
    • 2 MHz channel spacing
    • 2402 MHz to 2480 MHz
  • Range
    • 50m to further than 150 m
9
  • 181U
  • See acknowledgements

Link Layer

Your browser does not support the audio element.
  • Link Layer State Machine
    • can have multiple state machines active in device
  • Link Layer Channels
    • Advertising Channels & Data Channels
    • Advertising Packets & Data Packets
  • Link Layer Control Procedures
10
  • 181U
  • See acknowledgements

Link Layer State Machine

Your browser does not support the audio element.

11
  • 181U
  • See acknowledgements

Link Layer Channels

Your browser does not support the audio element.
  • Advertising Channels
    • Advertising Channel Packets
    • Used for Discoverability / Connectability
    • Used for Broadcasting / Observing
  • Data Channels
    • Data Channel Packets
    • Used to send application data in Connection
12
  • 181U
  • See acknowledgements

Link Layer Channels

Your browser does not support the audio element.

13
  • 181U
  • See acknowledgements

Scanning

Your browser does not support the audio element.

(Passive scanning shown; another mode is active scanning)

14
  • 181U
  • See acknowledgements

Connections

Your browser does not support the audio element.

15
  • 181U
  • See acknowledgements

Topology

Your browser does not support the audio element.

16
  • 181U
  • See acknowledgements

Connections

Your browser does not support the audio element.
  • Used to send application data reliably, robustly
  • Includes
    • ultra low power connection mode
    • adaptive frequency hopping
    • connection supervision timeout
17
  • 181U
  • See acknowledgements

Connection Events

Your browser does not support the audio element.

18
  • 181U
  • See acknowledgements

Maximum Data Rate

Your browser does not support the audio element.
  • Asymmetric Tx/Rx Packet Sequence
    • 328 + 150 + 80 + 150 = 708 μs
  • Transmitting 27 octets of application data
    • ~305 kbps

19
  • 181U
  • See acknowledgements

Link Layer Encryption

Your browser does not support the audio element.

Uses AES 128 encryption block and CCM as defined by RFC 3610

20
  • 181U
  • See acknowledgements

Attribute Protocol

Your browser does not support the audio element.

21
  • 181U
  • See acknowledgements

Attribute Protocol (ATT)

Your browser does not support the audio element.
  • Client Server Architecture
    • servers have data
    • clients request data to/from servers
  • Protocol Methods
    • request, response, command,
    • notification, indication, confirmation
22
  • 181U
  • See acknowledgements

Servers Expose Data Using Attributes

Your browser does not support the audio element.

  • Attributes have values
    • array of octets
    • 0 to 512 octets in length
    • can be fixed or variable length
23
  • 181U
  • See acknowledgements

Attributes are Addressable

Your browser does not support the audio element.
  • Each attribute has a “handle”
    • used to address an individual attribute by a client
  • Clients use handles to address attributes
    • Read (0x0022) => 0x04 ; Read (0x0098) => 0x0802

24
  • 181U
  • See acknowledgements

Attributes are Typed

Your browser does not support the audio element.
  • Attributes have a type
    • type is a «UUID», determines what the value means
  • Types are defined by “Characteristic Specifications”
    • or Generic Access Profile or Generic Attribute Profile

25
  • 181U
  • See acknowledgements

Attributes are Typed (Example)

Your browser does not support the audio element.
  • «Battery State»
  • defined by “Battery State Characteristic” specification
    • enumerated value -0x04 = Discharging

26
  • 181U
  • See acknowledgements

Attribute Permissions

Your browser does not support the audio element.
  • Attributes values may be:
    • readable / not readable
    • writeable / not writeable
    • readable & writeable / not readable & not writeable
  • Attribute values may require:
    • authentication to read / write
    • authorization to read / write
    • encryption / pairing with sufficient strength to read / write
27
  • 181U
  • See acknowledgements

Protocol Methods

Your browser does not support the audio element.

28
  • 181U
  • See acknowledgements

Generic Attribute Protocol (GATT)

Your browser does not support the audio element.

BLE is complicated by many pre-defined profiles. If you want to build a “standard” device (for example a thermostat), this simplifies the process. Introducing a new type of device is complicated.

29
  • 181U
  • See acknowledgements

Generic Access Profile

Your browser does not support the audio element.

Generic access profile (and protocols) define the ways clients and servers interact.

30
  • 181U
  • See acknowledgements

Building Applications – Two Approaches

Your browser does not support the audio element.
  • Use Standard Services
    • defined by Bluetooth SIG
    • includes lots of useful things
      • battery
      • heart rate
      • temperature
    • Great interoperability
    • Vast “app” ecosystem


  • Define Your Own Service
    • using 128-bit UUIDs
    • you can do what you want
      • motor controls
      • custom sensors
      • calibration
    • Closed ecosystems
    • Few supporting apps
31
  • 181U
  • See acknowledgements

The Energy-Range Tradeoff

Your browser does not support the audio element.

BLE is low energy, but limited range (10’s of meters)

32
  • 181U
  • See acknowledgements

LoRa and SigFox Offer an alternative

Your browser does not support the audio element.

These technologies trade bit-rate for range. Very useful for slowly changing sensors.

33
  • 181U
  • See acknowledgements

Link Budget is measured in dBM

Your browser does not support the audio element.

34
  • 181U
  • See acknowledgements

LoRa allows trading bit-rate for range

Your browser does not support the audio element.

35
  • 181U
  • See acknowledgements

Relationship between bit rate and range

Your browser does not support the audio element.

36
  • 181U
  • See acknowledgements

There is no free lunch !

Your browser does not support the audio element.

37
  • 181U
  • See acknowledgements

LoRa is based on a clever modulation strategy

Your browser does not support the audio element.

38
  • 181U
  • See acknowledgements

LoRa Physical Layer

Your browser does not support the audio element.

39
  • 181U
  • See acknowledgements

Spreading factor vs Duration

Your browser does not support the audio element.

40
  • 181U
  • See acknowledgements

LoRaWAN

Your browser does not support the audio element.

41
  • 181U
  • See acknowledgements

LoRaWAN Architecture

Your browser does not support the audio element.

42
  • 181U
  • See acknowledgements
Your browser does not support the audio element.

43
  • 181U
  • See acknowledgements

WaziUP

Your browser does not support the audio element.

44
  • 181U
  • See acknowledgements

WaziUP Platform

Your browser does not support the audio element.

45
  • 181U
  • See acknowledgements

Summary

  • Acknowledgements – Slide Material drawn from:
    • “Wireless standards for IoT” by Ermanno Pietrosemoli: http://wireless.ictp.it/school_2019/slides/WirelessstandardsforIoT.pdf
    • “An Introduction to Bluetooth low energy” by Robin Heydon: https://datatracker.ietf.org/meeting/interim-2016-t2trg-02/materials/slides-interim-2016-t2trg-2-7
    • “Low-power, long-range radio technologies for Internet-of-Things” by IRD/UMMISCO–Yaoundé: http://cpham.perso.univ-pau.fr/LORA/WAZIUP/UMMISCO-LPWAN-review.pdf
    • Cover image “https://www.led-professional.com/technology/standardization/zigbee-alliance-and-thread-group-join-force#&gid=1&pid=1“
    • “WAZIUP: A low-cost infrastructure for deploying IoT in developing countries”, Congduc Pham, AbdurRahim, Philippe Cousin. AFRICOMM16
46
  • 181U
  • See acknowledgements

Agenda

Your browser does not support the audio element.
  • Battery powered devices require low-energy radio
  • Bluetooth Low Energy – short distance, medium throughput
  • LoRa – long distance, very-low throughput
2
Paused

Help

Keyboard shortcuts

↑, ←, Pg Up, k Go to previous slide
↓, →, Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow