<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Je ne sais pas si cela peut aider mais voilà quelques notes sur
ce sujet.</p>
<p>Pour la Fête de la Science, j'avais installé Node-Red sur 4
Raspberry, les élèves étant divisés en 4 groupes. Avec Node-Red,
ils devaient envoyer un message à un ESP qui pilotait une pompe,
via un ESP branché sur le port USB du Raspberry, ce dernier
communicant avec l'ESP qui commandait la pompe via wifiMesh, selon
le schéma suivant :</p>
<p><img src="cid:part1.35C5868E.2EC6B2A8@orange.fr" alt="" class=""
title="bihopdgbkjofpeop.png" width="1024" height="573"></p>
<p>Les élèves ont bien compris. Même des élèves de primaire ont
relevé le défi (rotation des classes toutes les 1/2 h).</p>
<p> Comme je suis un fan de Raspberry, voici mes notes pour
installer Node-Red :</p>
<p> </p>
<p style="margin-bottom: 0cm; line-height: 100%"><u>1 – Mettre à
jour le Raspberry</u></p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ sudo apt-get update</pre>
<pre style="margin-bottom: 0cm; line-height: 100%">$ sudo apt-get upgrade</pre>
<p style="margin-bottom: 0cm; line-height: 100%">Attention, cela
peut prendre une 20aine de minutes, en particulier si vous n'êtes
pas sous la distribution stretch<br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%"><u>2 - Installer
nodejs</u></p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ sudo apt-get install nodejs</pre>
<p style="margin-bottom: 0cm; line-height: 100%">verifier la version
de node</p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ node -v </pre>
<p style="margin-bottom: 0cm; line-height: 100%">Cela doit donner au
moins la version 7</p>
<p style="margin-bottom: 0cm; line-height: 100%"><br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%"><u>3 – Installer
npm</u></p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ sudo apt-get install npm</pre>
<p style="margin-bottom: 0cm; line-height: 100%">Verifier la version</p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ npm -v</pre>
<p style="margin-bottom: 0cm; line-height: 100%">Si la réponse est
une version inférieure à la version 4 en particulier, faire un
update par (de toute façon, cela ne mange pas de pain)<br>
</p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ sudo npm install -g npm node-gyp</pre>
<p style="margin-bottom: 0cm; line-height: 100%">Puis vérifier la
version</p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ npm -v</pre>
<p style="margin-bottom: 0cm; line-height: 100%">vous devriez
obtenir la version 6.4.1 au minimum</p>
<p style="margin-bottom: 0cm; line-height: 100%"><br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%"><u>4 – installer
mosquitto</u></p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ sudo apt-get install mosquitto mosquitto-clients</pre>
<p style="margin-bottom: 0cm; line-height: 100%">Puis démarrer
mosquitto</p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ sudo /etc/init.d/mosquitto start</pre>
<p style="margin-bottom: 0cm; line-height: 100%">Dans la même
console écouter le topic "/test/topic"</p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ mosquitto_sub -t "/test/topic"</pre>
<p style="margin-bottom: 0cm; line-height: 100%"><br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%">Ouvrir une autre
console et envoyer le message « hello » sur ce topic</p>
<pre style="margin-bottom: 0cm; line-height: 100%">$mosquitto_pub -t "/test/topic" -m "HELLO"</pre>
<p style="margin-bottom: 0cm; line-height: 100%">Si vous voyez
apparaître HELLO sur la première console, c’est que le serveur
mosquitto fonctionne correctement. </p>
<p style="margin-bottom: 0cm; line-height: 100%"><br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%"><u>5- Faire un
reboot</u></p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ sudo reboot </pre>
<p style="margin-bottom: 0cm; line-height: 100%"><br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%">Le raspberry est
prêt à fonctionner</p>
<pre style="margin-bottom: 0cm; line-height: 100%">$ node-red-start ou dans le menu programmation, cliquer sur l'icône NodeRed</pre>
<p style="margin-bottom: 0cm; line-height: 100%">Il est recommandé
d'utiliser firefox (il semblerait qu'il soit "plus" compatible.
Pour cela, aller dans le menu Préférences>recommended software,
et installer "Firefox ESR"<br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%"><br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%">Néanmoins, sous le
browser de votre choix (si vous ne voulez pas Firefox), faire
localhost:1880</p>
<p style="margin-bottom: 0cm; line-height: 100%">Vous devriez
obtenir la page d'éditeur des nœuds de node-red.</p>
<p style="margin-bottom: 0cm; line-height: 100%"><br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%"><br>
</p>
Pour pouvoir utiliser node-red comme utilisateur, il faut installer
node-red-dashboard depuis le menu palett. Cela donne les noeud
permettant de visualiser des données, d'installer des champs de
saisie, des boutons, des niveaux, ...
<p style="margin-bottom: 0cm; line-height: 100%">Une fois la page
utilisateur configurée il faut faire localhost :1880/ui</p>
<p style="margin-bottom: 0cm; line-height: 100%">Il est bon de
protéger l'éditeur avec un mot de passe. Ainsi, vous pourrez
"ouvrir" sans risque l'accès à cette page utilisateur.</p>
<p style="margin-bottom: 0cm; line-height: 100%">C'est très simple,
il faut modifier le fichier de setting :</p>
<pre>cd ~/.node-red
sudo nano settings.js</pre>
<p style="margin-bottom: 0cm; line-height: 100%">Dans ce fichier il
faut rechercher :</p>
<div class="language-javascript highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code><span class="nx">adminAuth</span><span class="p">:</span> <span class="p">{</span>
<span class="nl">type</span><span class="p">:</span> <span class="s2">"credentials"</span><span class="p">,</span>
<span class="nx">users</span><span class="p">:</span> <span class="p">[{</span>
<span class="na">username</span><span class="p">:</span> <span class="s2">"admin"</span><span class="p">,</span>
<span class="na">password</span><span class="p">:</span> <span class="s2">"$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."</span><span class="p">,</span>
<span class="na">permissions</span><span class="p">:</span> <span class="s2">"*"</span>
<span class="p">}]</span>
<span class="p">}</span>
</code></pre>
</div>
</div>
<p>
<style type="text/css">p { margin-bottom: 0.25cm; line-height: 120%; }</style></p>
<p>Ouvrir une autre console pour faire le hash de votre mot de
passe:</p>
<pre>$ sudo npm install -g npm <code>node-red-admin</code></pre>
<code>$ node-red-admin hash-pw</code>
<p> </p>
<div class="moz-cite-prefix">Là on vous demande votre password, et
il vous donne une clé hash qui remplacera le
"$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."
ci-dessus.<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Voir la vidéo par exemple
<a class="moz-txt-link-freetext" href="https://www.youtube.com/watch?v=_cpqvUoR044">https://www.youtube.com/watch?v=_cpqvUoR044</a></div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Enfin, c'est de la technique Node-Red :
Vous allez dans le menu en haut à droite, vous faites manage
palette. On trouve toutes sortes de nœuds dans install qui feront
ce que vous recherchez.</div>
<div class="moz-cite-prefix">Le module qui me manquait le plus est
timer, pour maintenir une vanne ouverte pendant un certain temps
par exemple</div>
<div class="moz-cite-prefix">Le module que j'utilise le plus est
function, car il offre beaucoup de souplesse : par programmation
javascript, il est possible de quasiment "tout" faire.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Bon Node Red<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Le 27/10/2018 à 15:37, Rémi Boulle via
iot a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:7c22ae6a-4325-2f91-f539-8c490d97d086@remiboulle.fr">faire
un tutoriel de présentation des outils logiciels utilisés : MQTT,
Node-Red, grafana, influxDB (qui commence ?)</blockquote>
<pre class="moz-signature" cols="72">--
Louis Blavier
tel 0684444621</pre>
</body>
</html>