@GBoulvin vous a donner la solution, il faut être dans le groupe dialout pour accéder au port série.
Bonjour @VonOx
Je dois taper cette commande? même si Node red est installé et fonctionne , ça ne perturbera rien?
desolé pour mon ignorance, mais j’essaie de trouver des solutions mais en vain.
merci pour ton aide
il faut que je l’ adapte a mon cas forcement, la ligne qui nous intéresse c’est celle là :
-u node-red:dialout
Mais je ne sais pas l’envoyer au RPI, j’ai tapé ça :
docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
-u root \
--network=host \
--name node_red \
-v /var/lib/node-red:/data \
-u node-red:dialout \
nodered/node-red
mais visiblement c’est faux
j’ai tapez cette commande
ls -l /dev/ttyUSB1
et en retour j’obtiens ce message :
crw-rw---- 1 root dialout 188, 1 Jul 17 21:08 /dev/ttyUSB1
Est ce que ça veut dire "que l’on est bien dans le groupe Dialout "?
@Psoy
hello,
je n ai pas tout les elements , mais dans ta commande docker run tu as au moins un problème : tu appliques 2 fois l option -u (user) une fois root et une fois node-red:dialout donc il doit y avoir un conflit
Et il faut supprimer ton conteneur existant avant de le recréer
Bonjour @Einstein8854
Je me doutais un peu , mais comme je ne connais la structure de cette commande, j’ai tenté.
Bonjour VonOx
Ça je l’ai fais avant, puis j’ai tapez la commande modifiée, mais j’ai un retour de Putty qui me disait que ce n’était pas bon.
tu parlais de Dialout, j’ai tapez cette commande
ls -l /dev/ttyUSB1
et en retour j’obtiens ce message :
crw-rw---- 1 root dialout 188, 1 Jul 17 21:08 /dev/ttyUSB1
Est ce que ça veut dire "que l’on est bien dans le groupe Dialout "?
docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name node_red \
-v /dev:/dev \
-v /var/lib/node-red:/data \
nodered/node-red
ça devrait être suffisant, tu le lance en privileged donc normalement pas besoin de user ou groupadd
Il faut juste mapper /dev sinon ton conteneur ne le vois pas
ça c’est sur l’hôte , on touche à rien de ce côté
encore merci @VonOx pour tes réponses.
mais je suis toujours avec la même erreur
"[serialconfig:5fefad5a76dd3e43] serial port /dev/ttyUSB0 error: Error: Error: Permission denied, cannot open /dev/ttyUSB0"
J’ai désinstallé le container node_red, puis j’ai supprimé les dossiers node-red dans \var\lib.
j’ai relancé ta commande mais ça rebootait comme au départ, donc j’ai lancé la commande
sudo chown -R 1000:1000 /var/lib/node-red
j’ai restart le container et celui ci est bien repartit .Mais j’ai toujours cet accès refusé au port USB que ce soit le 1 ou le 0
docker run -d \
--log-opt max-size=10m \
--restart=always \
--network=host \
--name node_red \
-u node-red:dialout \
--device=/dev/ttyUSB0 \
--device=/dev/ttyUSB1 \
-v /var/lib/node-red:/data \
nodered/node-red
Essaye ça
Donc après double vérification, il semble que ça a évolué. On dirai que l’on se retrouve dans la config du changement de version de la palette serial port 1.01 contre 0.15 :
.
je changerai la version toute à l’heure je vous tiens au courant
encore merci Vonox
Bonsoir ,
Grand merci @VonOx . c’etait bien ça , j’ai pu redmarrer le RFlink mais il faut encore appliquer la manip de @Bjm à savoir de rétrograder la version du Serialport en repassant à la v0.15
je vais faire un tuto
merci encore
Tuto pour réinstaller NODE Red en V3
Un grand merci à @VonOx , pour m’avoir guider bien patiemment.
La commande d’installation dans cette vidéo ne fonctionne plus à la suite du passage de la V3 de Node Red. Il faut alors la remplacer par les commandes suivantes :
: Intégrer Node-RED avec Gladys Assistant en MQTT | Gladys Assistant
Désinstaller l’ancien node red
1 - stopper le container docker
docker stop node_red
2 - supprimer le container node red
docker rm node_red
3 - supprimer le dossier node-red dans \var\lib
cd /var/lib
4 - on est rentré dans le dossier lib, affichage des éléments du dossier
ls
5 - chercher le dossier node-red (attention tiret du 6) et le supprimer :
sudo rm -r node-red
6 - vérifions qu’il n’ est plus le dossier node-red
ls
7 - retour a l’invite pi@gladys:~ $
cd /
8 - je reboot le rpi (je ne sais pas si c’est utile mais ça me rassure)
sudo reboot
9 - Vérifions qu’il n’y est plus le container node red
docker ps
installation de node red
1 - tapez la commande de @VonOx
" il faudra avoir un système branché sur les ports USB0 et USB1, pour ma part j’ai un RFlink sur le port ttyUSB0 et la cle zigbbe Sonoff sur le port ttyUSB1. Donc il faudra peut être adapter dans les lignes " --device=/dev/ttyUSB0 \ " le nom du port utilisé par exemple « –device=/dev/ttyACM0. »
docker run -d \
--log-opt max-size=10m \
--restart=always \
--network=host \
--name node_red \
-u node-red:dialout \
--device=/dev/ttyUSB0 \
--device=/dev/ttyUSB1 \
-v /var/lib/node-red:/data \
nodered/node-red
2 - puis celle-ci
sudo chown -R 1000:1000 /var/lib/node-red
3 - Générer un hash : Pour avoir plus de précision regarder la vidéo de Pierre-Gilles : Intégrer Node-RED avec Gladys Assistant en MQTT | Gladys Assistant
Générer un hash
docker exec -it node_red node-red admin hash-pw
exemple de hash : $2b$08$tfrMEc4pnblhhSDFFBUjeOtGU.Ixh5d19P31NWCf2JZKmwZF888mK
4 - Editer le fichier avec nano : Ne pas oublier Sudo (devant pour moi il le faut)
sudo nano /var/lib/node-red/settings.js
Enlever les double / entre « adminAuth: » et l’accolade de fin } correspondante à adminAuth: {
5 - Coller le hash généré
6 - Puis redémarrer node red
docker restart node_red
Rétrogradage de la version de Serialport
on va utiliser la version 0.15.0 au lieu de la version 1.0.1
merci a @Bjm
Donc il faut garder la version node-red-node-serialport 0.15.0. Pour récuperer cette version, il faut suivre le tuto de @Bjm , que je vous colle ci-dessous
j’ai installé node-red-node-serialport
version 0.15.0 qui fonctionnait sur ma 32 bits
https://www.npmjs.com/package/node-red-node-serialport/v/0.15.0
1 - Dans le terminal pour ouvrir un Shell dans docker
docker exec -it node_red /bin/bash
cela me renvoie
bash-5.0#
2 - Je copie la commande suivante au bout
npm i node-red-node-serialport@0.15.0
Cela mouline et à la fin me renvoie ceci
notice created a lockfile as package-lock.json. You should commit this file.
+ node-red-node-serialport@0.15.0
added 48 packages from 37 contributors and audited 338 packages in 60.866s
45 packages are looking for funding
run `npm fund` for details
found 4 critical severity vulnerabilities
run `npm audit fix` to fix them, or `npm audit` for details
3 - Comme il y a 4 vulnérabilités critiques je fais
npm audit fix
Comme proposé
4 - Puis
exit
5 – redémarrage de node red
docker restart node_red
Installation de la "palette : node-red-node-serialport "
Ouvrir Node RED, pour installer la palette " node-red-node-serialport "
Cliquez-en haut à droite sur les 3 barres horizontales, pour ouvrir le menu ci-dessus.
image262×506 4.11 KB
je ne sais pas pourquoi les image s ne s’affichent pas , mais en cliquant dessus elles s’ouvrent ces images sont tirées du tuto RFlink,NodeRed et Gladys
Cliquez dans "manage palette " 11 -ème lignes. La fenêtre ci-dessous s’ouvre, cliquez dans l’onglet “install”, puis tapez “serial” dans “search modules” pour rechercher les palettes (bibliothèques). Des bibliothèques s’affichent. On choisira la bibliothèque (ou palette) “node-red-node-serialport”, cliquez dans le petit “install” sur la droite.
Une fois fait, cliquez sur l’onglet Nodes.
Vérifier que la palette est bien là. Ensuite vérifier dans les “filters nodes” colonne de gauche de l’écran que l’on a bien les nodes suivants :
Voilà ça devrait être reparti pour du low code.
@Psoy attention tu indique de supprimer le dossier de persistance, hors ce n’est valable que dans ton cas je penses, j’ai été confronté au souci de permission aussi et je n’ai pas eu à faire tout ça.
@VonOx il faut que je mette à jour la commande sur le blog ou pas ?
Moi côté docker je n’ai strictement rien fait
Bonsoir @VonOx
le dossier persistance c’est node-red, dans /var/lib?
il ne faut pas le faire , je pensai que tout purger ce serait mieux!
faut il que je supprime ce passage?
j’ai eu le bonheur d’utiliser plusieurs fois ce tuto malheureusement, mais ça à toujours fonctionné
Bonsoir Pierre-Gilles
j’en parle au début du tuto, comme quoi la commande qui est dans ta vidéo ne fonctionne plus avec la V3 de Node red. Peut être préciser qu’il y a ce problème car c’est la première chose que l’on va faire pour installer Node red, c’est d’aller voir ta vidéo et la page d’intégration qui est liée. Pour ma part j’ai mis à jour mon tuto sur « RFlink Node Red et Gladys », il faudra que je le réorganise un peu je pense
Bonne soirée
Est ce que la ligne --device=/dev/ttyUSB0 \
peut etre remplacé par --device=/dev/ttyACM0 \
, si on a un device qu’il l’utilise . @tiboys a sa carte arduino déclarée sur ce port ttyACM0
merci
Bonne soirée
Oui c’est a adapter selon le device, c’est aussi pour ça que généralement on crée une règle udev, cela permet d’avoir un « chemin » permanent
j’ai zappé ça , je vais le préciser.
Je rajoute ça avant :
" il faudra avoir un systeme branché sur les ports USB0 et USB1, pour ma part j’ai un RFlink sur le port ttyUSB0 et la cle zigbbe Sonoff sur le port ttyUSB1. Donc il faudra peut être adapter dans les lignes " --device=/dev/ttyUSB0 \ " le nom du port utilisé par exemple « –device=/dev/ttyACM0. »
c’est bon? (je te demande avant !