Cours:LPTraitDonnee

De troyesGEII
Aller à : navigation, rechercher

LP IoT - Traitement de données

Nous traiterons ici la partie « échange de données », c'est-à-dire comment connecter un objet connecté. La progression se répartit sur trois étapes :

  1. Apprentissage de MQTT, protocole d’échange d’information omniprésent dans les objets connectés
  2. Apprentissage de NodeRed, solution logicielle graphique open sourcée permettant la création rapide, en quelques clics, de chaînes de traitement
  3. Un mini-projet, que vous réaliserez pendant les séances et que vous remettrez à la fin de la période.

Fonctionnement général : ​

  1. Mise à disposition de documents, sites et documentations à consulter avec objectifs de réalisation
  2. Séances d’échanges sur Discord pour résoudre les points problématiques, les questions, …
  3. Évaluation de la séquence par remise d’un court dossier sur le sujet traité dans le mini-projet, reprenant les objectifs de réalisation.

MQTT

  • Installation des outils (plusieurs windows 10 + 1 W7+ 1 linux)

Travail à faire

Note pour les utilisateurs de Windows : il sera probablement plus commode d’utiliser PowerShell (intégré à Windows) en guise de terminal plutôt que la rustique invite de commande.

  • Installer un client MQTT
  • Lire ce document et faire les exercices : Fichier:Tutorial mqtt.pdf (source J.Y. Tigli : http://www.tigli.fr)
  • Utiliser ce broker graphique : http://shiftr.io/geii-troyes/lp-iot : (visualisation des messages entrants et sortants).
    • Il est nécessaire de fournir un numéro d’utilisateur et un mot de passe.
    • Exemple mosquitto_pub -u 1aa02488 -P 45ade33185a98624 -h broker.shiftr.io -t NomDuTopic -m ContenuDuMessage

NodeRed

Installer Node-Red sur Android

Suivre les indications données ici : https://nodered.org/docs/getting-started/android

apt update
apt upgrade
apt install coreutils nano nodejs
  • Ensuite
npm i -g --unsafe-perm node-red

Si cette commande ne passe pas (certains Android apparement), taper

pkg install yarn
yarn global add npm
npm i -g --unsafe-perm node-red
  • Lancer ensuite node-red
node-red
  • Ouvrir ensuite un navigateur sur http://localhost:1880 depuis l'appareil Android. Vous pouvez également accéder à ce node-red depuis un PC par exemple) en remplaçant localhost par l'adresse IP de l'appareil Android. Pour connaitre celle-ci, taper dans Termux :
ifconfig

Travail à faire

Projet à rendre

  • Travail en binôme :
    • une partie "collecte de donnée" qui doit envoyer des données sur un broker
    • une partie "affichage" qui doit lire des données du broket et réaliser un affichage graphique
  • Cahier des charges :
    • Exploiter les données météorologiques de OpenWeather
    • Les données doivent être enregistrées progressivement dans un fichier texte pour archivage
    • En respectant un contexte « objet connecté», vous pourrez ajouter les fonctionnalités que vous souhaitez. Dans la logique de réaliser un "objet connecté" rapidememnt, vous pourrez évidemment utiliser tout code ou flow trouvé sur le net, à condition de le mentionner.
  • À rendre (pour évaluation) :
    • Document décrivant votre projet en quelques pages au maximum :
      • Objectif
      • Description de la réalisation
      • Description du fonctionnement
      • Conclusion : que serait-il possible d'améliorer ? De faire différemment ?
    • Le code du projet Node-Red (cf. export nodes dans Node-Red)
    • par mail à frederic.nicolier(at)univ-reims.fr en indiquant clairement le nom des deux étudiants du binôme