Cours:LPTraitDonnee : Différence entre versions
(→LP IoT - Traitement de données) |
(→NodeRed) |
||
Ligne 39 : | Ligne 39 : | ||
** node-red-dashboard (interface utilisateur) pour node-RED : https://flows.nodered.org/node/node-red-dashboard | ** node-red-dashboard (interface utilisateur) pour node-RED : https://flows.nodered.org/node/node-red-dashboard | ||
* Node-RED Cookbook : https://cookbook.nodered.org | * Node-RED Cookbook : https://cookbook.nodered.org | ||
+ | |||
+ | == Installer Node-Red sur Android == | ||
+ | |||
+ | Suivre les indications données ici : https://nodered.org/docs/getting-started/android | ||
+ | * Installer Termux : https://termux.com | ||
+ | * Ouvrir Termux et taper | ||
+ | <syntaxhighlight> | ||
+ | apt update | ||
+ | apt upgrade | ||
+ | apt install coreutils nano nodejs</syntaxhighlight> | ||
+ | * Ensuite | ||
+ | <syntaxhighlight> | ||
+ | npm i -g --unsafe-perm node-red | ||
+ | </syntaxhighlight> | ||
+ | Si cette commande ne passe pas (certains Android apparement, taper | ||
+ | <syntaxhighlight> | ||
+ | pkg install yarn | ||
+ | yarn global add npm | ||
+ | npm i -g --unsafe-perm node-red | ||
+ | </syntaxhighlight> | ||
+ | * Lancer ensuite node-red | ||
+ | <syntaxhighlight>node-red</syntaxhighlight> | ||
+ | * Ouvrir ensuite un navigateur sur <code>http://localhost:1880</code> 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 : | ||
+ | <syntaxhighlight>if-config</syntaxhighlight> | ||
== Travail à faire== | == Travail à faire== |
Version du 9 juin 2020 à 13:39
Sommaire
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 :
- Apprentissage de MQTT, protocole d’échange d’information omniprésent dans les objets connectés
- Apprentissage de NodeRed, solution logicielle graphique open sourcée permettant la création rapide, en quelques clics, de chaînes de traitement
- 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 :
- Mise à disposition de documents, sites et documentations à consulter avec objectifs de réalisation
- Séances d’échanges sur Discord pour résoudre les points problématiques, les questions, …
- É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
- Lecture (en autonomie)
- Comprendre MQTT : https://www.lemagit.fr/conseil/Internet-des-Objets-bien-comprendre-MQTT
- Installation des outils (plusieurs windows 10 + 1 W7+ 1 linux)
- Informations sur https://mosquitto.org pour tous les os
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
- Lecture de documentations
- Node.js (moteur de Node-RED) :https://nodejs.org/fr/
- Node-RED : https://nodered.org
- node-red-dashboard (interface utilisateur) pour node-RED : https://flows.nodered.org/node/node-red-dashboard
- Node-RED Cookbook : https://cookbook.nodered.org
Installer Node-Red sur Android
Suivre les indications données ici : https://nodered.org/docs/getting-started/android
- Installer Termux : https://termux.com
- Ouvrir Termux et taper
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 :
if-config
Travail à faire
- Installer Node.js puis NodeRed
- Installer node-red-dashboard
- En ligne de commande :
npm install node-red-dashboard
- En ligne de commande :
- Tuto node-RED dashboard : https://projetsdiy.fr/node-red-dashboard-interface-partie1/
- Exercices (tutoriels) sans MQTT :
- Exercices (tutoriels) avec MQTT
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
- Depuis Node-Red :
node-red-node-openweathermap
, https://flows.nodered.org/node/node-red-node-openweathermap (bien lire la doc !)
- Depuis Node-Red :
- 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.
- Exploiter les données météorologiques de OpenWeather
- À 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
- Document décrivant votre projet en quelques pages au maximum :