Skip to content

future-proof-iot/Femto-Container_tutorials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Femto-Containers

Femto-Containers are small containers hosting a virtual machine based on the Linux eBPF architecture, running on microcontroller-type devices. This makes it a suitable tool for secure DevOps workflows with small applications deployed on low-power IoT devices. Check out this paper for a description of Femto-Containers in details. If you want to cite this work, please cite it as such:

K. Zandberg, E. Baccelli, S. Yuan, F. Besson, JP Talpin. Femto-Containers: Lightweight Virtualization and Fault Isolation For Small Software Functions on Low-Power IoT Microcontrollers. In Proc. of 23rd ACM/IFIP MIDDLEWARE, Nov. 2022.

Open Source Implementation

This repository is an open source implementation which hosts femto-containers on the operating system RIOT. To start browsing through femto-containers source code, a good entry point is here.

Preliminary Setup & Downloads

Before you try the femto-container tutorials, you need to set up your system. For this, please complete the steps listed in the setup guide.

Hands-on Tutorials

A number of tutorials are available below to get familiar with the Femto-Container implementation in RIOT.

  • Tutorial 1 -- get started hosting Femto-Container applications on RIOT.

  • Tutorial 2 -- engage into more complex behaviour, learn how to pass context/return variables to/from the container.

  • Tutorial 3 -- use a femto-container to read sensor data and advertize it as a Bluetooth Low-Energy (BLE) service.

  • Tutorial 4 -- secure low-power DevOps-style interaction using Femto-container updates over the network, with SUIT-compliant security. (Tutorial currently based on an a separate artefact published at ACM Middleware 2022).

About

Femto-Containers RIOT Implementation & Hands-on Tutorials

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published