Ceci est une ancienne révision du document !
Licence pro IEM
Sujet du TP
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.
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.
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.
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.
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.
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.
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.
Phase 6. Démonstration - 2pt
Démonstration du produit (3mn par binôme).
Autres critères de notation
- Utilisation d'un gestionnaire de versions : 1pt
- Documentation du code : 1pt
- Richesse des fonctionnalités : 3pt
- Qualité du code : 2pt
Liens utiles
- Installation de la partie Software d'Arduino : http://www.arduino.cc/en/Guide/HomePage
- Documentation de l'Arduino Starter Kit : https://www.arduino.cc/en/Main/ArduinoStarterKit
- Environnement de développement Arduino : http://www.arduino.cc/en/main/software
- Documentation du langage : http://www.arduino.cc/en/Reference/HomePage
- Communiquer en JSon avec Arduino : https://github.com/interactive-matter/aJson