This document provides an overview of Sigfox and how to communicate using Sigfox networks. Some key points:
- Sigfox is a network operator that provides connectivity for low-bandwidth IoT devices using its proprietary radio protocol.
- The Sigfox protocol is designed for energy efficiency to enable battery-powered devices to send small payloads up to 140 times per day.
- Developers can get started easily by sending simple AT commands to Sigfox modules to transmit 12-byte payloads over the global Sigfox network.
- The document covers Sigfox concepts like ultra narrowband communication, security, and how developers can receive uplink data and send downlink messages to devices through the Sigfox backend and callbacks
6. About Sigfox
Sigfox is not selling chips
Sigfox is not building connected solutions
Sigfox has invented a radio protocol
Sigfox operates a global network
7. 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
8. New possibilities
Existing solutions: Cheaper connection & extended battery life
Enables totally new IoT applications
Backup connectivity for higher bandwidth devices
9. 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
10. How hard ?
Send an AT command
You receive an HTTP Request on your application server
12. 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
13. 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
14. 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
15. Outdoor & Indoor
Sigfox works well indoor
Of course, you need to consider signal attenuation (~20dB)
18. 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 ?
19. 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
20. 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
33. 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
36. 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, ..)
46. Predictive maintenance
Monitor an equipment (industrial, railroads, public lighting, ..)
Be alerted when it’s about to fail
Schedule maintenance efficiently
47. If this then that
Press a button
Send an empty message
Trigger a configurable action
48. « Silver Economy »
Lots of use cases :
Heath monitoring, fall detection, ..
Tracking the community-subsidized services
50. Sigfox foundation
Offer free network coverage for non-profit applications
First live project: Antarctica scientific mission
51. 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
53. Hardware
SIGFOX is not a hardware vendor
Ecosystem of established partners : Atim, Atmel, OnSemi,
SiLabs, TI, …
More to come soon
54. 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
55. 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
56. Prototyping
Arduino & Raspberry Pi kits available from various websites
Check out http://makers.sigfox.com for the full details
58. Get your data
View messages : Sigfox web platform
Get messages : REST API (pull)
Receive new messages : HTTP Callbacks (push)
59. Callbacks
Each message received from your devices will be forwarded
to your application server
Customisable headers & body
You can set more than one callback
60. 3rd party platforms
You can easily push your data to a 3rd party platform :
AWS, Azure, Telefonica, TheThings.io, OVH, …
61. Downlink messages
A downlink message can be
Semi automatic : sent directly by the network
Customised : sent by your own application server
62. Semi automatic callback
Simply set up the message to send, it can be:
an hardcoded frame
pre defined variable (timestamp, rssi)
63. 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}}
}
}
66. 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!
67. 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
76. 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
77. 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
78. 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
79. 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
80. How to request a downlink
Same AT command, with additional parameters
AT$SF=[hex byte]*, 2, 1
81. 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
82. 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
85. 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
86. 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
87. 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/