Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of...

22
Bachelor Project RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik HAW Hamburg

Transcript of Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of...

Page 1: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

Bachelor Project –RIOT in the Internet of Things

Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt

iNET AG, Dept. Informatik

HAW Hamburg

Page 2: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

TODAY

(1) RIOT Introduction

(2) Setup Work Environment

(3) Project Introduction

(4) Recent and future RIOT Projects

(5) RIOT Tutorial

Page 3: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

www.riot-os.org 3

AGENDA

• Internet of Things: Which OS?

• RIOT in a nutshell

• RIOT user and developer evolution

• Roadmap

Page 4: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

www.riot-os.org 4

The Internet of Things (IoT)

1-2 GB

> 4GB

~ 2 GB

16 KB

96 KB8 KB

> 4GB

512 MB

IoT = programmable world

Page 5: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

5

IoT: The operating system question

IoT = programmable world

www.riot-os.org

Page 6: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

www.riot-os.org 6

RIOT: The friendly IoT operating system

IoT = programmable world

Page 7: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

www.riot-os.org 7

AGENDA

• Internet of Things: Which OS?

• RIOT in a nutshell

• RIOT user and developer evolution

• Roadmap

Page 8: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

8

"If your IoT device cannot run Linux, then run RIOT!"

• RIOT requires only a few kB of RAM/ROM, and small CPU

• With RIOT, code once & run heterogeneous IoT hardware

– 8bit hardware (e.g. AVR)

– 16bit hardware (e.g. MSP430)

– 32bit hardware (e.g. ARM Cortex-M)

RIOT: Positioning

Page 9: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

www.riot-os.org9

RIOT: Fact sheet

• µ-kernel-like architecture(for robustness)

• Modular design (for adaptivity)

• Tickless scheduler (for energy efficiency)

• Deterministic O(1) scheduling (for real-time)

• Low latency interrupt handling (for reactivity)

• Preemptive multi-threading & powerful IPC

• Efficient hardware abstraction

• Full featured, extendable network-stacks

Page 10: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

www.riot-os.org 10

RIOT: IoT development made easy

• Open source, community-driven

• Write your code in ANSI-C or C++

• Compliant to the most widely used POSIXfeatures such as pthreads and sockets

• No IoT hardware needed for debugging– Run & debug RIOT as native process in Linux

Page 11: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

www.riot-os.org 11

RIOT: Built to connect

• RIOT supports several network stacks

• Open-access protocol specs by the IETF/IRTF

• e.g. 6LoWPAN, IPv6, CoAP

Page 12: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

12

RIOT already runs on a wide range of IoT hardware

www.riot-os.org

Support for > 70 boards, various CPUs, different architectures, radios, sensors, …

Page 13: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

Minimized Hardware-Dependent Code

Zoom on Board & CPU

Red: must have

Green: must have but shared by all ports with samearchitecture

Grey: optional for initial porting

Page 14: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

www.riot-os.org 16

AGENDA

• Internet of Things : Which OS?

• RIOT in a nutshell

• RIOT user and developer evolution

• Roadmap

Page 15: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

www.riot-os.org 17

RIOT Origins

History

• 2008 – Project roots:The kernel was startedas part of a research project

• 2010 – Towards the IoT:Implementation of 6LoWPAN and RPL was initiated

• 2013 – RIOT goes public:Branding of RIOT started, source code moved to Github

Founding institutions

Page 16: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

RIOT stats

194 contributors, 90 active in last 12 months

from industry, academia and makers scene-

Estimated cost: $8.5M, 154 person-years [1]

[1] source: www.openhub.net/p/RIOT-OS estimate using the basic COCOMO Model

Page 17: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

20

Join the RIOT

• World-wide, open source community

• ~ 730 forks on GitHubhttps://github.com/RIOT-OS/RIOT

• Hundreds on the developer mailing list: [email protected]

• Developers from Asia, Europe, North America, South America

• Support & discussions on IRC:irc.freenode.org #riot-os

www.riot-os.org

Page 18: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

Some Active Supporters

21

Page 19: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

Embedded World 2015, 2016, 2017

22

Page 20: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

www.riot-os.org 24

AGENDA

• Internet of Things: Which OS?

• RIOT in a nutshell

• RIOT user and developer evolution

• Roadmap

Page 21: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

26

Roadmap 2017

• Network stack developments

– Optimization, BLE support, new ICN features ...

– Application layer protocols (MQTT, Rest, …)

• Deployment tools

– Over-the-air application updates, over-the-air OS update...

• More development tools

– Advanced test-framework, including distributed testing

– Distributed application framework

• Cloud interface and integration

www.riot-os.org

Page 22: Bachelor Project RIOT in the Internet of Things · Bachelor Project – RIOT in the Internet of Things Cenk Gündogan, Peter Kietzmann, Thomas C. Schmidt iNET AG, Dept. Informatik

https://github.com/RIOT-OS/Tutorials