====== Objets Connectés et Services .... vers plus d'Intelligence Ambiante ====== [[https://boutique.orange.fr/accessoires/choisir-un-accessoire-objets-connectes|Lien externe]] [[https://www.objetconnecte.net/|Lien externe]] {{ :cours:oc:logo_ocs_17_18.png?300|}} || || || || || || || || ===== Objectifs du Cours ===== ---- [[cours:oc:17_18:objectifs_OCS|]] == Approche pédagogique originale == Issue du couplage de [[cours:oc:17_18:approche_pedago|l'apprentissage pas projet et des méthodes agiles]] ===== Gestion et Suivi de Projet ===== ---- Les projets OCS sont suivi par vos enseignants en séances mais aussi au travers de votre Github. Pour cela un certain nombre d'éléments doivent y figurer. Vous serez régulièrement évalués sur ces avancées, entre deux séances par exemple. Toutes les consignes et la marche à suivre se trouve sur : [[https://www.tigli.fr/doku.php?id=cours:oc:18_19:pages_de_suivi#liste_des_groupes_2018_-_2019|PAGE EXPLICATIVE DE RENDU ET DE SUIVI DES PROJETS OCS]] Le tableau des groupes de projet est complété fonction de vos retours. ===== Programme et Supports ===== ---- == Séance 1 : Introduction aux Objets Connectés et services et Mathodologie de Projet == ---- Intervenants : Jean-Yves Tigli et Stéphane Lavirotte Supports : {{:cours:oc:ocs_2018_2019_intro_cours_et_projet.pdf|Objets Connectés et Services}} == Séance 2 : Design de Projet OCS == ---- Intervenant : Jean-Yves Tigli Support : [[cours:oc:18_19:design_thinking_ocs_18_19|Design Thinking for Smart Object and Services]] A l'issue de cette séance les étudiants sont évalués sur la définition de leur projet. Normalement tous les groupes doivent avoir présenté un projet validé. == Séance 3 : Conception d'Objet et Impression 3D == ---- Intervenants : Stéphane Lavirotte et Gaëtan Rey Supports : {{:cours:oc:impression_3d.pdf| Impression 3D}} == Séance 4 : Plateforme logicielle pour OCS == ---- Intervenants : Gérald Rocher Plateforme logicielle pour OCS : Node-Red on RaspberryPi and Node-Red on Docker for remote server Supports : {{:cours:oc:deploiement_node-red.pdf| Plateforme Node-RED OCS}} == Séance 5 : Architecture Logicielle pour OCS et avancement de projet == ---- Intervenants : Jean-Yves Tigli * Rappel sur les principes architecturaux * Entretiens individuels pour le suivi de projet et revue d'un premier prototype (méthode agile oblige) * Mise à jour du planning pour un prochain sprint == Séance 6 : Architecture Logicielle pour OCS et avancement de projet == ---- Intervenants : Jean-Yves Tigli (2h) * La Description de la logique de composition entre APIs (objet, devices, autres services. * Au besoin rappel par l'enseignant des principes des API Web Service (Cf. [[https://www.tigli.fr/doku.php?id=cours:service_oriented_computing_and_web_services_2017_2018|Cours Web Service niveau Master 1 Polytech'Nice]]) * Démonstration avec quelques exemples (Cf. [[https://www.tigli.fr/doku.php?id=cours:ds4h_iot_2018|Exemples de la plateforme YoIoT]]) * La Description logiciel embarqué : * Ensemble des capteurs actionneurs, * Logique et si possible formalisme (ex. FSM)de fonctionnalités embarquées si besoin. * Description de l'API Web Service de l'objet connecté. * Middleware choisit Intervenants : Stéphane Lavirotte (2h) * Liste du matériel à acquérir et les informations pour les commandes associées * vous trouverez un fichier de commande type à remplir {{:cours:oc:2018_commandes_projets_ocs.xlsx|ici}} * Liste du matériel mis en œuvre pour une évaluation du coût de votre prototype (si vous voulez une évaluation complète, il vous faudra rajouter notre coût ingénieur, étudiants et enseignants fonction des durées d'intervention) [à rendre sous un format Excel avec coût et références] {{ :cours:oc:agile_project_management_by_planbox.png?300|Cycle d'itération selon les méthodes agiles}} == Séance 7 : Première itération "Plan / Collaborate / Deliver" == ---- Intervenants : Stéphane Lavirotte La notion d'itération est inhérente aux méthodes agiles. Nous parlerons par exemple de sprint dans la méthodologie Scrum. La séance sera donc l'occasion pour vous de lancer une première itération dont le résultat sera le démonstrateur présenté lors de la séance d'audition numéro 8. Grâce à la pré-étude sur votre projet vous avez pu établir un plan de développement global. Choisissez pour cette première itération quelques fonctionnalités à implémenter dans un premier prototype V1 de votre projet. Attention veillez à ce que : * ces fonctionnalités fassent partie des fonctionnalités attendues par le client in fine * que le prototype repose d'ors et déjà sur une architecture complète (fonctionnalités sur l'objet avec son API - composition de Services distante utilisant l'API de l'objet) == Séance 8 & Audit de Projet : semaine du 5/11 et du 13/11 : Avancement du projet et Evaluation de projet à mi - parcours == ---- Intervenants : Jean-Yves Tigli la séance du 5/11 est destinée à faire avancer votre projet en finalisant votre premier sprint. entre la semaine du 5/11 et du 12/11 vous serez convoqués pour un audit évalué de projet. Un agenda détaillé des heures / jours de passage des groupes vous sera transmis par email. Chaque groupe passera un entretien sur la présentation globale du projet (10 min.) et des différentes itérations envisagées, une présentation et démonstration du premier prototype v1 Chaque membre du groupe sera ensuite questionné sur son investissement dans le projet durant 10 min.. == Séance 9 : Les PANs (Personnal Area Network), exemple Bluetooth Low Energy (BLE) == ---- Les projets de ce module consistent à créer un objet connecté qui vient s'insérer dans l'écosystème du Web et des Web of Things. Pourtant nombreuses sont les applications qui consistent à utiliser un objet depuis un terminal mobile. Dans ce cas ce sont des technologies basées sur des PAN (personal area network) qui sont mises en oeuvre. Bluetooth est un exemple des plus connu. Les deux séances suivantes ont donc pour objectif d'introduire les PANs et en particulier BLE (Bluetooh Low Energy). A l'issue de ces deux séances vous aurez la possibilité d'interfacer votre objet avec un smart phone grâce à la technologie BLE largement répandue. Il vous sera alors possible de configurer localement votre objet. ---- ---- Intervenant : Dino Lopez salle : O+101 Supports : {{:cours:oc:ble_dino_cours.pdf|Bluetooth Low Energy Course}} {{:cours:oc:ble_dino_tp.pdf|Bluetooth Low Energy Lab}} Autres Références : [[https://www.bluetooth.com/search-results?q=Low+energy&fq=|Bluetooth- BLE]] == Séance 10 : Bluetooth Low Energy (BLE) == ---- Intervenant : Dino Lopez salle : O+101 Supports : * BLE & Node-Red on RaspberryPi : [[https://flows.nodered.org/node/node-red-contrib-generic-ble|node-red-contrib-generic-ble]] * [[https://www.oreilly.com/library/view/getting-started-with/9781491900550/ch04.html|Chapter 4. GATT (Services and Characteristics), Getting Started with Bluetooth Low Energy by Robert Davidson, Akiba, Carles Cufí, Kevin Townsend, O'reilly]] Packages : * // npm install node-red-contrib-generic-ble // ---- Dernière phase de Projet et dernier SPRINT : reste 3 séance pour un denier SPRINT N == Séance 11 : Suivi de l'avancement de projet (Last SPRINT Week-2) == ---- Intervenants : S. Lavirotte & J.Y. Tigli salle : O+101 Objectifs : * **Finalisation et Test de l'objet et du code embarqué** (// avec Stéphane Lavirotte//) * Mise en place et configuration de l'objet * Déploiement du logiciel embarqué * Test des services web associés //** Un manuel technique (HowTo) et le résultat des tests sont à déposer sur GitHub tout comme le code et les autres soft nécessaire au déploiement de la solution **// * **Finalisation et Test de l'application utilisant les services de l'objet et d'autres dans l'écosystème du Web.** (// avec Jean-Yves Tigli//) * Mise en place et configuration de la plateforme pour le déploiement de la solution (ex. tous les lancement et configurations nécessaires en mode batch) * Test des services Web utilisé * Déploiement de la composition de services implémentant l'application sur la plateforme du projet * Tests utilisateur de l'application // ** Un manuel technique (HowTo) et le résultat des tests sont à déposer sur GitHub tout comme le code et les autres soft nécessaire au déploiement de la solution **// //** Un rapport technique sur les tests utilisateur de l'application est aussi à déposer sur GitHub **// * ** dernière validation pour envoi des fichiers STL de conception de l'enveloppe 3D de l'objet ** (// avec Jean-Yves Tigli//) //** Le fichier STL doit être déposé sur GitHub avec quelques vues en images **// == Séance 12 : Suivi de l'avancement de projet (Last SPRINT Week-1) == ---- Intervenants : J.-Y. Tigli salle : O+101 Objectifs : * Revue de projet après intégration et test de la solution quasi-finale en situation réelle * Manuel utilisateur partie 1 : sur le ** déploiement ** de la solution finale à déposer sur GitHub ** Evaluation dernières 90 min. (15 min. par groupe) : ** Test du manuel en confiant une solution à déployer à un autre groupe (Evaluation) == Séance 13 : Suivi de l'avancement de projet (Last SPRINT Week) et préparation de l'audit individuel des projets == ---- Intervenants : S. Lavirotte salle : O+101 Objectifs : * Intégration de la solution dans l'enveloppe de l'objet 3D et test de la solution en situation réelle * Production vidéo de démonstration * Manuel utilisateur : sur ** l'utilisation ** de la solution finale à déposer sur GitHub ** Evaluation Dernières 90 min.(15 min. par groupe)** : Test du manuel en confiant l'utilisation de la solution déjà installée à un autre groupe (Evaluation) == Séance 14 & 15 : Audit individuel des projets == ---- ** L'épreuve se déroulera sous la forme d'auditions par groupe avec des questions individuelles à chaque membre du grouge sur une durée de 15 à 20 min. ** AUCUN TRAVAIL SUPPLEMENTAIRE N'EST DEMANDE (pas de vidéo, de slides etc.), juste une organisation dans la présentation de votre travail. Vous aurez autour de 10 à 20 min (selon le temps consacré dans edt à l'évaluation de tous les projets) pour * présenter votre projet en utilisant vos pages Wiki de Github, et ce que vous aurez produit pour la présentation de votre projet * En particulier, à partir de la documentation du Wiki de GitHub sur d'installation et le déploiement de votre solution, vous montrerez sur table, les étapes de sa mise en oeuvre. * faire une démonstration scénarisée de votre objet et applications OCS. Vous répondrez ensuite, individuellement à une série de question afin d'évaluer votre investissement et vos compétences techniques personnels Une note de groupe de projet vous sera ainsi attribuée pondérée par les évaluations individuelles. ===== Archives ===== ---- == Séances et supports de Cours == [[cours:oc:17_18:cours_OCS|]] == Pages Web == * [[:cours:oc:oc_2013_2014|Cours Objets Communicants (IFI/SI5) 2013 2014]] * [[:projets:oc:oc_2013_2014|Projets Objets Communicants et Services 2013 2014]] * [[:cours:oc:oc_2014_2015|Cours Objets Communicants (IFI/SI5, ou Objets Connectés et Services (OCS) 2014 - 2015 ]] * [[:projets:oc:oc_2014_2015|Projets Objets Communicants et Services 2014 2015]] * [[:cours:oc:oc_2015_2016|Cours Objets Communicants (IFI/SI5, ou Objets Connectés et Services (OCS) 2015 - 2016 ]] * [[:projets:oc:oc_2015_2016|Projets Objets Communicants et Services 2015 2016]] * [[:cours:oc:oc_2016_2017|Cours Objets Communicants (IFI/SI5) 2016 2017]] * [[:cours:oc:oc_2017_2018|Cours Objets Communicants (IFI/SI5) 2017 2018]] \\