PM2M/2020/TP: Difference between revisions

From air
Jump to navigation Jump to search
Line 72: Line 72:


==Mini-Projet==
==Mini-Projet==
[[Image:M2MArchi2015-001.jpg|200px|right|thumb|Architecture Mini-Projet]]


Ce mini-projet consiste a mettre en place une infrastructure de collecte de données capteur. L'acquisition des mesures de capteurs distribués se fait sur une carte [[STM32 Nucleo]], sur une carte [[Intel Galileo]] ou sur un téléphone Android. Les technologies de comminucation sont : USB Serial, BLE, [[LoRa]], Ethernet, WiFi. Les données sont remontées dans des messages vers un serveur ([[Node-RED]]) via un "broker" [[PubSub]] ([[MQTT]] ([[Mosquitto]] ou [[RabbitMQ]]), [[Apache Kafka]], [[PubNub]], [[PubSubHubbub]], [[Socket.io]], [[WebRTC]] ...). Les formats des messages peuvent être [[JSON]] ([[GeoJSON]]), [[BSON]], [[CSV]], [[NMEA 0183]], binaire, [[XML]] ([[EEML]], [[KML]], [[Adaptive Machine Messaging Protocol (AMMP)|AMMP]] ...) ... Les données peuvent être stockées dans une base de données (SQL ou [[NoSQL]] comme [[MongoDB]], [[Redis.io]], [[InfluxDB]], ...) et visualisées en différé ou en direct ([[Grafana]], [[D3.js]], [[OpenHAB]] via le connecteur [[MQTT]], [[Bootleaf]] pour les données géolocalisées ...). Elles seront sécurisées à l'aide d'une blockchain privée [[Hyperledger]].
Ce mini-projet consiste a mettre en place une infrastructure de collecte de données capteur. L'acquisition des mesures de capteurs distribués se fait sur une carte [[STM32 Nucleo]], sur une carte [[Intel Galileo]] ou sur un téléphone Android. Les technologies de comminucation sont : USB Serial, BLE, [[LoRa]], Ethernet, WiFi. Les données sont remontées dans des messages vers un serveur ([[Node-RED]]) via un "broker" [[PubSub]] ([[MQTT]] ([[Mosquitto]] ou [[RabbitMQ]]), [[Apache Kafka]], [[PubNub]], [[PubSubHubbub]], [[Socket.io]], [[WebRTC]] ...). Les formats des messages peuvent être [[JSON]] ([[GeoJSON]]), [[BSON]], [[CSV]], [[NMEA 0183]], binaire, [[XML]] ([[EEML]], [[KML]], [[Adaptive Machine Messaging Protocol (AMMP)|AMMP]] ...) ... Les données peuvent être stockées dans une base de données (SQL ou [[NoSQL]] comme [[MongoDB]], [[Redis.io]], [[InfluxDB]], ...) et visualisées en différé ou en direct ([[Grafana]], [[D3.js]], [[OpenHAB]] via le connecteur [[MQTT]], [[Bootleaf]] pour les données géolocalisées ...). Elles seront sécurisées à l'aide d'une blockchain privée [[Hyperledger]].
Line 95: Line 94:
|}
|}

===Sujets (provisoire) des mini-projets===





Revision as of 14:58, 17 March 2020

Page 2020 des supports de cours et travaux pratiques de l'UE Projets M2PGI Services Machine-to-Machine et Internet-of-Things.

Enseignants 2020 : Didier Donsez

  • 18/02 de 13H30 a 16H45 (FabLab)
  • 03/03 de 13H30 a 16H45 (FabLab)
  • 10/03 de 13H30 a 16H45 (FabLab)
  • 17/03 de 13H30 a 16H45 (FabLab)
  • 24/03 de 13H30 a 16H45 (FabLab)

Rendu des 2 fiches de synthèse (individuelle) : 06/04 à minuit.

Soutenance du mi-projet durant la semaine d'examen le 07/04 de 15H00 à 18H00 (3H00).

Le mini-projet réalisé en séance a pour objectif la mise en place rapide et agile d'une infrastructure (matérielle et logicielle) de collecte de données capteur. Les mesures de capteurs distribués sont acquises par des dispositifs embarqués et sont remontés vers des serveurs de données hébergés dans un cluster sur un cloud public pour y être analysées (Big Data Analytics) et visualisées (dataviz) et sécurisé avec la blockchain Hyperledger Fabric.

IoT systems over years
IoT Reference Architecture
Sensors Mix


Support de cours

Planning

Etapes

Remarque TRES TRES importante: ne sauvegardez pas les crédentials des services cloud que vous utilisez (AWS, Digital Ocean, Heroku, Azure, IBM Bluemix, Twitter, OVH ...) dans des dépôts git publiques : placez les dans des documents credentials.json, credentials.properties, credentials.sh, ... et ajoutez les ces documents à .gitignore pour plus de sureté.

Fiches

Fiche "ACS" (Analyse de Cycle de Vie)

Rédigez en une page maximum les aspects "ACS" (Analyse de Cycle de Vie) de votre projet (en mettant l'accent sur la problématique de la transition écologique et en le positionnant par rapport aux 9 axes du SNTEDD). La page doit être un document Markdown dans votre dépôt Git public. Chaque fiche est individuelle.

Fiche "Privacy & Security"

Rédigez en une page maximum les aspects "Privacy & Security" de votre projet. La page doit être un document Markdown dans votre dépôt Git public. Chaque fiche est individuelle.

Mini-Projet

Ce mini-projet consiste a mettre en place une infrastructure de collecte de données capteur. L'acquisition des mesures de capteurs distribués se fait sur une carte STM32 Nucleo, sur une carte Intel Galileo ou sur un téléphone Android. Les technologies de comminucation sont : USB Serial, BLE, LoRa, Ethernet, WiFi. Les données sont remontées dans des messages vers un serveur (Node-RED) via un "broker" PubSub (MQTT (Mosquitto ou RabbitMQ), Apache Kafka, PubNub, PubSubHubbub, Socket.io, WebRTC ...). Les formats des messages peuvent être JSON (GeoJSON), BSON, CSV, NMEA 0183, binaire, XML (EEML, KML, AMMP ...) ... Les données peuvent être stockées dans une base de données (SQL ou NoSQL comme MongoDB, Redis.io, InfluxDB, ...) et visualisées en différé ou en direct (Grafana, D3.js, OpenHAB via le connecteur MQTT, Bootleaf pour les données géolocalisées ...). Elles seront sécurisées à l'aide d'une blockchain privée Hyperledger.


Mini-projets

Affectation des mini-projets

Affectation des projets PM2M 2019-2020
Sujet Étudiants Fiche de suivi Dépôt git Documents Matériel


Misc

Déploiement sur plateforme Cloud

Le serveur Node-RED et le "broker" PubSub MQTT (Mosquitto ou RabbitMQ) peuvent être hébergé sur une plateforme cloud 'gratuite' ou 'pas chère' comme Windows Azure ou Amazon EC2, Heroku, IBM Bluemix, Digital Ocean, OVH ou sur votre machine via des images Docker.

Attention, Eduroam et WifiCampus bloquent le port 1883 du protocole MQTT (entre autre).

Evaluation

Du fait du confinement lié au Covid-19, la soutenance est replacée pour une évaluation sur document.

Les documents demandés devront être remis le 07/04 avant minuit.

Les documents demandés sont:

  • un jeu de transparents PPT/ODP de votre présentation avec votre "discours" dans les notes du présentateur.
  • (optionnel) un screencast de votre présentation avec votre discours en voix off.
  • la vidéo et/ou le screencast de votre démonstration.
  • le rapport technique de la réalisation au format Markdown
  • la fiche individuelle ACS au format Markdown (décrite plus haut)
  • la fiche individuelle "Security&Privacy" au format Markdown (décrite plus haut)

La présentation mettra en avant

    • le titre (avec les noms prénoms des binômes)
    • les applications IoT cibles/envisagées
    • le ou les architectures (successivement) implémentées,
    • les composants logiciels et matériels utilisés,
    • les métriques (langages de programmation, sloc, performance ...),
    • les problèmes rencontrés et les solutions élaborées,
    • la conclusion
    • des perspectives possibles à votre développement.

Prévoyez 15 minutes pour la présentation et la démonstration.

Le code, le rapport et le PDF de la présentation doivent être livré dans un dépôt Github le 7 Avril avant minuit. Les vidéos et screencasts peuvent être livrées sous la forme d'une vidéo YouTube ou d'un dépôt avec un lien caché (wetransfer, google drive ...).

Galeries

Galerie 2018

PM2M 2018PM2M 2018PM2M 2018PM2M 2018PM2M 2018PM2M 2018PM2M 2018PM2M 2018

Galerie 2017

Galerie 2016

Suivez les tweets :

Galerie 2015

Galerie 2014

PM2M 2014PM2M 2014PM2M 2014PM2M 2014PM2M 2014PM2M 2014PM2M 2014PM2M 2014

Annexes

Cartes, Capteurs et Actionneurs

STM32 IoTNode B-L475E-IOT01A
LoPy (LoRa)
SiPy (Sigfox)
  1. SODAQ Explorer
  2. Sagemcom Siconia
  3. Pycom LoPy
  4. Pycom SiPy
  5. Pycom FiPy
  6. STM32 Nucleo + Shield LoRa + Shield Météo
  7. STM32 Nucleo + Shield LoRa + Shield Qualité de l'air
  8. STM32 Nucleo + Récepteur RDS + ESP8266
  9. STM32 IoTNode
  10. LoRaWAN devices
  11. Modem Microchip RN2483
  12. Modem IMST im282a SX1280 LoRa 2.4 GHz
  13. ODBII dongle BLE
  14. Grove OBD-II CAN-BUS Development Kit
  15. Multichannel gas sensor MiCS-6814
  1. micropython sur STM32