======== Nodered et Raspberry ========

==== Nodered ====

    *[[https://nodered.org/|le site nodered EN]]
    *[[https://bentek.fr/mosquitto-node-red-raspberry-pi/|Mosquitto et Node-RED : Le couple parfait pour vos objets connectés FR]]
    *[[https://www.activpart.com/installer-node-red-lunux-debian/|installer nodered sous debian FR ]]
    *[[https://flows.nodered.org/node/node-red-node-pi-neopixel|node red et neo pixel pour raspberry  EN]]
    *[[https://github.com/node-red/node-red|node red sur Github EN]]
    *[[http://noderedguide.com/|Node RED Programming Guide EN]]
    *[[http://silanus.fr/sin/?p=984|Tutoriel Nodered FR]]
    *[[https://bigl.es/traditional-christmas-neopixel-project-2017-node-red-edition/|Nodered avec raspberry et sapin de noel avec des Neopixel EN]]
    *[[https://nodered.org/docs/hardware/raspberrypi|Running on Raspberry Pi EN ]]
    *[[https://github.com/guittou/SARAH-V5-time|Module time pour lire l'heure sur Nodered ( à essayer ...)FR]]
    *[[https://flows.nodered.org/node/node-red-contrib-moment|Un Flow pour lire la date,  et l'heure EN]]
    *[[https://blog.ippon.fr/2017/03/28/node-red-liot-a-portee-de-tous/|Node-Red : l'IoT à portée de tous FR]]
    *[[http://silanus.fr/sin/?p=984|Nodered : interaction entre un arduino et un raspberry FR]]
    *[[http://silanus.fr/sin/?p=1071|NodeRed et MySQL FR]]
    *[[https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwj34Y3Sl8_iAhVy6uAKHQvHBjcQFjAAegQIAhAC&url=http%3A%2F%2Feduscol.education.fr%2Fsti%2Fsites%2Feduscol.education.fr.sti%2Ffiles%2Fressources%2Fpedagogiques%2F8054%2F8054-objets-communicants.pdf&usg=AOvVaw2iN-cirvj5zZ4H7-4tGt7j|Exemple : Réalisation de la mangeoire connectée pour oiseaux.pdf FR]]
    *[[http://noderedguide.com/|Node RED Programming Guide EN]]
    *[[https://www.geeek.org/node-red-alarme-intelligente-freebox/|Alarme intelligente avec nodered sur freebox FR]]
    *[[https://www.locoduino.org/spip.php?article216|Nodered et Arduino sur Locoduino]]


==== Exemples Node red ====

    *[[https://www.stackhero.io/fr-fr/services/Node-RED/documentations/Pour-commencer|Commencer à utiliser Node-RED]]
    *[[https://www.stackhero.io/fr-fr/services/Node-RED/documentations/Introduction|Introduction à Node-RED, tout ce que vous devez savoir dessus]]
    *[[https://www.stackhero.io/fr-fr/services/Node-RED/documentations/Serveur-MQTT/Exemple-simple-d-utilisation-de-Node-RED-avec-un-serveur-MQTT|Exemple node red et MQTT]]
    *[[https://www.stackhero.io/fr-fr/services/Node-RED/documentations/Serveur-MQTT|Comment connecter Node-RED au serveur MQTT Mosquitto]]


==== Livres ====
    *[[https://www.elektor.com/programming-with-node-red-e-book |Programming with Node-RED (E-book) EN]]
    
    
=== Videos ===

    *[[https://youtu.be/vYreeoCoQPI|Node-RED Introduction EN ]]
    *[[https://youtu.be/nJ1wtUtcLfM|Débuter avec l’Arduino et Node-RED FR]]
    *[[https://youtu.be/FU6Henjf_Qs|MQTT,Node-RED,Raspberry,Arduino,ESP8266 Partie 1 FR ]]


==== node.js ====

    *[[https://nodejs.developpez.com/tutoriels/javascript/node-js-livre-debutant/|Node.js pour debutant FR]]


======= Node-red en FR Doc =======

[[https://drive.google.com/file/d/12s8upTyyevaF8ynNi127OeMo_gntHf5c/view?usp=sharing|Compilation de Doc Node-red]]

[[start:rasberry:nodered:doc|Doc Node-red en FR ]]

{{ :start:rasberry:glossaire_domotique.odf.pdf |Glossaire de quelques mot utilisé en domotique  pdf FR }}


[[ http://silanus.fr/bts/formationIOT/node-red/nodered.html |Développement d’un objet connecté - Node-Red]]


===== Installation Node-Red sur Raspberry =====

Pour lancer l’installation de Node-RED et de ses dépendances, il suffit d’utiliser ce petit script disponible sur [[https://github.com/node-red/linux-installers|GitHub]] :

<code txt instalNodered.txt>
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
</code>

Validez avec la touche entrée et répondez « yes » avec « y » à toutes les questions :


{{ :start:rasberry:capture_d_ecran_du_2023-02-28_15-50-38.png?direct&600 |}}


===== Mettre un mot de passe pour la connection  à Node-red sur un raspberrypi =====

-1- Installer"node-red-admin" avec sudo ( se connecter en ssh ou sur le serveur node-red en mode commande) :

<code txt admin.txt>
sudo npm install -g node-red-admin
</code>

-2- Creer un mot de passe 

<code txt creation.txt>
node-red-admin hash-pw
</code>

-3- Faire une copie du hash du mot de passe crée 

{{ :start:rasberry:capture_d_ecran_du_2023-04-08_08-01-50.png?direct&600 |}}


-4- Ouvrir le fichier  "setting.js" se trouvant dans le repetoire /home/pi/.node-red avec nano

<code txt copie.txt>
sudo nano .node-red/settings.js
</code>

-5- Copier le nouveau Hash : Dans le fichier setting.js modifier les lignes à partir de "adminAuth" en enlevant les / et en remplacant le user si besoin et surtout faire  la copie du Hash du mot de passe à la place de celui existant entre guillemets " " de la ligne password,  et faire Ctrl O et Ctrl x ( pour sauvegarder )

<code txt copie1.txt>
   adminAuth: {
        type: "credentials",
        users: [{
            username: "admin",
            password: "$2b$08$rUJZw3xRP1gcgCtLLaoEK.FwsIJ0fm5/eGTwL.cjZ2hTpEj1ZW7mm>"
            permissions: "*"
        }]
    },
</code>


-6- Arreter et redemarrer node-red avant de se connecter

<code txt stop-start.txt>
node-red-stop

node-red-start

</code>

====Automatiser le démarrage====

Lançons maintenant Node-RED :

<code txt>
node-red-start
</code>

Avant de découvrir son interface, puisque nous allons utiliser Node-RED en domotique, nous voulons qu’il se lance automatiquement au démarrage de notre Raspberry Pi.

Pour ce faire, nous avons besoin de cette commande :

<code txt>
sudo systemctl enable nodered.service
</code>

====Se connecter à Node-RED avec un navigateur====

Nous en avons fini avec notre terminal et nous allons désormais utiliser une interface graphique avec notre navigateur préféré :

<code json>
192.168.XX.XXX:1880 (IP de votre Raspberry Pi)
</code>


===== Plusieurs instances de node-red sur le même serveur Raspberry =====

-1- Crée un repertoire  en ligne de commande => **mkdir NR1980**

-2- Copier le repertoire .node-red dans NR1980 => **cp -r /home/pi/.node-red    /home/pi/NR1980**

-3- Lancer la nouvelle instance de node-red => **nohup node-red -u /home/pi/NR1980 -p 1980 > /dev/null 2>&1 &**

-4- Tester la connexion à node-red => (exemple) **192.168.1.44:1980**

Vous pouvez creer plusieurs instances de node-red sur le même serveur ( attention à la limite memoire et du  processeur du serveur ...) en changeant le port de connexion et en creant plusieurs repertoires :

exemple ( en reprenant la procedure en -1- ) : 
   *mkdir NR1981  => @IPnode-red:1981
   *mkdir NR1982  => @IPnode-red:1982
   *mkdir NR1983  => @IPnode-red:1983
   *etc ....




===== Videos Youtube =====

[[https://youtu.be/Zueq0D0P0JE| Introduction NODE-RED 1 ]]

[[https://youtu.be/KC_9wD9LHgA|Node-Red pour Home Assistant : les bases]]

[[https://youtu.be/xpsZa3N3Ogo|MQTT : Broker Mosquitto et Exemple avec et sans Node-RED]]

[[https://youtu.be/qJVA5QKo-zw|Capteur DIY No-code (Setup de Tasmota et Node-RED)]]