sigfox makers tour - porto

87
#10 PORTO - 2016.02.12

Upload: nicolas-lesconnec

Post on 16-Jan-2017

475 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: SIGFOX Makers Tour - Porto

#10 PORTO - 2016.02.12

Page 2: SIGFOX Makers Tour - Porto

Schedule

Intro

Slides - All about Sigfox

Demos .. hopefully

Workshop - Your turn to work

Enjoy !

Page 3: SIGFOX Makers Tour - Porto

About us

Anthony Charbonnier

Startup Relations Manager

Nicolas Lesconnec

Developer & Maker Evangelist

Pedro Costa

Narrownet Ecosystem Developer

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

Sigfox basics

Page 6: SIGFOX Makers Tour - Porto

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 - Porto

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 - Porto

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 - Porto

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 - Porto

How hard ?

Send an AT command

You receive an HTTP Request on your application server

Page 11: SIGFOX Makers Tour - Porto

Core concepts

Page 12: SIGFOX Makers Tour - Porto

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 - Porto

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 - Porto

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 - Porto

Outdoor & Indoor

Sigfox works well indoor

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

Page 16: SIGFOX Makers Tour - Porto

Two-way communication

Devices can receive updates sent from your application server

Each communication is instigated by the device

Page 17: SIGFOX Makers Tour - Porto

Small messages

Useful payload: 12 bytes

Up to 140 times each day

100 bits/s

Page 18: SIGFOX Makers Tour - Porto

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 - Porto

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 - Porto

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 - Porto

Radio properties

Great tolerance to interferors

Jamming resistant

Interception is hard: UNB & frequency diversity

Page 22: SIGFOX Makers Tour - Porto

Jammers

Page 23: SIGFOX Makers Tour - Porto

Interferors

Page 24: SIGFOX Makers Tour - Porto

Low cost of communication

Small subscription fees

Short SW development cycle

Low cost HW components

Page 25: SIGFOX Makers Tour - Porto

Ultra Narrow Band

Page 26: SIGFOX Makers Tour - Porto

Sigfox use

The network currently monitors a 200KHz part of the spectrum

Each message is ~100Hz wide

Page 27: SIGFOX Makers Tour - Porto

UNB Analogy

Page 28: SIGFOX Makers Tour - Porto

Undesired signals (aka real life)

Page 29: SIGFOX Makers Tour - Porto

Sigfox messages

Page 30: SIGFOX Makers Tour - Porto

Sigfox messages

Page 31: SIGFOX Makers Tour - Porto

Frequencies

Sigfox uses unlicensed frequencies

Compliant with regulations

Europe : 868MHz (ETSI 300-200)

USA: 902MHz (FCC part 15)

Page 32: SIGFOX Makers Tour - Porto

Coverage

Page 33: SIGFOX Makers Tour - Porto

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 - Porto

Current coverage

Nationwide coverage

France

Netherlands

Portugal

Spain

Page 35: SIGFOX Makers Tour - Porto

Countries under rollout

Belgium

Czech Republic

Denmark

Germany

Ireland

Italy

Luxemburg

Mauritius

United Kingdom

United States

Page 36: SIGFOX Makers Tour - Porto

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 - Porto
Page 38: SIGFOX Makers Tour - Porto

Narrownet is hiring

Page 39: SIGFOX Makers Tour - Porto

Demo #1BASIC HELLO WORLD MESSAGE

Page 40: SIGFOX Makers Tour - Porto

Use casesEXAMPLES OF SOLUTIONS ALREADY IN PRODUCTION

Page 41: SIGFOX Makers Tour - Porto

What does IoT means ?

Sexy stuff : connected gadgets

Boring & useful

IoT

Page 42: SIGFOX Makers Tour - Porto

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 - Porto

Metering & utilities

Page 44: SIGFOX Makers Tour - Porto

Smart City

Page 45: SIGFOX Makers Tour - Porto

Logistics

Track any good or equipment (Sigfox + GPS)

Aftertheft solutions

Page 46: SIGFOX Makers Tour - Porto

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 - Porto

If this then that

Press a button

Send an empty message

Trigger a configurable action

Page 48: SIGFOX Makers Tour - Porto

« Silver Economy »

Lots of use cases :

Heath monitoring, fall detection, ..

Tracking the community-subsidized services

Page 49: SIGFOX Makers Tour - Porto

Agriculture

Soil & crops monitoring

Cattle tracking

Health monitoring

Page 50: SIGFOX Makers Tour - Porto

Sigfox foundation

Offer free network coverage for non-profit applications

First live project: Antarctica scientific mission

Page 51: SIGFOX Makers Tour - Porto

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 52: SIGFOX Makers Tour - Porto

Hardware solutions

Page 53: SIGFOX Makers Tour - Porto

Hardware

SIGFOX is not a hardware vendor

Ecosystem of established partners : Atim, Atmel, OnSemi,

SiLabs, TI, …

More to come soon

Page 54: SIGFOX Makers Tour - Porto

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 55: SIGFOX Makers Tour - Porto

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 56: SIGFOX Makers Tour - Porto

Prototyping

Arduino & Raspberry Pi kits available from various websites

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

Page 57: SIGFOX Makers Tour - Porto

Cloud

Page 58: SIGFOX Makers Tour - Porto

Get your data

View messages : Sigfox web platform

Get messages : REST API (pull)

Receive new messages : HTTP Callbacks (push)

Page 59: SIGFOX Makers Tour - Porto

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 60: SIGFOX Makers Tour - Porto

3rd party platforms

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

AWS, Azure, Telefonica, TheThings.io, OVH, …

Page 61: SIGFOX Makers Tour - Porto

Downlink messages

A downlink message can be

Semi automatic : sent directly by the network

Customised : sent by your own application server

Page 62: SIGFOX Makers Tour - Porto

Semi automatic callback

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

an hardcoded frame

pre defined variable (timestamp, rssi)

Page 63: SIGFOX Makers Tour - Porto

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 64: SIGFOX Makers Tour - Porto

WorkshopYOUR TURN TO WORK

Page 65: SIGFOX Makers Tour - Porto

Contribute

Page 66: SIGFOX Makers Tour - Porto

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 67: SIGFOX Makers Tour - Porto

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 68: SIGFOX Makers Tour - Porto

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Workshop slides

http://bit.ly/SigfoxMakersTour

Q&A

http://sigfox.cloud.answerhub.com/

Github

http://github.com/sigfox/makers-tour-resources

http://github.com/nicolsc

Add your own !

Page 69: SIGFOX Makers Tour - Porto

Register

http://backend.sigfox.com/activate

Enter:

Personal infos

Device ID (sticker on the board)

PAC (check the list)

Page 70: SIGFOX Makers Tour - Porto

HELLO WORLD

Page 71: SIGFOX Makers Tour - Porto

Hello World Sketch

Open the Arduino IDE

Select the board

Board type : Arduino Uno

Try one of the File > Examples samples

Page 72: SIGFOX Makers Tour - Porto

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 73: SIGFOX Makers Tour - Porto

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 74: SIGFOX Makers Tour - Porto

Callback setup

Device Type menu

Enter the Callbacks menu

Select new default callback

Page 75: SIGFOX Makers Tour - Porto

Callback setup

Page 76: SIGFOX Makers Tour - Porto

Callback setup

TYPE : DATA UPLINK

Choose a CHANNEL : URL | EMAIL

Email is good for a quick try

If you choose URL, you can then set the method, content-

type, and format the body as you wish

Page 77: SIGFOX Makers Tour - Porto

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 78: SIGFOX Makers Tour - Porto

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 79: SIGFOX Makers Tour - Porto

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 80: SIGFOX Makers Tour - Porto

How to request a downlink

Same AT command, with additional parameters

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

Page 81: SIGFOX Makers Tour - Porto

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 82: SIGFOX Makers Tour - Porto

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 83: SIGFOX Makers Tour - Porto

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 84: SIGFOX Makers Tour - Porto

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 85: SIGFOX Makers Tour - Porto

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 86: SIGFOX Makers Tour - Porto

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 87: SIGFOX Makers Tour - Porto

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/