SoSe 14: Softwareprojekt Telematik
Emmanuel Baccelli
Hinweise für Studierende
In this course you will be expected to write code. The outcome of your software project should be a concrete contribution to the RIOT code base, and take the shape of one or more pull request(s) to the RIOT github (https://github.com/RIOT-OS/RIOT). Before you start coding, refer to the starting guide
https://github.com/RIOT-OS/RIOT/wiki#wiki-start-the-riot SchließenKommentar
Programming the Internet of Things with RIOT
In this course, students will get an introduction to distributed embedded systems programming, focusing on the RIOT operating system (http://www.riot-os.org), running on their choice of hardware platform -- see for instance https://github.com/RIOT-OS/RIOT/wiki/RIOT-Platforms. For students that do not possess appropriate hardware, they will be offered the possibility to work directly on their Linux machine via the native port of RIOT, and the possibility to use hardware on one of the open testbeds supported by RIOT, such as the DES testbed (http://www.des-testbed.net). Participants will learn how to use embedded software development environments and how to take advantage of the hardware's capabilities including wireless data communication, while always keeping an eye on energy consumption, memory and CPU usage.
After an introductory crash-course on RIOT, students will be provided with a selection of software projects in this context. Typically groups of 2 or 3 students tackle one such project. Proposed projects will fall into three main categories.
System Projects:
This type of project tackles low level system development. Proposed projects in this category may include for example:
- porting of RIOT to a new hardware platform (e.g. ARM Cortex A9)
- evaluation of concepts for 8bit MCU support for RIOT)
- dynamic linking support for RIOT)
- evaluation of concepts for automatic software update for RIOT)
- design and implementation of a driver model )
- advanced simulation environment (ns-3) support for RIOT)
- energy profiling in IoT scenarios)
- ... final list to be be determined. Students may also propose their own subject, subject to validation.)
Network Stack Projects:
This type of project tackles network protocols development. Proposed projects in this category may include for example:
- implementation and evaluation of P2P-RPL (RFC6997)
- implementation and evaluation of a scalable link bidirectionality check for RPL, using an approach based on Bloom filters
- implementation and evaluation of a network coding approach for data dissemination in sensor networks
- comparison of routing protocols for IoT scenarios (RPL, AODVv2, OLSRv2, MMR)
- development and evaluation of scheduling strategies for 6LoWPAN operation over Time-slotted Channel Hopping (6TiSCH) and 802.15.4e
- ... final list to be be determined. Students may also propose their own subject, subject to validation.
Application/Use Cases Projects:
This type of project tackles application development on top of the APIs provided by RIOT. Proposed projects in this category may include for example:
- eLua support for RIOT
- Go support for RIOT
- your dream IoT application
- ... final list to be be determined. Students may also propose their own subject, subject to validation.
Literaturhinweise
- A. S. Tanenbaum, Modern Operating Systems, 3rd ed. Upper Saddle River, NJ, USA: Prentice Hall Press, 2007.
- Shelby, Zach, and Carsten Bormann. 6LoWPAN: The wireless embedded Internet. Vol. 43. Wiley. com, 2011.
- A. Dunkels, B. Gronvall, and T. Voigt, "Contiki - a lightweight and flexible operating system for tiny networked sensors." in LCN. IEEE Computer Society, 2004, pp. 455-462.
- P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, and D. Culler, "TinyOS: An Operating System for Sensor Networks," in Ambient Intelligence, W. Weber, J. M. Rabaey, and E. Aarts, Eds. Berlin/Heidelberg: Springer-Verlag, 2005, ch. 7, pp. 115-148.
- Oliver Hahm, Emmanuel Baccelli, Mesut Günes, Matthias Wählisch, Thomas C. Schmidt, "RIOT OS: Towards an OS for the Internet of Things," in Proceedings of the 32nd IEEE International Conference on Computer Communications (INFOCOM), Poster Session, April 2013.
- M.R. Palattella, N. Accettura, X. Vilajosana, T. Watteyne, L.A. Grieco, G. Boggia and M. Dohler, "Standardized Protocol Stack For The Internet Of (Important) Things", IEEE Communications Surveys and Tutorials, December 2012.
- J. Wiegelmann, Softwareentwicklung in C für Mikroprozessoren und Mikrocontroller, Hüthig, 2009
14 Termine
Regelmäßige Termine der Lehrveranstaltung
Programming the Internet of Things with RIOT
In this course, students will get an introduction to distributed embedded systems programming, focusing on the RIOT operating system ... Lesen Sie weiter