[OTA15] Back to binary !
-
Upload
nicolas-lesconnec -
Category
Internet
-
view
544 -
download
0
Transcript of [OTA15] Back to binary !
Back to binary !How the low bandwith SIGFOX technology can allow truly autonomous devices to connect to the Internet
Over The Air 2015
Me• Web development background, started in 2000
• Web dev turned D.CTO at lequipe.fr, french leading sports website
• Worked 4 yrs in a startup, focused on multi-device apps, then on connected solutions only
• Dev & Maker Evangelist @SIGFOX since 6 months
Why SIGFOX ?
• Existing technologies were not adapted to the IoT world to come
• Mobile networks evolution has been focused on increasing bandwidth
• Many (most ?) IoT devices will only exchange a few informations every now and then
Sigfox Basics
• A radio communication protocol, dedicated to the IoT
• A global operated network
• Low Power Wide Area
• Main focus : energy efficiency
Sigfox Basics
• Indoor & outdoor use
• Two-way communication. From & to the device
• Up to 140 messages per day
• Compliant with ETSI & FCC regulations
Out-of-the-box
• No configuration needed
• No pairing
• No ever-changing hub credentials to set
Energy efficiency
• ~25mA in emission, during a few seconds
• No registration on the network, no negotiation : power on, send, power off is the default behaviour
• 99% of the time, so-called connected objects are not connected !
• Idle consumption : a few µA
Low bandwidth
• Emission rates
• Europe: 25mW / 100 bits/s
• US : 100mW / 600 bits/s
• 12 bytes / message
12 bytes !?
12 bytes is
• 12 ASCII characters
• Hello World barely fits
Forget bad habitudes
• Bandwidth is not that free
• No overhead needed
• No need to be human eye friendly
Meaningful bits only
• No overhead or descriptions
• No oversize data types, tailor to your needs
• Don’t use a 2-byte integer when range of possible values fits in 8 or 12 bits
• Beware of longs, floats, ..
Do you really need the value ?
• Delta maybe enough
• Scenario from a pre established list
GPS example
St John’s Church, Hoxton
• Latitude: 51° 31’ 48,4608 N
• Longitude: 0° 5’ 8,6424 W
XML<?xml version="1.0"?> <position> <latitude>
<degrees>51</degrees> <minutes>31</minutes> <seconds>48,4608</seconds> <hemisphere>North</hemisphere>
</latitude> <longitude> <degrees>0</degrees> <minutes>5</minutes> <seconds>8,6424</seconds> <hemisphere>West</hemisphere> </longitude> </position>
XML, honestly
<?xml version="1.0"?> <pos> <lat>51°31’48,4608N</lat> <lng>0°5’8,4624W</lng> </pos>
Still 94 bytes
JSON + schema.org
{
"latitude":"51°31’48,4608N",
"longitude": "0°5’8,4624W"
}
70 bytes
JSON{ "lat":"51°31’48,4608N", "lng": "0°5’8,4624W" }
59 bytes, better
{
"lat":51.5301278,
"lng": -0.0857343
}
43 bytes !
Down to binary
• North/South : 1 bit
• East/West : 1 bit
• Latitude: 21 bits
• Longitude: 24 bits
Shenanigans ?
• True range of possible values ?
• Clever algorithms (available online ;))
What is it good for ?
Absolutely everything ?
• NO
• Independent devices
• Not that talkative
Independant ?
• Battery-operated
• Direct internet connection
• No maintenance
Sexy Kickstarter Projects
Boring IoT
Useful
Current use cases
• Existing solutions in various sectors
• Metering & Utilities
• Security
• Tracking
• Agriculture
• Public services
Water metering Fire hydrants
Public equipment
Call to action
• A button & nothing else, to trigger any pre-determined action
• « Mommy, I’m home ! »
• « Get me a cab »
• Repeat last order, concierge, customer support…
Agriculture
• Environment monitoring: soil moisture, temperature, sun exposure, ..
• Herd geolocalisation
• Livestock health monitoring
DIY Projects
• Recent projects
• Connected wine cellar
• Cat bowl scale
• Garden hydrometry
• …
When, where & how ?
When
NOW
Where - Europe• Live Nationwide coverage
• France, Netherlands, Spain
• UK: ~10 cities currently
• Rollout in progress
• Belgium, Czech Rep, Denmark, Luxembourg, Portugal
• A couple of nice announcements to be made in the coming weeks :)
Where - US• Live coverage
• San Francisco
• New York
• Late 2015/Early 2016
• Atlanta
• Chicago
• Los Angeles
• Austin - Dallas - Houston
Where - spot coverages• Various cities covered in Europe, Asia & Latin America
• Bogota
• Dublin
• Milan
• Munich
• Santiago
• Seoul
• Warsaw
How
• SIGFOX is not a silicon vendor
• Standard transceivers & SoC from various enablers : Atmel, SiLabs, Texas Instruments, Axsem, Atim..
• Certified modules (radio + µC) from Telecom Design, Telit, Adeunis
Dev Kits
• Dev kits available for Arduino, Raspberry Pi
• Compatible with any platform able to use a serial communication
Send a message
• Modules are controlled through AT commands
• Send frame : AT$SF=[hex byte][hex byte][hex byte]..
• That’s it !
Example
• I need to send the following
• A: a 2 byte-integer : 16 bits
• B: a 0-32 value : 6 bits
• C: a state, within 4 possibilities : 2 bits
Example• My values
• A: 17568 —> 0100010010100000
• B: 17 —> 010001
• C : state #3 —> 10
• Frame : 01000100 10100000 01000110
• AT$SF=44 A0 46
Data handling
• Yours
• 3 ways to access them
• Web interface
• REST API (pull)
• HTTPS Callbacks (push)
Quick Demo
« It worked perfectly an hour ago »
Quick Demo
RFID demo live server is here :
http://bit.ly/ota-rfid-demo
(+ links to source code)
Try by yourself ?
• We just launched a « Maker Tour », half-day events around our technology.
• Get to know how to use SIGFOX, get a dev kit, start prototyping, and come home with new hardware & new projects ideas :)
• Details & registration : makers.sigfox.com/tour
Nicolas Lesconnec Developer & Maker Evangelist
http://makers.sigfox.com Twitter: @nlesconnec
Github: @nicolsc