SIGFOX Makers Tour - Dublin

101
#12 DUBLIN - 2016.03.09

Transcript of SIGFOX Makers Tour - Dublin

Page 1: SIGFOX Makers Tour - Dublin

#12 DUBLIN - 2016.03.09

Page 2: SIGFOX Makers Tour - Dublin

Schedule

Intro

Slides - All about Sigfox

Demos .. hopefully

Workshop - Your turn to work

Enjoy !

Page 3: SIGFOX Makers Tour - Dublin

About us

Anthony Charbonnier

Startup Relations Manager

Nicolas Lesconnec

Developer & Maker Evangelist

Will Ferguson

VT Networks COO

Carles & Bastian

thethings.io

#SigfoxMakersTour

Page 4: SIGFOX Makers Tour - Dublin
Page 5: SIGFOX Makers Tour - Dublin

Sigfox basics

Page 6: SIGFOX Makers Tour - Dublin

About Sigfox

Sigfox is not selling chips

Sigfox is not building connected solutions

Sigfox has invented a radio protocol

Sigfox operates a global network

Page 7: SIGFOX Makers Tour - Dublin

Why Sigfox ?

Already plenty of communication protocols around !

Gateway-based solutions not suited for independent things

A protocol designed for the IoT, not an existing one tweaked to

address it

Page 8: SIGFOX Makers Tour - Dublin

New possibilities

Existing solutions: Cheaper connection & extended battery life

Enables totally new IoT applications

Backup connectivity for higher bandwidth devices

Page 9: SIGFOX Makers Tour - Dublin

How to communicate

Detect something to send (that’s the hard part)

Power on the communication module

Send

Message is picked up by the network

Data is received on your server

Page 10: SIGFOX Makers Tour - Dublin

How hard ?

Send an AT command

You receive an HTTP Request on your application server

Page 11: SIGFOX Makers Tour - Dublin

Core concepts

Page 12: SIGFOX Makers Tour - Dublin

Energy efficiency

The Sigfox protocol has been designed to maximise energy

efficiency

Tx: ~20-35 mA during a few seconds (25mW ; 14dB)

Key factor: idle consumption (unconnected 99.x% of the time)

Idle consumption: a few µA

Page 13: SIGFOX Makers Tour - Dublin

Out of the box

No configuration, no pairing, no signalisation

The network is serving the devices, not the other way round

A message is picked up by several base stations ; validation &

reduplication are handled by the network

Page 14: SIGFOX Makers Tour - Dublin

Very Long Range

Best case scenario

+100km between transmitter & receiver (base station)

Real life

A few kms (city) to tens of kms (countryside), depending on

the topography

Page 15: SIGFOX Makers Tour - Dublin

Outdoor & Indoor

Sigfox works well indoor

Of course, you need to consider signal attenuation (~20dB)

Page 16: SIGFOX Makers Tour - Dublin

Two-way communication

Devices can receive updates sent from your application server

Each communication is instigated by the device

Page 17: SIGFOX Makers Tour - Dublin

Small messages

Useful payload: 12 bytes

Up to 140 times each day

100 bits/s

Page 18: SIGFOX Makers Tour - Dublin

Payload examples

GPS coordinates (lat x lng) : 6 bytes

Temperature: 2 bytes

State reporting : 1 byte

Heartbeat, update request : 0 byte

And … who needs full bytes when 5 bits are enough ?

Page 19: SIGFOX Makers Tour - Dublin

Payload examples

A (int): 17568 —> 0100010010100000

B (0-32): 17 —> 010001

C (state): 3 —> 10

Frame: 01000100 10100000 01000110

Frame: 0x44 0xA0 0x46

AT$SF=44A046

Page 20: SIGFOX Makers Tour - Dublin

Security

Each message is signed with a key unique to the device

Messages can be encrypted or scrambled

No keys exchanged over the network, no handshake

Security is an ever ongoing effort

Page 21: SIGFOX Makers Tour - Dublin

Radio properties

Great tolerance to interferors

Jamming resistant

Interception is hard: UNB & frequency diversity

Page 22: SIGFOX Makers Tour - Dublin

Jammers

Page 23: SIGFOX Makers Tour - Dublin

Interferors

Page 24: SIGFOX Makers Tour - Dublin

Low cost of communication

Small subscription fees

Short SW development cycle

Low cost HW components

Page 25: SIGFOX Makers Tour - Dublin

Ultra Narrow Band

Page 26: SIGFOX Makers Tour - Dublin

Sigfox use

The network currently monitors a 200KHz part of the spectrum

Each message is ~100Hz wide

Page 27: SIGFOX Makers Tour - Dublin

UNB Analogy

Page 28: SIGFOX Makers Tour - Dublin

Undesired signals (aka real life)

Page 29: SIGFOX Makers Tour - Dublin

Sigfox messages

Page 30: SIGFOX Makers Tour - Dublin

Sigfox messages

Page 31: SIGFOX Makers Tour - Dublin

Frequencies

Sigfox uses unlicensed frequencies

Compliant with regulations

Europe : 868MHz (ETSI 300-200)

USA: 902MHz (FCC part 15)

Page 32: SIGFOX Makers Tour - Dublin

Coverage

Page 33: SIGFOX Makers Tour - Dublin

Global network

Sigfox is offering a global network, not a solution to build

private networks

Roaming is included is the standard service

Devices will work the same all over the network

Page 34: SIGFOX Makers Tour - Dublin

Current coverage

Nationwide coverage

France

Netherlands

Portugal

Spain

Page 35: SIGFOX Makers Tour - Dublin

Countries under rollout

Belgium

Czech Republic

Denmark

Germany

Ireland

Italy

Luxemburg

Mauritius

United Kingdom

United States

Page 36: SIGFOX Makers Tour - Dublin

United States

In production now

San Francisco & part of the bay area

In production with a couple of months

10 of the larger metropolis (NY, LA, Chicago, Dallas, ..)

Page 37: SIGFOX Makers Tour - Dublin
Page 38: SIGFOX Makers Tour - Dublin

Network rollout started last autumn

Irish Sigfox Network Operator

Page 39: SIGFOX Makers Tour - Dublin

Demo #1BASIC HELLO WORLD MESSAGE

Page 40: SIGFOX Makers Tour - Dublin

Use casesEXAMPLES OF SOLUTIONS ALREADY IN PRODUCTION

Page 41: SIGFOX Makers Tour - Dublin

What does IoT means ?

Sexy stuff : connected gadgets

Boring & useful

IoT

Page 42: SIGFOX Makers Tour - Dublin

Perfect Sigfox use cases

Independant solutions

no user, no power socket, no local network

Shy devices

Doesn’t speak much, but only useful data

Page 43: SIGFOX Makers Tour - Dublin

Metering & utilities

Page 44: SIGFOX Makers Tour - Dublin

Smart City

Page 45: SIGFOX Makers Tour - Dublin

Logistics

Track any good or equipment (Sigfox + GPS)

Aftertheft solutions

Page 46: SIGFOX Makers Tour - Dublin

Predictive maintenance

Monitor an equipment (industrial, railroads, public lighting, ..)

Be alerted when it’s about to fail

Schedule maintenance efficiently

Page 47: SIGFOX Makers Tour - Dublin

Predictive maintenance

Monitoring beer keg

temperature

Page 48: SIGFOX Makers Tour - Dublin

If this then that

Press a button

Send an empty message

Trigger a configurable action

Page 49: SIGFOX Makers Tour - Dublin

« Silver Economy »

Lots of use cases :

Heath monitoring, fall detection, ..

Tracking the community-subsidized services

Page 50: SIGFOX Makers Tour - Dublin

Agriculture

Soil & crops monitoring

Cattle tracking

Health monitoring

Page 51: SIGFOX Makers Tour - Dublin

Sigfox foundation

Offer free network coverage for non-profit applications

First live project: Antarctica scientific mission

Page 52: SIGFOX Makers Tour - Dublin

You ?

Electronics are getting easier & cheaper

Very easy to get started using platforms like Arduino

Lot of funny things to make

… And lots of $$ too

Page 53: SIGFOX Makers Tour - Dublin

Hardware solutions

Page 54: SIGFOX Makers Tour - Dublin

Hardware

SIGFOX is not a hardware vendor

Ecosystem of established partners : Atim, Atmel, OnSemi,

SiLabs, TI, …

More to come soon

Page 55: SIGFOX Makers Tour - Dublin

Solutions

Modules

Easy to get started

Atim, Telit, TD

Quite expensive for

industrialisation

SoC

Cheaper

Atmel, OnSemi

Skills needed

Ref.Designs

Transceivers

SiLabs, Texas

Instruments

Cheapest solution

Skills++ needed

Page 56: SIGFOX Makers Tour - Dublin

Antenna

Not optional :)

Best way to ruin a great device is to mess the antenna

integration

Balance between design & performance

We’re here to help you get in touch with specialists if needed

Page 57: SIGFOX Makers Tour - Dublin

Prototyping

Arduino & Raspberry Pi kits available from various websites

Check out http://makers.sigfox.com for the full details

Page 58: SIGFOX Makers Tour - Dublin

Cloud

Page 59: SIGFOX Makers Tour - Dublin

Get your data

View messages : Sigfox web platform

Get messages : REST API (pull)

Receive new messages : HTTP Callbacks (push)

Page 60: SIGFOX Makers Tour - Dublin

Callbacks

Each message received from your devices will be forwarded

to your application server

Customisable headers & body

You can set more than one callback

Page 61: SIGFOX Makers Tour - Dublin

3rd party platforms

You can easily push your data to a 3rd party platform :

AWS, Azure, Telefonica, thethings.iO, OVH, …

Page 62: SIGFOX Makers Tour - Dublin

Downlink messages

A downlink message can be

Semi automatic : sent directly by the network

Customised : sent by your own application server

Page 63: SIGFOX Makers Tour - Dublin

Semi automatic callback

Simply set up the message to send, it can be:

an hardcoded frame

pre defined variable (timestamp, rssi)

Page 64: SIGFOX Makers Tour - Dublin

Downlink callbacks

Same mechanism as for the uplink callback, set an URL

Reply with the 8-byte downlink frame

Respect this JSON format : {

'{{deviceId}}': {

'downlinkData':{{data}}

}

}

Page 65: SIGFOX Makers Tour - Dublin

WorkshopYOUR TURN TO WORK

Page 66: SIGFOX Makers Tour - Dublin

Contribute

Page 67: SIGFOX Makers Tour - Dublin

Contribute

Don’t forget to publish your experiments

Code Samples, HW design, fails … will be useful to other

people

We all start by copy/pasting ;)

Your own website, github, hackster.io, instructables … your call!

Page 68: SIGFOX Makers Tour - Dublin

We’re hiring !

Maker In Residence

(internship)

Build useful and/or funny

prototypes

Test new hardware

Publish & document them

Field Evangelist Europe

Run workshops

Talk at conferences

Support the community

Page 69: SIGFOX Makers Tour - Dublin

Useful Resources

Workshop slides

http://bit.ly/SMTAkeru

Q&A

http://ask.sigfox.com

Github

http://github.com/sigfox/

makers-tour-resources

http://github.com/nicolsc

Add your own !

Page 70: SIGFOX Makers Tour - Dublin

Register

http://backend.sigfox.com/activate

Provider: Snootlab

Country : Ireland

Device ID: sticker on the board

PAC: check the list

Page 71: SIGFOX Makers Tour - Dublin

The things.io

Data management platform

Free to use for attendees

Page 72: SIGFOX Makers Tour - Dublin

thethings.iO analytics (1 of 3)

Go to https://sigfox.thethings.io

Page 73: SIGFOX Makers Tour - Dublin

Register @ thethings.iO

https://sigfox.thethings.io

Register user

Create a Sigfox product

Page 74: SIGFOX Makers Tour - Dublin

HELLO WORLD

Page 75: SIGFOX Makers Tour - Dublin

Hello World Sketch

Open the Arduino IDE

Select the board

Board type : Arduino Uno

Try one of the File > Examples samples

Page 76: SIGFOX Makers Tour - Dublin

Hello World Sketch

#include <SoftwareSerial.h>

SoftwareSerial sigfox(5,4);

void setup(){

Serial.begin(9600);

sigfox.begin(9600);

sigfox.write("AT$SF=48 45 4c 4c 4f 20 57 4f 52 4c 44\r");

}

void loop(){

while (sigfox.available()){

Serial.print(sigfox.read());

}

}

Page 77: SIGFOX Makers Tour - Dublin

Message received ?

http://backend.sigfox.com

Navigate to the devices menu in the top bar

Click on the ID of your device

Enter the messages menu from the left navigation column

Page 78: SIGFOX Makers Tour - Dublin

First callback

Page 79: SIGFOX Makers Tour - Dublin

Callback setup

Device Type menu

Click on your device type name

Enter the Callbacks menu

Select new default callback

Page 80: SIGFOX Makers Tour - Dublin

Callback setup

TYPE : DATA UPLINK

Choose a CHANNEL : URL (EMAIL for a quick test)

Url pattern: URL of your own server

Use HTTP method: GET/POST/PUT

Page 81: SIGFOX Makers Tour - Dublin

Callback status

In the Devices > Messages panel, you have a indicator of the callback

status (an arrow)

Black : in progress

Green : Callback OK

Red : Callback KO

Click the arrow to display details.

KO means at least one of the callbacks failed

Page 82: SIGFOX Makers Tour - Dublin

Downlink

Page 83: SIGFOX Makers Tour - Dublin

How does it work ?

Send a message, with a downlink flag

Once message is sent, the module gets back to sleep

After 20s, it will wake up automatically, in Rx mode

It will wait 20s for a downlink message

Afterwards it will get back to sleep

Page 84: SIGFOX Makers Tour - Dublin

Downlink setup

To setup an automatic callback :

Device Type > Info > Edit

In the Downlink data settings, set the following :

Downlink Mode : DIRECT

Set the following value : 123400000BADCAFE

Page 85: SIGFOX Makers Tour - Dublin

How to request a downlink

Same AT command, with additional parameters

AT$SF=[hex byte]*, 2, 1

Page 86: SIGFOX Makers Tour - Dublin

Handle the response

When entering Rx mode, the module will display

+RX BEGIN

Received frame (if any) will be displayed as:

+RX= [byte] [byte] [byte] [byte] [byte] [byte] [byte] [byte]

End of Rx mode

+RX END

Page 87: SIGFOX Makers Tour - Dublin

Downlink callback

In Device Type > Info > Edit

change Downlink mode to CALLBACK

Create a new default callback, with TYPE : DATA | BIDIR

Then set up your URL

Page 88: SIGFOX Makers Tour - Dublin

Sample input output

AT$SF=55 50 4C 49 4E 4B, 2, 1

OK

+RX BEGIN

+RX=44 4F 57 4E 4C 49 4E 4B

+RX END

Page 89: SIGFOX Makers Tour - Dublin

Sample code

Arduino

https://github.com/sigfox/makers-tour-resources/tree/

master/Akeru/downlink

Server side

https://github.com/nicolsc/sigfox-downlink

PR welcome in different languages

Page 90: SIGFOX Makers Tour - Dublin

FIRST SKETCHWITH THETHINGS.IO CODE

Page 91: SIGFOX Makers Tour - Dublin

Random number Sketch

Download the akeru library inside thethings.iO sigfox github

and place it to your Documents > Arduino > Libraries folder.

Open the Arduino IDE

Copy & Paste thethings.iO Arduino code from thethings.iO

Sigfox github

Board type : Arduino Uno

Page 92: SIGFOX Makers Tour - Dublin

Message received ?

http://backend.sigfox.com

Navigate to the devices menu in the top bar

Click on the ID of your device

Enter the Statistics menu from the left navigation column

Page 93: SIGFOX Makers Tour - Dublin

thethings.iO analytics (1 of 3)

Go to Things Manager > Product Details

Page 94: SIGFOX Makers Tour - Dublin

thethings.iO analytics (2 of 3)

Page 95: SIGFOX Makers Tour - Dublin

thethings.iO analytics (3 of 3)

Go to Cloud Code > Functions

Edit the sigfox_parser Function (thethings.iO

github)

Page 96: SIGFOX Makers Tour - Dublin

thethings.iO analytics (3 of 3)

Make a cool dashboard!

Page 97: SIGFOX Makers Tour - Dublin

Go furtherUSING AN AKERU BOARD

Page 98: SIGFOX Makers Tour - Dublin

Other AT commands

AT&V : Detailed info about the module

AT$SF=[hex byte]* : Send a frame

ATS300=[int] Schedule the emission of a keep-alive frame every [int] hours

AT&W : Save settings

ATI26 :Module temperature in °C

ATI27 : Module idle power supply voltage

Page 99: SIGFOX Makers Tour - Dublin

Other AT commands

Arduino sample code + link to full references of the TD1208

module

https://github.com/sigfox/makers-tour-resources/tree/master/Akeru/mirror

Page 100: SIGFOX Makers Tour - Dublin

Use the module only

The module has a Cortex M3 than you can reprogram

Checkout the TD Next website for instructions

http://rfmodules.td-next.com/sdk/

Page 101: SIGFOX Makers Tour - Dublin

Keep in touch

Nicolas

[email protected]

twitter: @nlesconnec

Anthony

[email protected]

twitter: @Anth0_

Carles & Bastian [email protected] [email protected]

twitter: @thethingsiO