|
|
Ligne 11 : |
Ligne 11 : |
| * une partie complémentaire avec NanoPi : acquisition de données locale et envoi sur NodeRed pour gestion | | * une partie complémentaire avec NanoPi : acquisition de données locale et envoi sur NodeRed pour gestion |
| | | |
− | = MQTT = | + | = MQTT et NodeREd= |
| | | |
− | * Lecture
| + | [[Cours:LPTraitDonnee1|Partie 1 : découverte de MQTT et de NodeRed]] |
− | ** Comprendre MQTT : https://www.lemagit.fr/conseil/Internet-des-Objets-bien-comprendre-MQTT
| |
− | | |
− | * (Si besoin) Installation des outils (plusieurs windows 10 + 1 W7+ 1 linux)
| |
− | ** Informations sur https://mosquitto.org pour tous les os
| |
− | | |
− | * Un tuto MQTT : https://hackmd.io/@pmanzoni/BJ9hwSfhG
| |
− | | |
− | == 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.
| |
− | | |
− | * Lire ce document et faire les exercices : [[Fichier:tutorial_mqtt.pdf]] (source J.Y. Tigli : http://www.tigli.fr)
| |
| | | |
− | * Utiliser ce broker graphique : https://lp-iot.cloud.shiftr.io : (visualisation des messages entrants et sortants).
| + | == Traitement de données avec Nodered== |
− | ** Il est nécessaire de fournir un numéro d’utilisateur et un mot de passe.
| |
− | ** Exemple <code>mosquitto_pub -u lp-iot -P vHm5YuMEPJcpNfss -h lp-iot.cloud.shiftr.io -t NomDuTopic -m ContenuDuMessage</code>
| |
− | * ou le broker lancé par défaut sur chaque machine : échanger des infos entre deux machines (par binôme).
| |
− | | |
− | = 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
| |
− | <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>ifconfig</syntaxhighlight>
| |
− | | |
− | == Travail à faire==
| |
− | | |
− | * (si besoin) Installer Node.js puis NodeRed
| |
− | * (si besoin) Installer node-red-dashboard
| |
− | ** En ligne de commande : <code>npm install node-red-dashboard</code>
| |
− | | |
− | * Exercices (tutoriels) sans MQTT :
| |
− | ** http://silanus.fr/sin/?p=984
| |
− | ** http://www.rgot.org/initiation-a-node-red/
| |
− | | |
− | * Exercices (tutoriels) avec MQTT
| |
− | ** https://cookbook.nodered.org/#mqtt
| |
− | ** https://projetsdiy.fr/routeur-mqtt-node-red-sonoff-tasmota-cloudmqtt/
| |
− | | |
− | * Tuto node-RED dashboard : https://projetsdiy.fr/node-red-dashboard-interface-partie1/
| |
− | | |
− | = 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 [https://openweathermap.org OpenWeather]
| |
− | *** Depuis Node-Red : <code>node-red-node-openweathermap</code>, https://flows.nodered.org/node/node-red-node-openweathermap (bien lire la doc !)
| |
− | ** 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
| |
− | | |
− | [[Cours:LPTraitDonnee1|Partie 1 : découverte de MQTT et de NodeRed]]
| |
| | | |
| [[Cours:LPTraitDonnee2|Partie 2 : traitement de données temps réel avec NodeRed]] | | [[Cours:LPTraitDonnee2|Partie 2 : traitement de données temps réel avec NodeRed]] |