sigfox makers tour - madrid

94
#6 Madrid — 25.11.2015

Upload: nicolas-lesconnec

Post on 09-Apr-2017

5.153 views

Category:

Engineering


2 download

TRANSCRIPT

#6 Madrid — 25.11.2015

Program

• Slides

• Demo(s)

• Workshop

• Fun

UsNicolas Lesconnec

Developer & Maker Evangelist

Anthony Charbonnier Startup Relations Manager

Jon Regueiro Support Engineer

ABOUT SIGFOX

About SIGFOX

• SIGFOX has invented a radiocommunication protocol

• SIGFOX is operating a global network

• SIGFOX does not sell hardware components

• SIGFOX does not build connected solutions

New possibilities

• Direct Internet connection.

• No battery drain. Years of autonomy.

• Detect. Send. Receive.

• No configuration

In a nutshell

• Power on

• Send a message

• It’s picked up by n of our base stations

• Instantly forwarded to your own server

• That’s it

Complexity

• AT$SF=0123456789

• No pairing or configuration of any kind

• HTTP request to your server

Proof

Why SIGFOX

• Hub-based technologies are not compatible with independent devices

• Need for a protocol designed for the IoT, and not one tweaked to address it.

Core concepts• Energy efficiency

• Very Long Range

• Out of the box connectivity

• Outdoor + Indoor

• Two-way communication

• Low bandwidth, small messages

• Ultra Narrow Band

Energy efficiency

• Tx : ~25/30 mA for a few seconds

• 99.x% of the time, device is silent

• Idle consumption is key

• Idle : a few µA

Very Long Range

• Countryside : Tens of kms

• Cities : A few kms

• Direct line of sight : wow !

Out of the box

• Network is serving the devices, not the other way round

• Device simply sends a frame, message is detected by n base stations

• Message is validated / deduplicated by our backend

Outdoor + indoor

• 868MHz has good propagation properties

• Radio waves are not magic

• Consider ~20dB of attenuation indoor, and ~30dB for light underground or tricky buildings

Two-way communication

• Send updates to your device(s)

• Default behaviour: wake up, send, back to sleep

• No passive Rx mode

• Device can receive a message upon request

• Every communication is instigated by the device

Low bandwidth

• 100 bits / s

• 12 bytes per message

12 bytes !?

• Yes. Seriously. 12 bytes.

• This is the available payload.

• You can put a lot of info in 96 bits

• 2^96 is a 30ish-digit number.

• 8 billions of billions of billions of possible values

Payload examples

• Full GPS Coordinates : 6 bytes

• Temperature : 2 bytes

• State reporting : 1 byte

• Hearbeat, update request : 0 byte

How frequently ?

• 140 times a day

140 times / day

• Not a technology limit

• Compliant with the European regulation: 1% duty cycle

Money• Most pricey subscription: €14/year

• A couple of devices, 140 messages/day

• The higher volume, the lower the price

• The lower number of messages, the lower the price

• Down to €1/year for large volumes & a couple of messages/day

• Startup plan : €8/year, as if already 30k devices.

Security

Security

• Each device is identified by a unique ID on the network

• Each message is signed

• Servers managed by ourselves, in 2 french datacenters.

• Security is never finished, permanent effort.

Signature• Each message is accompanied by an hashed

signature, made from :

• the device id

• the device PK (unknown to the user)

• the payload

• internal increment

Signature

• Replayed messages

• Altered messages

• Spoofed messages

Encryption

• By default, the payload is not encrypted

• Encryption cost a lot of energy

• No « one size fits all » solution.

• Up to you to use the encryption most suited to your case

Radio properties

• Great resistance to interferors

• Very difficult to jam

• Interception is hard

• UNB

• Unpredictable frequency

Radio properties

Ultra Narrow Band

Ultra Narrow Band• The SIGFOX protocol relies on the Ultra Narrow

Band technology

• A message : ~100Hz wide

• Each base station watch a 200KHz part of the spectrum

• Hard part: detect message without knowledge of the precise frequency or schedule

Ultra Narrow Band

• Why Ultra Narrow Band ?

• Easy analogy : cars vs motorbikes

Quiet Base station

Undesired signals

Message received

Frequency used

• SIGFOX uses unlicensed sub-GHz bands :

• 868MHz in Europe

• 902MHz in the US

Unlicensed != unregulated

• SIGFOX complies with both ETSI (Europe) & FCC (US) regulations

• ETSI : 1% duty cycle

• FCC : duration of emission

Coverage

Global network

• Roaming is included in the basic subscription

• Your device can switch from one country to another without additional charges.

Current - Nationwide

• France

• Netherlands

• Spain

• UK

Current - cities• Bogota

• Dublin

• Milan

• Munich

• Santiago

• San Francisco

• …

Rollout in progress• Belgium

• Denmark

• Italy

• Luxembourg

• Portugal

• USA

USA

• Currently: San Francisco

• Early 2016 : 10 majors cities, including Atlanta, Boston, Chicago, Dallas, Houston, Los Angeles

• And we’re just starting :)

Hello World

Hello World

• Send a dummy message

• Check it on the SIGFOX website

• Forward it through the callback mechanism

• Store message in a database

• Display list of recorded events

Use cases

IoT != Connected gadgets

Sexy Stuff

BORING BUT USEFUL

IOT

Good use cases

• Not that talkative devices : small messages every now and then

• Independent devices

Metering & utilities

Smart City

Ifttt-like

• Press the button, send an empty frame & trigger any pre determined action

• « Mom I’m home ! »

• « Get me a taxi»

• Replay last order, ~Amazon Dash

More

• Assisted .. and Predictive Maintenance

• Logistics : GPS Tracking

• Security

• Healthcare, stay-at-home people

DIY Projects

• Connected wine cellar. Because french.

• Connected cat food dispenser. Because cats.

• Kitchen garden: temperature, moisture, …

• GPS Tracking of anything

You ?• You can build a PoC very quickly

• Lot of funny stuff to make

• And lot of $$$ to make too ;)

• KISS, dumb device means:

• Cheap

• Less prone to failure

Hardware

Hardware SIGFOX

• SIGFOX is not a hardware vendor

• Many established partners offer SIGFOX-ready chips: Atmel, TI, Silicon Labs, Axsem, Atim, …

• Most Sub-GHz radio transceivers are compatible, it’s just about a software upgrade.

Prototyping

• Arduino : Snootlab, SmartEverything

• Raspberry Pi : Yadom

• Can be bought one unit a time

• Get started within minutes

• Not for industrial use

Modules

• Easy to work with : AT commands

• Price range from ~10 to 20€

• Evaluation boards available from manufacturers : Adeunis, Telecom Design, Telit, ..

SoC, transceivers

• Texas Instruments, Atmel, SiLabs, Axsem, ..

• Cheap, a few $

• More complex to work with if not familiar

• Certification needed if you don’t stick to the provided ref design.

Antenna

• Critical when doing radio

• 868MHz -> best case is 17cm (lambda/2)

• Helicoidal, patch, … antennas possible.

Cloud

Get your data

• Part of the standard service.

• 3 ways

• View - website

• Pull - HTTP API

• Push - HTTP Callback

Common use case : push callbacks

• Get notified each time of your devices send a message

• Can trigger whatever you want : alarm, notification, data processing, …

• Example here: http://github.com/nicolsc/sigfox-callback-demo

Set up a callback

Downlink

• Message sent to a device can be

• Automatic with a pre configuration

• Sent from your own server

Downlink auto

• Simply set what message you want to send back

• Hardcoded

• Time, Station ID, .. for sync purposes

Downlink callback

• Same mechanism than the uplink callback

• Set up an URL

• An when called, send your 8-byte frame within the response body

Real demo

Connected RFID reader

• Standard 125KHz RFID reader & tags

• Once a tag is detected, send its ID through SIGFOX

• Update a live dashboard

• Do something else :)

Resources

• https://github.com/ameltech/

• + Checkout github.com/nicolsc/sigfox-* for some demos & sample codes

First steps with the SmartEverything

Register• http://backend.sigfox.com/activate

• Click SmartEverything

• Enter the device id of your board + the provided PAC number

• Check http://10.0.0.118:1234/

• Operator : select SIGFOX_Spain

• Enter your personal info

Getting started• Plug the SmartEverything board using a micro USB cable

• Plug the antenna ;)

• Check that it’s recognised by your computer

• $ ls /dev/tty.*

• Windows

• Launch Powershell

• > [System.IO.Ports.SerialPort]::getportnames()

Arduino setup• Install the Arduino Zero core

• Tools > Boards > Board Manager

• Install the ASME core

• Tools > Boards > Manager (Again !), filter on type=Partner

• Choose the SmartEverything Board Type

• Tools > Boards

• Install the libs associated to each sensor (... and to the SIGFOX module)

• Sketch > Include Library > Manage Libraries ; Filter on Type=Partner ; install each library

1st Arduino Sketch• Open the Arduino IDE

• Select Board Type > Arduino Zero

• Select the correct port

• File > Examples > SmartEverything > VL6180X > AmbientLight

• Upload

• The blue LED on the board should blink

Hello World

• File > Examples > SmartEverything > Sigfox > DataModeEU

• Upload

Check message

• http://backend.sigfox.com

• Navigate to the « device » menu

• Click on the device ID

• « Devices messages »

Set up a callback

Don’t have a server ?

• https://github.com/nicolsc/sigfox-callback-demo

• Git clone & push to your server

• Or simply click « Deploy to Heroku »

Downlink

How does it work ?

• The Module send the frame, then sleep for 20s

• Then it enters Rx mode

• Waits 20s for a response

• Quits Rx mode & goes to deep sleep

Request a downlink

• Use the AT$SF command, with an additional parameters

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

Set up the downlink

Handle the response• When entering Rx mode, the module will display

• +RX BEGIN

• Received frame will be displayed as

• +RX=[hex byte] [hex byte]…

• When leaving Rx mode, it will display

• +RX END

Handle the response

• Detect an input line starting with +RX= & parse it as a series of hex bytes

• If no downlink message has been sent, you’ll have no +RX= line, just the BEGIN & END flags

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

Contribute

Share• Please share what you’ll make with SIGFOX

• Hackster.io, instructables, github … your move.

• Q&A

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

• Keep in touch :

[email protected]

• twitter: @nlesconnec