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.
- Clone this repository:
git clone https://github.com/aabadie/riot-course
- Clone the repository containing the source code of the exercises
git clone https://github.com/aabadie/riot-course-exercises
- 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 Getting started section.
-
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