<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>