an open source dash7 stack - fosdem.org · v1.1 of spec published in q1 2017 ... generic api to...

27
OSS-7 AN OPEN SOURCE DASH7 STACK GLENN ERGEERTS [email protected] UNIVERSITY OF ANTWERPIMEC IDLAB http://idlab.technology | http:// idlab.uantwerpen.be

Upload: hadien

Post on 04-May-2018

225 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

OSS-7AN OPEN SOURCE DASH7 STACK

GLENN ERGEERTS

[email protected]

UNIVERSITY OF ANTWERP– IMEC

IDLAB

http://idlab.technology | http://idlab.uantwerpen.be

Page 2: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

2

DASH7 ALLIANCE PROTOCOL

Open standard

Wireless Sensor and Actuator Network Protocol

Originates from ISO 18000-7 (“dash7”) active RFID std

Extended to support IoT functionalities

All subGHz bands

Star or tree topology (no mesh)

V1.1 of spec published in Q1 2017

Research group active member in alliance and driving opensource

implementation

WHEN ACTIVE RFID MEETS IOT

Page 3: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

3

DASH7 ALLIANCE PROTOCOL

Asynchronous

Low power

Full stack

Everything is a file

Config

Sensor Data

KEY ASPECTS

OpenStandard

VeryLow

Power

StructuredData

Low cost

Security

Mid/LongRange

Fullstack

Page 4: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

4

APPLICATION LAYER PROGRAMMING INTERFACE

ALP commands (request/response)

Generic API to manage the filesystem

Not specific to D7AP

Operations

Read file

Write file

Execute file

...

Page 5: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

5

GATEWAY NODESERIAL D7 MODEM

STMicroelectronics devkit

Laptop with pyd7a

ALP over serial

Page 6: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

6

DEMO

Browse local FS using modem-webgui

Execute local ALP command using modem-webgui

Page 7: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

7

SENSOR NODESSTMICROELECTRONICS DEVKIT + SENSOR SHIELD

Page 8: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

8

SENSOR APPLICATIONONLY MEASURE AND WRITE TO FILE

Page 9: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

9

DEMO

Query remote nodes sensor files using modem-webgui

Page 10: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

10

SENSOR APPLICATIONPULL

sensor file

application

writes

Sensor file data

21 °C

Read sensor file

Page 11: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

11

COMMUNICATION SCHEMESPULL

Request the data only when needed

Interrogate multiple responders at

once

Ad-hoc synchronization

Tradeoff latency versus energy

consumption

Page 12: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

12

AD-HOC SYNCHRONIZATIONOR LOW-POWER LISTENING

Page 13: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

13

COMMUNICATION SCHEMES

Tag talk first

Periodic data

Sensor triggered

Unsolicited response

To a question never asked explicitely

by requester

D7A Action Protocol

PUSH

Page 14: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

14

D7A ACTION PROTOCOLUSE FILE TRIGGERS FOR FLEXIBLE PUSH COMMUNICATION

sensor file

action file

interface file

application

writes (1)

Sensor file data (4)

triggers (2)

result (3)

21 °C

read file

D7 config

Page 15: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

15

DEMO

Demo enable D7ActP on the remote nodes using pyd7a

Action is same as in pulling sensor file example (read file)

Show incoming sensor values on thingsboard dashboard

Page 16: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

16

ALP QUERY OPERATION

Compare file data <> data in query or another file

Arithmetic (==, !=, <, >, ...)

String search

Result determines further execution of command

Sophisticated addressing

“All nodes with temperature > 25 degrees: return content of file x”

Page 17: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

17

D7A ACTION PROTOCOLUSE FILE TRIGGERS FOR FLEXIBLE PUSH COMMUNICATION

sensor file

action file

interface file

application

writes (1)

Sensor file data (4)

triggers (2)

result (3)

21 °C

query+read

D7 config

Page 18: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

18

DEMO

Add query condition to D7ActP action (temp > x) on the remote nodes

Show no new incoming values, until we increase temp on 1 node > x

Show we can still query the other nodes with temp < x

Page 19: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

19

COMMUNICATION SCHEMES

PullTo obtain tag sensor data

To set actuator data

PushFor alarms and periodic data

Combinations possible. Other options: dormant sessions, push with frequency agility

Page 20: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

20

FULL STACK SPECIFICATION

APP

PRES

SESS

TRAN

NETW

DLL

PHY

ALP

FILE OPERATIONS

FIFOs

DIALOGS

D7AAdvP D7ANP

CSMA-CA SUBNET

PN9 / FEC CODING (G)FSK CCA433 / 868 / 915 MHz 9.6 / 55 / 166 kbps

ACCESS PROFILE

SYSTEM FILES TRIGGERSPERMISSIONS

1 HOP ROUTING

SCAN AUTOMATION

QoS PRIORITIES

GROUP ACK

AES128FOREGROUND SCAN

NOISE FLOOR

LoRa

UNICAST / BROADCAST

POWER AUTOSCALING

Page 21: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

21

OSS-7AN OPEN SOURCE D7AP IMPLEMENTATION

Reference implementation for spec

Generate interest in D7AP

Support multiple hardware platforms

Firmware + tools

Apache License v2.0

Allows commercial products

Page 22: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

22

OSS-7

HAL

Drivers for peripherals and radio

Platform: combination of drivers +

wiring on board

Low power cooperative scheduling

Module

D7AP

LoRaWAN

SIMPLE AND FLEXIBLE FRAMEWORK

Page 23: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

23

MURATA LPWA MODULE

App MCU + modem

Serial connection (ALP)

App does not interfer with stack timings

Modem separately certified

Murata Type ABZ

stm32l0 + semtech sx1276

Minimal external components

EASY INTEGRATION OF D7 MODEM

Page 24: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

24

RELATED TOOLS

pyd7aParser / generator for ALP / frames

Modem API

Examples + tools

webgui

oss7-thingsboard-gatewayIntegrate modem with ThingsBoard IoT platform

Digital twin

Up and downlink

Parse sensor data (plugins)

oss7-testsuiteIntegration tests on physical modems

driven by pyd7a + pytest

Jenkins CI

Page 25: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

25

OSS-7

Feature completeness

Move to D7AP v1.2 (under discussion)

Over the air update

C modem library

Enable porting to other OSs

RIOT OS

NEXT STEPS

Page 26: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

26

JOIN US!

@ossdash7

https://github.com/MOSAIC-LoPoW/dash7-ap-open-source-stack

http://groups.google.com/group/dash7-ap-oss

http://www.dash7-alliance.org/

Page 27: AN OPEN SOURCE DASH7 STACK - fosdem.org · V1.1 of spec published in Q1 2017 ... Generic API to manage the filesystem Not specific to D7AP ... Reference implementation for spec

QUESTIONS?