This project provides a learning course for RIOT, an operating system for constrained IoT devices, i.e. powered by microcontrollers.
The course is divided in 5 sections:
- Introduction contains generalities about the RIOT project
- Getting started contains the basics to start building and programming basic applications with RIOT
- RIOT basics contains information about the internal structure of the OS (source code organization, build system, kernel) but also gives information about the hardware abstraction layer, the drivers and packages
- Networking in RIOT provides basics on IoT protocols supported by RIOT (6LowPAN/IPv6, LoRa) and lists the network stacks provided by the OS
- LoRaWAN with RIOT gives an overview of the LoRaWAN protocol and how to use it with RIOT
- Security with RIOT gives an overview of the IoT security requirements and tools to address those
The full course is designed for 2 full days of work by mixing lectures and exercises to put in practice the exposed notions.
Only a web browser with an internet connection is needed:
- The slides of each section can be followed online, directly from GitHub
- All exercises are using Jupyterlab Notebooks hosted on https://labs.iot-lab.info. All you need is an IoT-LAB account. The source code of the Jupyter Notebooks is available at https://github.com/iot-lab/iot-lab-training.
We highly recommend you to use a laptop or a workstation to follow the tutorial. Small screens, e.g on smartphones, are not well supported and make user experience with Jupyter Notebooks harder.
The boards used during the exercises are all hosted on the IoT-LAB testbed:
-
The IoT-LAB M3 boards for exercises from the RIOT basics and Networking in RIOT sections,
-
ST boards for applications requiring LoRa radio: the B-L072Z-LRWAN1 with the X-NUCLEO-IKS01A2 extension board.
This course together with the exercices can be used for shorter and more oriented tutorials. Here is a list of existing tutorials:
- RIOT Summit - Beginner Tutorial on LoRaWAN
- RIOT Summit - Beginner Tutorial on Security
- RIOT Summit - Beginner Tutorial on Networking
- Inria Academy Master Class - Inria Chile
All course material (slides) is licensed under the Creative commons license CC-BY-ND