Objectif :
L'objectif de ce second TP est d'interroger directement les motes depuis le web grâce au
protocole COAP (https://tools.ietf.org/html/rfc7252). Nous allons programmer des applications
communicantes sur l'OS Contiki et les exécuter sur de vrais capteurs TelosB. Enfin, nous
interrogerons directement les capteurs depuis un navigateur Web grâce au protocole COAP. Les
objectifs sont donc les suivants :
être capable de comprendre le fonctionnement des protocoles 802.15.4, 6LowPAN et RPL
être capable de développer un programme simple sous Contiki et de le déployer sur des
capteurs
être capable mettre en œuvre un service d'IoT grâce à COAP. Un compte rendu en pdf avec des
commentaires sur les résultats obtenus est demandé en fin de TP.
Enoncé :
S'il vous reste du temps, tester d'autres exemples de programmes ou de services s'exécutant
sur les motes sky. Une bonne manière d'apprendre et de partir d'un exemple existant et de le
modifier pour lui ajouter de nouvelles fonctionnalités de votre chef. Pour approfondir d'autres
aspects sur Contiki et son implantation des protocoles de l'IoT, des tutoriaux sont également
disponibles à l'adresse suivante : http://anrg.usc.edu/contiki/index.php/Contiki_tutorials
L'objectif de Plusieurs solutions sont possibles pour la partie client : utiliser un client COAP
natif ou utiliser un client HTTP classique, mais il faut alors disposer d'une gateway faisant la
traduction entre COAP et HTTP. Nous allons opter pour la première solution.
Question 1 - Client COAP Copper
Installer le plugin Copper pour Firefox 55 en suivant les instructions du README :
https://github.com/mkovatsc/Copper
Tester le client en utilisant les différentes primitives du protocole (GET, OBSERVE,
DISCOVER) sur le serveur de test coap://californium.eclipse.org
Cet exercice fait le lien avec le module SEP et devra être obligatoirement terminé.
Pour commencer, il faut disposer d'une infrastructure réseau permettant au réseau de
capteurs et au client web de communiquer. L’infrastructure réseau est la même que pour
l’exercice précédent. Pour faire le lien avec des clients externes à l’infrastructure (au hasard,
des Hololens), proxy HTTP à exécuter sur l’ordinateur faisant passerelle est disponible à cette
adresse: http://thibault.cholez.free.fr/teaching/OCI/proxy_IoT.c
Nous allons faire ici l'équivalent de l’exercice précédent en remplaçant COAP avec le
protocole HTTP qui assure une plus grand compatibilité avec les clients (bien que moins
adapté).
Préparer un capteur exposant un service REST via HTTP où doivent être accessibles
les mesures de température, luminosité et humidité.
Les instructions suivantes vous seront utiles:
http://anrg.usc.edu/contiki/index.php/REST_example_running_on_Cooja_and_Sky_
motes
Tester avec votre téléphone que votre service web est bien accessible. Une fois les
informations issues du capteur validées, interrogé ce dernier via un WinPhone (point
de synchronisation avec SEP)