Giter Club home page Giter Club logo

iot-lab-training's Introduction

Welcome to the IoT-LAB training resources

Description

This repository contains the Jupyter Notebooks available at https://labs.iot-lab.info and used ad training resources to easily start using the IoT-LAB testbed.

Getting started

We recommend that you follow the start.ipynb notebook to learn how to use Jupyter Notebooks.

  • Notebooks in riot will let you discover the RIOT operating system:
    • riot/basics contains exercises on basics features of RIOT
    • riot/networking contains networking exercises (802.15.4, IPv6, UDP, CoAP and LwM2M)
    • riot/lorawan contains exercises on LoRaWAN LPWAN networks
    • riot/security contains exercises on security aspects for IoT (hash, crypto, DTLS and OTA)
  • Notebooks in contiki-ng contains exercises to discover the Contiki-NG operating system
  • Notebooks in testbed shows advanced features of the IoT-LAB testbed:
    • for measuring power consumption on IoT-LAB M3 devices
    • for sniffing radio paquets between IoT-LAB M3 devices

Contribute

  1. Clone this repository:
$ git clone --recursive https://github.com/iot-lab/iot-lab-training
  1. Start a local Jupyterlab server using Docker (only tested on Linux and OSX)
$ cd iot-lab-training
$ IOTLAB_LOGIN=<login> make run-docker
  1. Connect to JupyterLab at http://localhost:8888/?token=iotlab

You can then edit the notebooks in your browser. Make sure to clear all the outputs before commiting your changes.

License

All content - notebooks and code snippets - is licensed under the Creative commons license CC-BY-ND

CC-BY-ND

iot-lab-training's People

Contributors

aabadie avatar fjmolinas avatar fsaintma avatar pasansamara96 avatar vandaele avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iot-lab-training's Issues

plot of energy consumption

Hello
I am working on study of the energy consumption of the M3 nodes.
the plot of energy consumption generated graphs of this kind.
consumption power

on which I do not understand the fall of the curve at the level of the second 3150
How can we explain this variation ?
thanks in advance

how to implement a profile of energy consumption monitoring of nodes on fit iot lab

Hi everyone
I want to test the AES message encryption mechanism on M3 and ST-Lorawamn nodes and collect information about the energy consumption of the nodes during the encryption phase and the computing time
the problem I found is that the experiment on fit iot lab can't be launched using a power consumption monitoring profile without the tutorial-M3.elf firmware
im getting the following message error
rbah@grenoble:~/iot-lab/parts/contiki/examples/ipv6/rpl-udp$ plot_oml_consum -p -i /.iot-lab/255409/consumption/m3_103.oml
/usr/local/lib/python3.7/dist-packages/oml_plot_tools/common.py:144: ConversionWarning: Some errors were detected !
Line #2128 (got 5 columns instead of 8)
invalid_raise=False)
Traceback (most recent call last):
File "/usr/local/bin/plot_oml_consum", line 24, in
oml_plot_tools.consum.main()
File "/usr/local/lib/python3.7/dist-packages/oml_plot_tools/consum.py", line 157, in main
consumption_plot(data, opts.title, selection)
File "/usr/local/lib/python3.7/dist-packages/oml_plot_tools/consum.py", line 117, in consumption_plot
oml_plot(data, title, [MEASURES_D[value]])
File "/usr/local/lib/python3.7/dist-packages/oml_plot_tools/consum.py", line 139, in oml_plot
plt.figure()
File "/usr/local/lib/python3.7/dist-packages/matplotlib/pyplot.py", line 533, in figure
**kwargs)
File "/usr/local/lib/python3.7/dist-packages/matplotlib/backend_bases.py", line 161, in new_figure_manager
return cls.new_figure_manager_given_figure(num, fig)
File "/usr/local/lib/python3.7/dist-packages/matplotlib/backends/_backend_tk.py", line 1046, in new_figure_manager_given_figure
window = Tk.Tk(className="matplotlib")
File "/usr/lib/python3.7/tkinter/init.py", line 2023, in init
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
rbah@grenoble:
/iot-lab/parts/contiki/examples/ipv6/rpl-udp$
SVP CAN U HELP ME

security/ota: errors at compile for iotlab-m3

I'm having issues with the riot/security/ota notebook, in jupyter I get the following:

!make ETHOS_BAUDRATE=500000 IOTLAB_NODE=auto-ssh riotboot/flash-combined-slot0

make[1]: Nothing to be done for 'prepare'.
/home/jovyan/work/training/riot/RIOT/bootloaders/riotboot/../..//Makefile.include:583: *** FLASHFILE is not defined for this board: .  Stop.
make: *** [/home/jovyan/work/training/riot/RIOT/makefiles/boot/riotboot.mk:80: riotboot/bootloader/binfile] Error 2

And then if I open a terminal and try to manually compile that application I get:

BOARD=iotlab-m3 make -C examples/suit_update/
make: Entering directory '/home/jovyan/work/training/riot/RIOT/examples/suit_update'
Building application "suit_update" for "iotlab-m3" with MCU "stm32".

make[1]: Nothing to be done for 'prepare'.
"make" -C /home/jovyan/work/training/riot/RIOT/pkg/c25519
"make" -C /home/jovyan/work/training/riot/RIOT/build/pkg/c25519/src -f /home/jovyan/work/training/riot/RIOT/Makefile.base MODULE=c25519
"make" -C /home/jovyan/work/training/riot/RIOT/pkg/libcose
...
...
/home/jovyan/work/training/riot/RIOT/bootloaders/riotboot/bin/iotlab-m3/periph_common/pm.o: In function `__get_PRIMASK':
/home/jovyan/work/training/riot/RIOT/cpu/cortexm_common/include/vendor/cmsis_gcc.h:386: multiple definition of `pm_off'
/home/jovyan/work/training/riot/RIOT/bootloaders/riotboot/bin/iotlab-m3/periph/pm.o:/home/jovyan/work/training/riot/RIOT/cpu/cortexm_common/include/vendor/cmsis_gcc.h:386: first defined here
collect2: error: ld returned 1 exit status
make: *** [/home/jovyan/work/training/riot/RIOT/bootloaders/riotboot/../..//Makefile.include:634: /home/jovyan/work/training/riot/RIOT/bootloaders/riotboot/bin/iotlab-m3/riotboot.elf] Error 1
make: *** [/home/jovyan/work/training/riot/RIOT/makefiles/boot/riotboot.mk:80: riotboot/bootloader/binfile] Error 2
make: Leaving directory '/home/jovyan/work/training/riot/RIOT/examples/suit_update'

Both issues I do not get when compiling locally on a local copy of this repository, is there some additional background settings in jupyter that could explain this? Thanks.

Spelling issue in exercise code

In the riot threading concurrency exercise the example code to add a buffer/mutex starts with:
ypedef struct {
Should probably be
typedef struct {

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.