www.riot-os.org
Emmanuel Baccelli
on behalf of the RIOT Community
RIOT	Agenda
• Why?
• How?
• What is RIOT?
• Solving IoT technicalchallenge	1:	constraineddevices
• Solving IoT technicalch...
RIOT	Agenda
• Why?
• How?
• What is RIOT?
• Solving IoT technicalchallenge	1:	constraineddevices
• Solving IoT technicalch...
Software	Platforms Are	Crucial
• Recent calls	for	OS	and	data	’’sovereignty’’
Snowden political scandal
à strategic	&	priv...
Advantage: extremely big business
Drawback:	extreme challenge	for	privacy
Software	platforms	are
even	more	crucial	in	IoT
...
e.g.	like Arduino
(but	not	like
Rasberry Pi)
• Great	expectations	for	IoT,	but…
…no	standard	platform yet,	to	program	most...
Goals	for	an	IoT software	platform
ü long-term IoT software	robustness &	security
ü trust,	transparency &	protection	of	Io...
RIOT	Agenda
• Why?
• How?
• What is RIOT?
• Solving IoT technicalchallenge	1:	constraineddevices
• Solving IoT technicalch...
How	can we achieve our goals?
• Experience (e.g.	with Linux)	shows	we are	
likely to	succeed with a	platform that is:
§ op...
• Contributors worldwide
– People	from industry,	academia,	hobbyists/makers
– Community self-organizes,	follows open	proce...
RIOT		Principles
• Free	&	open	source	software	platform
– core distributed with non-viral	copyleft license
(aims	for	less	...
RIOT	Agenda
• Why?
• How?
• What is RIOT?
• Solving IoT technicalchallenge	1:	constraineddevices
• Solving IoT technicalch...
RIOT : an	OS	that fits IoT devices
IoT
Memory	~	16kB
Memory	~	100kB
Memory	~	8kB
RIOT	:	an	OS	that fits IoT devices
• RIOT	is the	combination of:
q needed memory	&	energy efficiency to	fit	IoT devices
q ...
• Why?
• How?
• What is RIOT?
• Solving IoT technicalchallenge	1:	constraineddevices
• Solving IoT technicalchallenge	2:	i...
IoT Challenge	1:	Constrained	Devices
ENERGY
Milliwatt instead	of	Watt
CPU
Megahertz	instead	of	Gigahertz
Memory
Kilobytes	...
How	RIOT solves Challenge	1
• Micro-kernel architecture	(contrary to	Linux)
à minimal	requirements around 1kB	RAM
• Tickle...
How	RIOT	solves Challenge	1
• Consistent,	powerful API	on	8-bit,	16-bit,	32-bit
à preemptive multithreading,	IPC…
• Modula...
Zoom	on	hardware-dependent code
Red:	must	have
Green:	must	have	
but	shared by	all	
ports	with same
architecture
Grey:	opt...
Well-known tools are	usable!
• Compliance	with common system	standards
ü POSIX	sockets,	pthreads
ü standard C,	C++	applica...
• Why?
• How?
• What is RIOT?
• Solving IoT technicalchallenge	1:	constraineddevices
• Solving IoT technicalchallenge	2:	i...
IoT Challenge	2:	Interoperability
• System-levelinteroperability
– Hardware-independentIoT software
– Usability of	third-p...
IoT Interoperability Challenge:
The	IoT today looks	mostly like this
IoT Interoperability Challenge:	
The	IoT we want looks	more	like that
The	IoT we want is…	the	Internet!
Internet	Interoperability:	
Based on	Open	Standards
BLE
OSPF
LoRa
DHCP
SLAACOLSR
Internet	Interoperability:	
Accelerated with Open	Source
Usual solutions	for	Interoperability:
Challenged by	IoT…
…	because of	resource constrains on	IoT devices
§ Memory,	CPU,	en...
Standard	IoT protocols? On	the	way!
Work in	progress at	IETF,	IEEE,	W3C,	OMA…
Radio Transmission
COAP
RPL
6LoWPAN
ICMP
UDP...
à Network	stack ultra-flexibility and	modularity
How	RIOT	solves Challenge	2
Traditionalstack RIOT	stack (GNRC)
How	RIOT	solves Challenge	2
ü 6LoWPAN	stack,	supporting IoT wireless tech.
ü Standard	IPv6	stack
ü BSD-like ports	for	thir...
RIOT	Agenda
• Why?
• How?
• What is RIOT?
• Solving IoT technicalchallenge	1:	constraineddevices
• Solving IoT technicalch...
RIOT	in	a	nutshell
Peripherals (including network interfaces)
Lowpower MCU + radio or wired communications
Other network
s...
RIOT	can do	more,	so RIOT	can do	less
• Arduino scripts	can run as-is on	top	of	RIOT
• mbed applications	could run on	top	...
RIOT	Roots &	Evolution
• 2008 – 2012
Ancestors of	RIOT	kernel developed in	
research projects (FireKernel,	uKleos).
• 2013...
Some supporters/users
…	and	dozens	of	independent	developersaround	the	world!
ü bringing together RIOTers,	beginners &	experts
ü gathering people	interested in	the	IoT in	general
ü plenary talks,	hand...
Thanks	for your	interest!
News:	https://twitter.com/RIOT_OS
For	cooperation	questions:	riot@riot-os.org
For	developer	ques...
Prochain SlideShare
Chargement dans…5
×

RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)

791 vues

Publié le

IoT Meetup Athens, April 15th 2016

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
791
Sur SlideShare
0
Issues des intégrations
0
Intégrations
14
Actions
Partages
0
Téléchargements
50
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccelli, INRIA)

  1. 1. www.riot-os.org Emmanuel Baccelli on behalf of the RIOT Community
  2. 2. RIOT Agenda • Why? • How? • What is RIOT? • Solving IoT technicalchallenge 1: constraineddevices • Solving IoT technicalchallenge 2: interoperability • Current stand, in a nutshell
  3. 3. RIOT Agenda • Why? • How? • What is RIOT? • Solving IoT technicalchallenge 1: constraineddevices • Solving IoT technicalchallenge 2: interoperability • Current stand, in a nutshell
  4. 4. Software Platforms Are Crucial • Recent calls for OS and data ’’sovereignty’’ Snowden political scandal à strategic & privacy incentives Android generates billions of dollars à business incentives
  5. 5. Advantage: extremely big business Drawback: extreme challenge for privacy Software platforms are even more crucial in IoT IoT = Future Internet’s extremity
  6. 6. e.g. like Arduino (but not like Rasberry Pi) • Great expectations for IoT, but… …no standard platform yet, to program most IoT devices! Software Platforms for IoT? Linux Android Moore’s law
  7. 7. Goals for an IoT software platform ü long-term IoT software robustness & security ü trust, transparency & protection of IoT users’ privacy ü faster innovation by spreading IoT software dev. costs ü less garbage with less IoT device lock-down
  8. 8. RIOT Agenda • Why? • How? • What is RIOT? • Solving IoT technicalchallenge 1: constraineddevices • Solving IoT technicalchallenge 2: interoperability • Current stand, in a nutshell
  9. 9. How can we achieve our goals? • Experience (e.g. with Linux) shows we are likely to succeed with a platform that is: § open source § free § driven by a grassroots community
  10. 10. • Contributors worldwide – People from industry, academia, hobbyists/makers – Community self-organizes, follows open processes • Large-scale distributed source code management Geopolitical neutrality RIOT Principles
  11. 11. RIOT Principles • Free & open source software platform – core distributed with non-viral copyleft license (aims for less forks = more coherent code + community) Indirect business models (like business with Linux)
  12. 12. RIOT Agenda • Why? • How? • What is RIOT? • Solving IoT technicalchallenge 1: constraineddevices • Solving IoT technicalchallenge 2: interoperability • Current stand, in a nutshell
  13. 13. RIOT : an OS that fits IoT devices IoT Memory ~ 16kB Memory ~ 100kB Memory ~ 8kB
  14. 14. RIOT : an OS that fits IoT devices • RIOT is the combination of: q needed memory & energy efficiency to fit IoT devices q functionalitiesof a full-fledged operating system • Advanced, consistent APIs across 32-bit, 16-bit, 8-bit hardware • Full-featured, extensible network stacks
  15. 15. • Why? • How? • What is RIOT? • Solving IoT technicalchallenge 1: constraineddevices • Solving IoT technicalchallenge 2: interoperability • Current stand, in a nutshell RIOT Agenda
  16. 16. IoT Challenge 1: Constrained Devices ENERGY Milliwatt instead of Watt CPU Megahertz instead of Gigahertz Memory Kilobytes instead of Gigabytes
  17. 17. How RIOT solves Challenge 1 • Micro-kernel architecture (contrary to Linux) à minimal requirements around 1kB RAM • Tickless scheduler à energy efficiency • Deterministic O(1) scheduler à real-time • Low latency interrupt handler à reactivity
  18. 18. How RIOT solves Challenge 1 • Consistent, powerful API on 8-bit, 16-bit, 32-bit à preemptive multithreading, IPC… • Modular structure, adaptive to diverse hardware à support for 50+ different IoT boards/devices and counting MCUs: ARM Cortex M, TI MSP430, AVR… Radios: AT86RF233…
  19. 19. Zoom on hardware-dependent code Red: must have Green: must have but shared by all ports with same architecture Grey: optional for initial porting Task Switching, StackHandling, Interrupt Handling: done for ARM Cortex M3, M4 and M0 is on the way (GPIO, UART, SPI, Timers: done for STM, Atmel, NXP…) • Efficient HAL: minimized hardware-dependentcode How RIOT solves Challenge 1
  20. 20. Well-known tools are usable! • Compliance with common system standards ü POSIX sockets, pthreads ü standard C, C++ application coding à Much shorter development life-cycles ü Run & debug as native process in Linux ü Use of well known debug tools enabled
  21. 21. • Why? • How? • What is RIOT? • Solving IoT technicalchallenge 1: constraineddevices • Solving IoT technicalchallenge 2: interoperability • Current stand, in a nutshell RIOT Agenda
  22. 22. IoT Challenge 2: Interoperability • System-levelinteroperability – Hardware-independentIoT software – Usability of third-party, well-known tools • Network level interoperability – End-to-end connectivity per default – Device-to-device connectivity
  23. 23. IoT Interoperability Challenge: The IoT today looks mostly like this
  24. 24. IoT Interoperability Challenge: The IoT we want looks more like that
  25. 25. The IoT we want is… the Internet!
  26. 26. Internet Interoperability: Based on Open Standards BLE OSPF LoRa DHCP SLAACOLSR
  27. 27. Internet Interoperability: Accelerated with Open Source
  28. 28. Usual solutions for Interoperability: Challenged by IoT… … because of resource constrains on IoT devices § Memory, CPU, energy … because of low-power communication characteristics § Lossy / duty cycles § Super-small frames § Spontaneous wireless architecture à Adapted standard IoT protocols needed
  29. 29. Standard IoT protocols? On the way! Work in progress at IETF, IEEE, W3C, OMA… Radio Transmission COAP RPL 6LoWPAN ICMP UDP IEEE 802.15.4 MAC IPv6 New specs for link layer technologies – Low-power radios, PLC, BACnet – IEEE 802.15.4, Z-Wave, BLE, LoRa (and IEEE 802.11) – More to come… New specs for network layer protocols – FittingIoT requirements and interoperable with IP – 6TiSCH, 6LoWPAN, RPL, OLSRv2, AODVv2 – More to come… New specs for application layer protocols – FittingIoT requirements and interoperable with web – CoAP, LwM2M, CBOR – More to come… New network paradigms – Content-centricnetworking for IoT – More to come…
  30. 30. à Network stack ultra-flexibility and modularity How RIOT solves Challenge 2 Traditionalstack RIOT stack (GNRC)
  31. 31. How RIOT solves Challenge 2 ü 6LoWPAN stack, supporting IoT wireless tech. ü Standard IPv6 stack ü BSD-like ports for third-party modules/stacks: § OpenWSN, CCN-lite, Emb6, lwIP, tinyDTLS…
  32. 32. RIOT Agenda • Why? • How? • What is RIOT? • Solving IoT technicalchallenge 1: constraineddevices • Solving IoT technicalchallenge 2: interoperability • Current stand, in a nutshell
  33. 33. RIOT in a nutshell Peripherals (including network interfaces) Lowpower MCU + radio or wired communications Other network stacks Closed- & Open-source IoT Applications CoAP, LWM2M... RPL, UDP … IPv6, 6LoWPAN … Closed-Source DriversOpen-Source Drivers RIOT offers a platform functionally equivalent to Linux, based on: open-source, open-access protocol specs, community-driven dev. IETF Free, open-source plaftorm for portable IoT software Third-party software Hardware Micro Kernel
  34. 34. RIOT can do more, so RIOT can do less • Arduino scripts can run as-is on top of RIOT • mbed applications could run on top of RIOT • Contiki can run in a single RIOT thread
  35. 35. RIOT Roots & Evolution • 2008 – 2012 Ancestors of RIOT kernel developed in research projects (FireKernel, uKleos). • 2013 – 2016 Brandingof RIOT started, source code moved to Github, major developmentof the network stack & the OS as such. • Speed-evolution of the code-base. 110+ contributors. Founding institutions
  36. 36. Some supporters/users … and dozens of independent developersaround the world!
  37. 37. ü bringing together RIOTers, beginners & experts ü gathering people interested in the IoT in general ü plenary talks, hands-on tutorials & demos Call for contributions & sponsors http://summit.riot-os.org/category/calls/ http://summit.riot.org IETF In conjunction with IETF 96 in Berlin
  38. 38. Thanks for your interest! News: https://twitter.com/RIOT_OS For cooperation questions: riot@riot-os.org For developer questions: devel@riot-os.org Support & discussions on IRC: irc.freenode.org#riot-os

×