PM2M/2021/TP: Difference between revisions
Line 107: | Line 107: | ||
Pour la démonstration, prévoyez de montrer la trace console de l’objet. |
Pour la démonstration, prévoyez de montrer la trace console de l’objet. |
||
===Sujets du mini-projet=== |
|||
* [[Projet de parc de sirènes d'alarme LoRaWAN]] |
|||
===Groupes=== |
===Groupes=== |
Revision as of 17:50, 9 February 2021
Page 2021 des supports de cours et travaux pratiques de l'UE Projets M2PGI Services Machine-to-Machine et Internet-of-Things.
Enseignants 2021 : 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.
Support de cours
- Intergiciels pour l'IoT
- La plateforme OpenHAB
- La plateforme de services OSGi
- Eclipse IoT Days
- Les rapports sur les CES d'Olivier Ezratty
- The DZone Guide to The Internet of Things
Planning
- Avant la séance du 18/02 (TRES IMPORTANT)
- Installation de l'IDE pour le STM32
- Installation de Docker sur vos machines.
- Getting started
- 18/02 13H30-16H45 au fablab FabMSTIC (Apportez vos machines)
- Présentation et Introduction et répartition des projets (Didier DONSEZ) 1 heure transparents et transparents IoT long range
- Transparents & Tutoriel STM32 IoTNode (Michael ESCODA, ST Microelectronics Grenoble) 1H30
- 03/03 13H30-16H45 au fablab FabMSTIC (Apportez vos machines)
- 10/03 13H30-16H45 au fablab FabMSTIC (Apportez vos machines)
- Travail en équipe
- 12/03 13H30-16H45 au fablab FabMSTIC (Apportez vos machines)
- Travail en équipe
- 17/03 13H30-16H45 au fablab FabMSTIC (Apportez vos machines)
- Travail en équipe
- 24/03 13H30-16H45 au fablab FabMSTIC (Apportez vos machines)
- Travail en équipe
- 16/04 : Rendu des fiches ("ACS" et "Privacy & Sécurity")
- 17/04 15H00-18H00 : Soutenances (présentation + questions + démonstration)
Etapes
- Coup d’œil aux projets 2016, projets 2017, projets 2018 , projets 2019 et projets 2020.
- Installation de Docker
- Tutoriel STM32duino
- Suivre le tutoriel Developing IoT Mashups with Docker, MQTT, Node-RED, InfluxDB, Grafana.
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é.
Mini-projet
L’objectif du mini-projet est d’étudier la réalisation d'un service de sécurité des biens et des personnes utilisant un parc de sirène connectées en LoRaWAN.
L’objet LoRaWAN est identifié par son DevEUI et associé à une pièce ou à un lieu. Il peut être enregistré sur un réseau public national en OTAA ou sur un réseau privé en OTAA comme CampusIoT.
L’objet sirène remonte régulièrement des mesures prises sur les capteurs au format LPP.
L’objet sirène est déclenché soit par un bouton poussoir (ie panic button), soit par observation d’un événement “tragique” (augmentation brutale de la température, fumée …).
L’objet sirène envoie périodiquement un message de status (ie heart beat) une fois déclenché.
L’application peut envoyer des messages vers l’objet pour :
- piloter les GPIO en output de l'objet
- le réglage de la période de transmission des messages montants
- la mise à l’heure de la RTC (s’inspirer des App Clock Sync spec),
- jouer une séquence de sons sur réception d'un message descendant de l'application de gestion de la sécurité,
- de programmer le jeu périodique d’une séquence de sons (avec un paramètre cron pattern) quand la RTC a été préalablement * synchronisée
L’objet peut être un objet de classe A ou un objet de classe C.
L’objectif du projet est de
- rechercher et analyser (avantages/inconvénients sous la forme d’une grille) des produits concurrents
- définir l’architecture globale du réseau de sirènes d’alarme,
- définir la sécurité globale (clé de chiffrage),
- définir l’architecture matérielle de l’objet,
- définir le format des messages LoRaWAN uplink et downlink,
- définir le logiciel embarqué de l’objet sirène.
- proposer une implémentation du logiciel embarqué de l’objet sirène.
- montrer les changements de comportement de l’objet en fonction des événements (normal, incident détecté, retour à la normal).
- implémenter l'application NodeRed qui reçoit les messages des 2 sirènes du binome et leur envoie de les différents messages listés précédenment
- implémenter la console de visualisation avec un tableau de bord grafana avec des "plugins" bien choisis.
Le prototypage de l’objet sera fait au moyen de la carte endpoint du kit LRWAN2 et d'un buzzer piezio raccordé à une des GPIO libre de la carte.
La carte fille I-Nucleo-LRWAN1 du kit inclut un modem LoRAWAN et des capteurs de température, humidité, pression I2C : HTS221, LSM6DS3, LIS3MDL, LPS25HB/LPS22HB de ST). L’affection des broches de la carte fille I-Nucleo-LRWAN1 est donné dans le fichier du driver /STM32CubeExpansion_LRWAN_V1.3.1/Drivers/BSP/I_NUCLEO_LRWAN1/i_nucleo_lrwan1.h
Pour la démonstration, prévoyez de montrer la trace console de l’objet.
Groupes
Sujet | Étudiants | Fiche de suivi | Dépôt git | Documents | Matériel |
---|
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.
Evaluation
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
Galerie 2017
Galerie 2016
Suivez les tweets :
- https://twitter.com/FablabAIR/status/719892515072159744
- https://twitter.com/FablabAIR/status/719948586671325184
- https://twitter.com/FablabAIR/status/719880125806985216
- https://twitter.com/FablabAIR/status/719872755739582464
- https://twitter.com/FablabAIR/status/719865759158165505
- https://twitter.com/FablabAIR/status/719862460715573249
- https://twitter.com/FablabAIR/status/719858492681691136