Hands On IoT Workshop, using an Arduino MKRFOX board
(March 2019)
First steps on the Sigfox network :
* Send first messages
* Use the Sigfox Cloud to check incoming data
* Set up first callbacks to push data
* Complex frame handling
* Downlink communication
* Event monitoring
4. CONFIDENTIAL
The first and global 0G Network
4
IoT
Bringing the 4th
industrial revolution to all sectors
BACK-UP BROADBAND
Secondary connectivity & additional services for systems using
broadband networks
0G
Cost
efficient
Low
Power
Global
Network
6. They turn into actions
and insights
through the customer IT
They can be analyzed on
Big Data
analytics platforms
Devices integrate a
connectivity module
Partners with specific
applications for your
business
Interoperability with
top-tier Big Data
platforms
Ecosystem of
certified vendors
Royalty free
Standard and easy
access
Global network with
high capacity
Small messages
optimized for
sensor data
Devices send data Messages are
transmitted through the
sigfox network
They are stored in the
sigfox cloud
Sigfox architecture
6
9. Small messages
1 % duty cycle for Objects
Up to 6 messages/hour
UPLINK
12-Byte payload
- Sensor data
- Event status
- GPS fix
- Application data
DOWNLINK
8-Byte payload
- Action / actuator trigger
- Device management
- Application parameter setting
10 % duty cycle for Base Stations
4 guaranteed downlink msg/day
SIGFOX
CLOUD
10. High Energy Efficiency
Designed to maximize
energy efficiency
No Pairing
10 to 50mA during a few
seconds (25mW; 14dB)
depending on the chip and
the size of the payload
Idle consumption: negligible
Idle state
Communication state
6 nA
30 mA
Current
Time
~6 sec
99.x% of the time
✓
✓
✓
✓
15. Find your way in the Sigfox Backend
The Sigfox Cloud is organized around 3 concepts :
• Group : Contract & User rights
• Device Type : Family of devices sharing the same
properties
• Device : A unique device
23. Setup the Arduino IDE
Select your board using the Tools > Port
menu
Set the board as Arduino MKRFOX1200
If board not present, add it using Boards Manager =>
search for MKRFox and install Arduino SAMD boards
24. Other option: install the IDE on your laptop
Download from
https://www.arduino.cc/en/Main/Software
You will need to install all drivers and
libraries
25. Setup the Arduino IDE
Install the following libraries (Sketch =>
Include Library => Manage Libraries)
• Arduino Sigfox for MKRFox1200
• Arduino Low Power
• RTCZero
30. Callback setup
Device Type menu
Click on your device type name
Enter the Callbacks menu
Select new default callback
31.
32.
33.
34.
35. 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 (at least one of the callbacks failed)
Click the arrow to display details.
38. Sigfox payload display feature
Using a « simple » grammar, you can ask
Sigfox to parse your incoming data
This is done at the device type level
39.
40.
41. Parsing the Hello World sample
Modify the sketch to send 3 values in a same message
short valA = 7700;
short valB = 128;
float valC = 654.32;
SigFox.beginPacket();
SigFox.write(valA);
SigFox.write(valB);
SigFox.write(valC);
SigFox.endPacket();
42. Set a custom grammar
valA & valB are shorts : 16 bits
valC is a 32 bits float
valA::uint:16:little-endian valB::uint:16:little-endian valC::float:32:little-endian
43. Get real world data
https://github.com/nicolsc/mkrfox-send-
internal-temperature
53. Geolocation Callback
Create a new
Service > Geoloc
callback
Use following URL
to center the map:
https://maps.googleapis.com/m
aps/api/staticmap?center={lat},{
lng}&zoom=13&scale=1&size=6
00x300&maptype=roadmap&for
mat=png&visual_refresh=true
55. Advanced Callbacks
Goal: Save live information in a Google Drive
spreadsheet
How: Transfer message to IFTTT webhook and
save content to a linked GDrive spreadsheet
56. IFTTT?
IF this THEN that
Free service to create conditional
statements (no coding)
57. IFTTT Applet
Create new applet « IF Webhooks THEN Google
Spreadsheet »
Webhook: custom URL to listen to HTTP requests
65. Monitor break in sequence number
New Event: Device > Event Configuration > New
Select Event Type « Out of message sequence »
Select « EMAIL » as channel and enter your email
address and email content
66. Monitor break in sequence number
Remove the antenna to simulate a coverage issue
Send a message
Re-attach the antenna and send a new message
Check reception of email notification