During the first day, we will run a number of tutorials, allowing people to get up to date.

More details of these tutorials will be added here soon.

T1: Combining blockchains and IoT

Do you want to control your IoT devices from smart contracts? Come to this tutorial to learn about how and when blockchains can be used (and sometimes not) with IoT, and what kind of requirements and limitations using blockchains sets to the IoT devices.

In this tutorial, we describe several different use cases of IoT and blockchains, briefly covering their pros and cons. In the end, we walk through a hands-on approach of using a Raspberry Pi to publish temperature sensor information in Ethereum and using the temperature events to trigger a LED on and off. You will be able to deploy this new knowledge immediately in your IoThon project.

The tutorial material is available in Github.

T2: RIOT OS hands-on basics

Do you want to easily program and connect constrained devices? Then you need a modern operating system for the Internet of Things.

In this tutorial, we present RIOT, the friendly open source operating system for the IoT. If you cannot run Linux on your device, you should run RIOT. RIOT provides a standard compliant networking stack (e.g., 6LoWPAN, IPv6, RPL, UDP, CoAP), hardware abstraction, and standard programming (C/C++). RIOT enables maximum energy-efficiency, real-time capabilities, and multi-threading. After this tutorial, you will be able to deploy your cool IoT app to implement interconnected IoT scenarios. For more details about RIOT see http://riot-os.org/.

T3: Deploying IoT in real world

Today, most IoT demos use wireless communications, simply because installing wires is tedious. However, even for a simple sensor, a typical battery would last at most for a few years, while a real IoT installation may need to work for several decades basically unattended. Especially if it is a part of a permanent electrical installation.

In this tutorial, we will outline the complete set of aspects for IoT deployments from the real world point of view, including things such as physical installation, powering, reliablity, upgrades, and security. We will briefly cover the various components in a typical installation, including embedded low cost hardware and software as well as typical site-specific and in-the-cloud compotents. We start from a service design point of view, looking at how a real-life IoT system should be designed, starting from the first principles. 

You don't need to technical at all to attend this tutorial. We will open technical details when needed. Alternatively, if you happen to be an expert in some area (e.g. embedded) but don't feel confident about the other areas, in this tutorial you may learn how the various aspects of IoT are related to each other.

T4: ICN in IoT world

Do you want to extend your embedded and blockchain skills and add a specifically IoT-friendly network to your design? Come to this tutorial on Information-Centric Networking (ICN) and discover how naturally one can map blockchain data structures to ICN and how elegantly all IoT network hassles, like IP addresses, simply disappear.

We give you a rapid introduction to a) the core ICN concepts, such as cryptographically secured name-content binding, b) techniques to map large objects to network blocks using so called manifests, and c) named functions that permit you to blend networking and cloud processing to the benefit of resource-constrained IoT devices. After this tutorial you will be able to layer your hacks directly on top of a Python library that shields you from the nitty-gritty low-level details of networking.

The tutorial slides are available here.