Code Monkey home page Code Monkey logo

iot-lab's Introduction

IoT-LAB Main Repository

This repository contains common IoT-LAB resources, such as experiments management tools, deployment tools, dev. env. setup.

Overall documentation is available at https://github.com/iot-lab/iot-lab/wiki

To perform the initial setup of your development environment, run make.

iot-lab's People

Contributors

aabadie avatar cladmi avatar duront avatar fsaintma avatar pissard avatar schrein avatar vandaele avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iot-lab's Issues

Technical doc. redaction

Write a technical doc. with ( @pissard ):

  • state of the art
  • hardware description
  • software description
  • experiment use case
    • radio characterizaton
    • tiles example
    • contiki/coap

Deploy A8 nodes on prod

  • deploy GRE a8 on prod (228 nodes)
  • deploy ROC a8 on prod (175 nodes) => now requires migration of the whole ROC platform to prod
  • deploy STRAS a8 on prod (14 nodes)

get_failed_logs.sh should exit in error after XX unsuccessful retries

get_failed_logs.sh currently loops endlessly when fetching logs from gateways.

Looping is required because ssh requests are sent to the front-end in parallel, in batches of 10, and some requests can fail, most likely because of load control on the ssh server.

This is normally not a problem in a nominal case where gateways are sane and do eventually serve requests. However, in a degraded case, some gateways may never reply, and cause get_failed_logs.sh to loop endlessly.

Infrastructure taking in account breakable nodes

  • integrate FTDI failure detector in oar "suspected node" periodic check (currently only does ping)
  • integrate ssh check in start-experiment logic (for a8 nodes)
  • decide how to handle broken nodes (exclude, report broken, manual reboot, ...)

Create iot-lab contiki tutorial 1

  • define scope of tutorial (keep it simple: just sensors ? a bit of radio ?)
  • create or re-use basic firmware code (sensors-collecting ? ipv4 rime contiki sample ?)
  • create tutorial document in www.iot-lab.info
  • validate & publish tutorial

Qualify Grenoble M3 on Test Platform

Script to test FTDI bugs ( @fambon )

  • run with printf on open node (DONE)
  • find robust nodes = find the identity and number of robust nodes (DONE)
  • try a physical intervention on ten breakable nodes (DONE)

Related issue (FTDI bug): #13.

Implement uid for ARM cortex M3

  • investigate what needs to be done to create UIDs for M3 nodes
  • check minimum requirements for effectively unique IDs
  • implement basic UID "lib" for firmwares to use
  • register UID / node ID association in OAR

Tutorial IoT-LAB DevExp Bordeaux

  • présentation 30 mns : iot intro, platform presentation, use-cases
  • tutorial 1h30 :
    • platform use : nodes reservation, programmation, expe and monitoring
    • work on experimention under Contiki using iot standars : 6LoWPAN and CoAP

2 ou 3 iot-lab engineers

Bug FTDI

For some M3 and A8 nodes, we loose the uart connection. The FTDI component connecting the node looses the USB connection.

We are in contact with HikoB to correct the bug. In the meantime, we have defined a work-around using the deployment.

Tweak IPV6 on contiki to enable compression

  • investigate sicslowpan requirements (addresses, configuration settings, code mods)
  • decide addressing scheme (logical, using flash-stored info, or physical, using uuid)
  • update contiki platforms init code
  • update idle-firmware (if using flash-stored addressing scheme)
  • provide documentation and example

Organisation github IoT-LAB

Fusionner tout le code dans un seul répertoire (comme pour wsn430) serait extrêmement compliqué (différents systèmes de build, suivi des versions,...) et peu dans l'esprit 'clone/fork' de git/git-hub.

En tenant compte de l'existant, on propose de diviser iot-lab en plusieurs projets git-hub hébergés sous github.com/iot-lab/

  • openlab (le fork https://github.com/hikob/openlab) qui deviendra le 'master' openlab cogéré avec hikoB.

    Il contient le source pour les noeuds M3 (et d'autres noeuds distribués par HikoB) : driver, et Free-RTOS avec des libs utilitaires et de comm.

  • wsn430. qui contient le source actuel pour les noeuds WSN430

  • contiki : (le fork https://github.com/hikob/contiki-os) qui deviendra le 'master' openlab cogéré avec hikoB.

    c'est un contiki 2.7 avec la plateforme M3.
    NB: pour la compilation, il est nécessaire de pointer sur openlab

  • riot (https://github.com/RIOT-OS/RIOT)

  • iot-lab : 1 projet 'chapeau' qui sera un point d'entrée pour installer le projet iot-lab complet constitué des différents projets git-hub.

    il contiendra le wiki de la 'doc détaillée', des outils de scripts nécessaires, des utilitaires indépendants des archi/os,...
    pour ce regroupement, nous n'avons pas encore choisi les 3 solutions qui s'offrent à nous : sub-modules, sub-tree, simplement script shell.

NB: Pour rester cohérent avec une vision OS ou OS enrichi (cas openlab = freertos+driver+lib), on sortirait à terme de wsn430: tiny-os (en faire un projet git-hub à part entière) et contiki (en l'intégrant dans le contiki existant avec une branche WSN430 tant que l'on n'a pas migré en 2.7 la version wsn...).

On en discute au sprint mais je suis preneur d'ici là de toutes les remarques ou propositions...

A+
Roger

Launch M3 platform in prod.

  • decide which M3 sites will go live => Grenoble only
  • decide which M3 nodes will go live => never dead nodes (~200)
  • decide when M3 nodes are included in production => 5-7 may => 15 may
  • communicate on date and extent => send out mail on 21st april => mail+news published 13-14 may.
  • switch selected nodes to prod => (plan for tasks: web, network, oar, security on gw) => #52

Sanity check max admissible parameters for profiles

Profiles parameters, e.g. sampling frequency, number of measured values, averaging window, if not set with care, can potentially cause an overflow of the platform. The overflow can happen at gw level, network level, or at disk space level.

To address the issue:

  • select use-cases
  • check which values are reasonable
  • implement sanity checks in GUI

firmware extension check

Delete file extension check (elf|hex|ihex)
Add Rest method for firmware validation (isElf, isHex)
Add this firmware validation in webportal when user upload it

Qualify Rocquencourt A8 nodes on Test Platform

  • publish test script adapted for A8 nodes in iot-lab github => run_all.sh
  • run tests on a8 nodes => needs platform update & re-run => running 5 rounds
  • identify "robust" a8 nodes => updated u-boot and re-tested

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.