Licence pro IEM

Le but de ce projet est de créer un objet connecté complet, en utilisant comme base le starter kit Arduino, et les technologies web que vous maîtrisez.

Les objectifs pédagogiques sont les suivants :

  • Réfléchir à la conception et aux usages d'un objet connecté
  • Savoir programmer sur un objet physique
  • Connecter un objet à internet
  • S'intéresser à la couche Web et proposer un service en utilisant les standards du Web

Le projet est découpé en phases. Chaque phase doit être validée par l'enseignant et donne lieu à une évaluation intermédiaire.

À l'issue du projet, vous devrez rendre un rapport, et effectuer une mini-présentation de votre projet devant le groupe. Voyez le rapport comme une sorte de tutoriel qui permettra à n'importe qui de refaire votre objet en quelques minutes seulement ! La forme est libre (pdf, page web).

Sujet

Le sujet est libre, mais inclut une suite de figures imposées.

  • Le projet doit s'inscrire dans l'esprit WoT (Web of Things), c'est-à-dire que vous devez à la fois concevoir et réaliser un objet physique, et produire une interface Web permettant d'utiliser cet objet (consulter des données, interagir avec l'objet, etc.).
  • L'objet doit contenir au moins un capteur et un actionneur
  • L'objet doit être connecté d'une manière où d'une autre
  • Une interface web doit exister
  • Le métier de l'application sera préférentiellement côté client (ou passerelle)
  • Les standards du Web doivent être respectés au mieux

Matériel et ressources

  • Arduino Starter Kit
  • Tous documents, documentations, codes et inspirations issus du Web
  • Ouvrages de la bibliothèque

Si vous avez besoin de matériel complémentaire, contactez l'enseignant qui vous renseignera sur la faisabilité ou non. Vous pouvez également utiliser votre propre matériel.

Équipes

Le projet doit être réalisé en binôme.

Source d'inspiration

Vous trouverez sur la page web de Lionel Médini (http://liris.cnrs.fr/lionel.medini/enseignement/M2_IADE/TP_IoT) un sujet répondant à des contraintes similaires qui porte sur un objet pour l'arrosage automatique. Si vous n'avez pas d'idée, vous pouvez toujours faire cela.

Les phases du projet

Phase 0. Constitution des groupes et choix du sujet - 0,5pt

À l'issue de cette phase vous devez avoir choisi un binôme et un sujet de projet. Le sujet peut encore changer par la suite, mais pensez à prévenir l'enseignant.

Forme du rendu : validation directe par l'enseignant.

Phase 1. Prise en main du matériel - 1,5pt

Durant cette phase, vous devez découvrir le matériel, ou approfondir vos connaissances, en réalisant un tutoriel issu du livre du starter kit ou bien d'internet.

C'est aussi l'occasion de faire les installations logicielles nécessaires et de vérifier que tout fonctionne.

N'oubliez pas de faire valider votre travail.

Forme du rendu : validation directe par l'enseignant.

Phase 2. Constitution d'une maquette du projet - 2pt

Durant cette phase, vous devez décider de ce que votre objet fera, et des services que votre application proposera. Vous devez réaliser une maquette papier ou bien numérique. Vous pouvez également construire un ou deux scénarios qui permettront de clarifier les idées sur l'usage qui pourra être fait de votre objet.

Vous devez également dresser une liste du matériel nécessaire, et vous assurer qu'il est disponible et fonctionnel. À l'issue de cette phase, il ne sera plus possible de changer de sujet.

Forme du rendu : section 1 du rapport final. Vous devrez faire apparaître :

  • le titre du projet,
  • une ou deux phrases décrivant ce que fait le projet,
  • la liste des technologies que vous utiliserez dans le projet,
  • les maquettes d'interfaces, diagrammes de séquence, d'activité ou de classe que vous avez réalisés (photos autorisées),
  • toute autre information que vous trouveriez utile, mais en restant synthétique.

Phase 3. Votre premier sketch - 1pt

Vous devez réaliser votre premier jet de code sur l'Arduino et le faire valider. Votre objet doit être fonctionnel et “faire quelque chose” (pas juste allumer une led) à l'issue de cette phase.

Forme du rendu : section 2 du rapport final. Cette section devra contenir :

  • la liste du matériel nécessaire à la réalisation de votre projet,
  • le plan de montage de votre prototype en version finale),
  • le code source (ou lien vers le code source) correspondant

Phase 4. Connexion à internet - 2pt

Vous devez démontrer que vous êtes capables de transmettre des données de votre objet à votre application client, quelque soit la technologie retenue.

Forme du rendu : section 3 du rapport final. Cette section devra contenir :

  • une explication synthétique mais documentée sur la façon dont vous avez décidé de communiquer avec l'Arduino (utilisation d'une librairie spécifique, mise en place d'un proxy, etc.),
  • le cas échéant, des liens vers les librairies que vous utilisez
  • le cas échéant, une brève discussion sur les difficultés que vous avez rencontrées.

Phase 5. Finalisation de l'application - 4pt

Vous devez terminer les fonctionnalités de votre objet, à la fois côté matériel et côté logiciel, et les faire valider.

Forme du rendu : section 4 du rapport final. Cette section devra :

  • décrire le code métier que vous avez réalisé (attention à la modularité),
  • donner un lien vers le code source,
  • inclure une photo du produit fini ainsi que des captures d'écran de l'application ou encore, une vidéo de démonstration

Phase 6. Démonstration - 2pt

Démonstration du produit (3mn par binôme).

Forme du rendu : Évaluation par l'ensemble du groupe, par interclassement des projets. Validation par l'enseignant.

Autres critères de notation

  • Utilisation d'un gestionnaire de versions : 1pt
  • Documentation de l'ensemble du code : 1pt
  • Richesse des fonctionnalités : 3pt
  • Qualité du code : 2pt

Liens utiles