This project provides a learning course for RIOT, an operating system for constrained IoT devices, i.e. powered by microcontrollers.
The course is split in 5 sections:
- Introduction contains generalities about the RIOT project
- Getting started contains the basics to start building and programming basics 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 list the network stacks provided by the OS
- LoRaWAN with RIOT gives an overview of the LoRaWAN protocol and how to use it with RIOT
The full course is designed for 2 full days of work and programming exercises are also provided to illustrate the exposed notions.
This course and the associated exercices can be used for shorter and more oriented tutorials. Here is the list of exiting tutorials:
- Clone this repository:
git clone --recursive https://github.com/aabadie/riot-course
- Open the html files in
slides/<section>
directories in a web browser
For RIOT applications developped during the practical exercises, you will need:
-
A Linux operating system with all build tools installed or VirtualBox with a Linux VM running (preferably Ubuntu). Setup details are given in the prerequisites slides.
-
An ST board for applications running on hardware: exercises are using the B-L072Z-LRWAN1 with the X-NUCLEO-IKS01A2 extension board.
-
A Microchip SAMR21 Xplained Pro evaluation board.
The use of the hardware boards is optional since the related manipulations can be done with an account on IoT-LAB.
This course is licensed under the Creative commons license CC-BY-ND