« RPi-NodeRed » : différence entre les versions
mAucun résumé des modifications |
mAucun résumé des modifications |
||
Ligne 68 : | Ligne 68 : | ||
A chaque clic on a une ligne dans les logs de debug... On a vu que dans "function 1" on ajoute "Hello World" au "timestamp" . | A chaque clic on a une ligne dans les logs de debug... On a vu que dans "function 1" on ajoute "Hello World" au "timestamp" . | ||
== Sécurisation == | |||
Il serait tout de même préférable d'ajouter un "login password" non? | |||
Pour cela, on va tout d'abord encoder un mot de passe. Il y a pour cela une commande : <code>node-red admin hash-pw</code><syntaxhighlight lang="text"> | |||
node-red admin hash-pw | |||
Password: <ici on tape le mot de passe sans echo> | |||
$2y$08$AK6/jMQoUMpbnSxS3TTv3eIxiQfILfTjulpMvYxzomFi.ZZaz1IFu | |||
</syntaxhighlight>On arrète le serveur nodered (ctrl + C) | |||
Et on édite le fichier : <code>/home/admin/.node-red/settings.js</code> si <code>admin</code> est l'utilisateur que fait tourner le serveur. | |||
Dans la section "security" on décommente la partie<syntaxhighlight lang="json-object"> | |||
adminAuth: { | |||
type: "credentials", | |||
users: [{ | |||
username: "admin", | |||
password: "$2y$08$AK6/jMQoUMpbnSxS3TTv3eIxiQfILfTjulpMvYxzomFi.ZZaz1IFu", | |||
permissions: "*" | |||
}] | |||
}, | |||
</syntaxhighlight>On crée un utilisateur nommé "admin" et dont le mot de passe est celui donné à <code>node-red admin hash-pw</code>. | |||
Et on relance le serveur. | |||
Et on relance la connexion avec le navigateur: | |||
[[Fichier:Nodered-login.png|sans_cadre|365x365px]] | |||
On rentre Admin + mot de passe et on se retrouve connecté. |
Version du 12 février 2025 à 00:05
NodeRed est un produit fabuleux. Installons le sur un Raspbery PI. Ici un Raspberry PI 4 de base (4Go)
Installation
On commence par un simple:
sudo apt update
sudo apt install nodejs
Tout se passe bien. Mais ensuite on installe le gestionnaire de packages npm. Ca semple une formalité mais....
sudo apt install npm
à chez moi pris une éternité et installé une centaine de dépendances. Mais ça a terminé et j'ai pu terminé par :
sudo npm install -g --unsafe-perm node-red
added 312 packages in 47s
63 packages are looking for funding
run `npm fund` for details
Bon, il suffit alors de lancer nodered.
node-red
11 Feb 22:38:13 - [info]
Welcome to Node-RED
===================
11 Feb 22:38:13 - [info] Node-RED version: v4.0.8
11 Feb 22:38:13 - [info] Node.js version: v18.19.0
11 Feb 22:38:13 - [info] Linux 6.6.51+rpt-rpi-v8 arm64 LE
On peut ouvrir avec un navigateur:
http://XX.YY.ZZ.TT:1880
Si l'adresse IP du serveur est XX.YY.ZZ.PP (1880 est le port par défaut de NodeRed)
Bon il y a quelques "popups" de présentation. On peut les lires la première fois!
Premier test
On va créer un petit "Hello world" avec nodered!
On "drague & droppe" trois éléments :
On les relie entre eux:
On édite l'élément "function 1".
msg.payload+=" Hello World!"
return msg;
Et on clique sur "Déployer" (le bouton rouge en haut à droite)
On obtiens la confirmation.
On sélectionne, a droite, la fenêtre debug.
Et on clique sur le carré bleu de l'élément "horodatage".
A chaque clic on a une ligne dans les logs de debug... On a vu que dans "function 1" on ajoute "Hello World" au "timestamp" .
Sécurisation
Il serait tout de même préférable d'ajouter un "login password" non?
Pour cela, on va tout d'abord encoder un mot de passe. Il y a pour cela une commande : node-red admin hash-pw
node-red admin hash-pw
Password: <ici on tape le mot de passe sans echo>
$2y$08$AK6/jMQoUMpbnSxS3TTv3eIxiQfILfTjulpMvYxzomFi.ZZaz1IFu
On arrète le serveur nodered (ctrl + C)
Et on édite le fichier : /home/admin/.node-red/settings.js
si admin
est l'utilisateur que fait tourner le serveur.
Dans la section "security" on décommente la partie
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "$2y$08$AK6/jMQoUMpbnSxS3TTv3eIxiQfILfTjulpMvYxzomFi.ZZaz1IFu",
permissions: "*"
}]
},
On crée un utilisateur nommé "admin" et dont le mot de passe est celui donné à node-red admin hash-pw
.
Et on relance le serveur.
Et on relance la connexion avec le navigateur:
On rentre Admin + mot de passe et on se retrouve connecté.