Aller au contenu

GO Print

Tenlog et Octoprint + plugin Enclosure


amemo06

Messages recommandés

Salut, dans l'autre post sur la TL-D3, je parlais de mon désarroi quand à l'usage d'Octoprint avec la Tenlog.

Mon boitier Octoprint a plusieurs relais pour, entre autre, contrôler l'allumage électrique de l'imprimante.

 

Sauf que du coup, deux problèmes se posent:

* L'imprimante s'allume avec un switch PC.

* Le port USB du Raspberry est alimenté en permanence. Du coup, la carte de l'imprimante est toujours alimentée. L'écran aussi. Mais clignote en permanence. Bref manque de courant.

 

J'ai un peu avancé depuis.

Je n'ai pas encore la solution en place mais tous les éléments sont ci-dessous.

 

Le relais contrôle toujours l'allumage de l'électricité

Et pour le port USB, il est possible de l'allumer ou l'éteindre avec un petit exécutable. J'en ai trouvé 2: hub-ctrl et uhubctl

 

La solution est là

'uhubctl' permet d'allumer le port et dans la foulée l'imprimante si elle est approvisionné en courant.

 

Il ne le reste plus qu'à faire un script pour appeler la commande avec les privilèges root

Pour l'instant, je ne sais pas faire depuis Octoprint. Le soucis est probablement d'entrer le mot de passe root. Je verrai ça demain.

 

Pour info, la commande pour allumer le port 2 de mon Raspberry est:

sudo uhubctl -l 1-1 -p 2 -a 1

 

Et pour éteindre:

sudo uhubctl -l 1-1 -p 2 -a 0

 

sudo uhubctl

permet de lister les ports.

 

Et ça fonctionne [emoji3]

 

Envoyé de mon SM-G973F en utilisant Tapatalk

 

 

Lien vers le commentaire
Partager sur d’autres sites

Finalement, ça fonctionne plutôt bien. Du coup un petit 'tuto' qui en fait n'est pas uniquement pour les imprimantes Tenlog en particulier. Ça s'adresse à toute imprimante qui soit

  • n'a pas de power switch permanent mais un bouton temporaire
  • à sa carte mère qui s'allume quand le port USB du raspberry fournie du courant

L'un des problèmes important à résoudre est de s'assurer que la carte mère de l'imprimante n'est pas alimentée par le port USB du Raspberry lorsque l'imprimante n'est pas alimentée par le courant secteur. Dans ce cas, si rien n'est fait, le Raspberry souffre à fournir du courant et la carte mère de l'imprimante souffre de n'avoir pas assez de courant. C'est pas bon du tout, l'écran de l'imprimante peu clignoter, l'imprimante peu redémarrer en permanence et je suppose tant la carte mère de l'imprimante que le Raspberry peu mourir !

Ma solution passe par le plugin 'Enclosure' et s'appuie sur un petit exécutable 'uhubctl' (petit programme qui permet d'allumer ou éteindre un port USB).

Le but est d'allumer ou d'éteindre le port USB dans le but d'allumer ou d'éteindre l'imprimante et éventuellement s'assurer que le port USB du Raspberry reste éteint lors d'un reboot du Raspberry

Step 1 - Installer uhubctl

Ce qui suit n'est pas de mon cru mais trouvé sur internet .

  • installer si nécessaire la librairie libusb. A noter qu'il y a des librairies plus à jour que la 1.0.0
    sudo apt-get install libusb-1.0-0-dev

     

  • Récupérer le source code de uhubctl
    cd /home/pi
    git clone https://github.com/mvp/uhubctl

     

  • Compiler uhubctl et éventuellement s'assurer que l'executable est bien executable
    cd /home/pi/uhubctl
    make
    chmod +x ./uhubctl

     

Step 2 - Déterminer le port USB à allumer/éteindre ainsi que son vendor id

cd /home/pi/uhubctl
sudo ./uhubctl

ce qui nous donne une réponse du genre

Current status for hub 1-1 [0424:2514]
  Port 1: 0503 power highspeed enable connect [0424:2514]
  Port 2: 0000 off
  Port 3: 0100 power
  Port 4: 0100 power

Dans l'exemple ci-dessus, ce qui nous importe:

  • le hub --> '1-1'
  • le Port USB -> Port 2
  • le vendor id -> '0424'

Step 3 - Les commandes pour allumer / éteindre le port USB 2 depuis mon exemple

  • Allumer: sudo ./uhubctl -l 1-1 -p 2 -a 1
  • Eteindre: sudo ./uhubctl -l 1-1 -p 2 -a 0

Step 4 - sudo ou pas sudo

La difficultée est que depuis Octoprint et le plugin Enclosure, je ne peux pas envoyer des commandes en mode root. Tout au moins je n'en suis pas capable. Du coup, je vais faire en sorte de ne plus avoir besoin de passer en mode root pour allumer ou éteindre un port.

Il s'agit de configurer les permission USB dans 'udev'.

La commande ci-dessous invoque un petit éditeur (nano) en mode root pour éditer le fichier '/etc/udev/rules.d/52-usb.rules'

sudo nano /etc/udev/rules.d/52-usb.rules

Et j'insère dans le fichier la ligne qui vas changer les droit USB sur le hub de mon choix en se basant sur le vendor id trouvé au step 2

SUBSYSTEM=="usb", ATTR{idVendor}=="0424", MODE="0666"

Step 5 - Éventuellement - s'assurer que le port USB reste éteint après un reboot du Raspberry

Ajouter la ligne pour éteindre le port USB dans le fichier /etc/rc.local

sudo nano /etc/rc.local

dans le fichier et avant la ligne exit ajouter la commande qui va bien

/home/pi/uhubctl/uhubctl -l 1-1 -p 2 -a 0

Step 6 - Créer une commande d'allumage et d'extinction dans le plugin OctoPrint Enclosure

Octoprint-Enclosure-commande port USB 2 OFF

Faire de même pour la commande qui allume le port

Octoprint-Enclosure-commande port USB 2 ON

 

Remarques

Tous les Raspberry ne sont pas identiques et en l'occurence, le Raspberry 4 est connu pour fonctionner différemment. Du coup, si ça ne fonctionne pas pour vous, il faudra chercher pourquoi. Le lien https://awesomeopensource.com/project/mvp/uhubctl contient ne nombreuses informations supplémentaire qui peuvent aider

Personnellement, j'ai utilisé le plugin Enclosure, mais de nombreux autre plugin permettent de lancer des commande unix. La configuration est différente mais le résultat identique. Par exemple le plugin 'System Command Editor'

 

Bon courage !

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...

Salut Denis, 

c'est effectivement la solution 'facile'. Et ça fonctionne bien. Par contre, lors des essais que j'avais fait comme toi, dans aucun cas, je n'arrivai à allumer l'imprimante à distance lorsqu'elle est éteinte.

Avec l'extinction du port USB et le rallumage du dis port, j'arrive à rallumer l'imprimante. Malheureusement, ce n'est pas fiable. Il me faut parfois plusieurs essais. Et parfois, ben j'y arrive pas.

A noter que ma Tenlog est dotée de l'arrêt depuis le menu. 

Lien vers le commentaire
Partager sur d’autres sites

merci de vos tuto je vais suivre vos projets pour configurer Octoprint et apprendre .🙂
j'ai commandé un Octoprint pour aborder les sujets de configurations.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...

Hello les amis.

Je rouvre ce post car j'ai une Tenlog D3 et je le pilote par un Raspberry avec octopi.

Une fois connecté à l'imprimante tout fonctionne à merveille même sur des prints trés long.

Par contre je galère un peu pour la mise en route, je m'explique.

Le raspberry ne me sert que pour cette imprimante, donc je l'éteind lorsque je n'imprime pas de façon un peu sauvage puisqu'il est sur une multiprise avec interrupteur.

Si je met l'imprimante aussi sur cette multiprise, lorsque j'allume la multiprise le raspberry s'allume et le port usb aussi avant même que je n'allume l'imprimante. Donc j'ai le fameux problème de l'écran qui clignote et lorsque j'allume l'imprimante elle reste bloquée sur l'écran de démarrage "mise en route". Donc pas bon.

J'ai donc branché l'imprimante en permanence, comme ça j'allume d'abord l'imprimante, j'attends qu'elle est fini de démarrer (heureusement ça prend 3secondes) et ensuite j'alimente mon raspberry pour qui met lui plus de temps pour démarrer. Et au final j'ai beau cocher la case "auto-connect on server startup" le raspberry ne se connecte pas à l'imprimante. Pourtant ce mode de fonctionnement marche nickel avec mon Anet A8.

Du coup je suis obligé d'aller manuellement sur l'interface web d'octopi pour cliquer sur connexion !!

Un peu galère tout ça ! Avec l'Anet A8 je n'avait déjà pas le souci du port usb mais en plus elle se connectait directement à octopi et j'avais même fait un Gcode de démarrage automatique qui me mettait la buse et le plateau en chaffe. Donc j'appuyais sur un boutton (celui de la multiprise) et j'allais boire un café, à mon retour tout était en route et chaud !

Comment puis-je faire un démarrage plus simple avec la Tenlog ?

Merci de votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Ok il suffit de coller un petit bout de scotch dans la prise USB pour isoler le plus 5 volts et le problème est clos; ainsi OCTOPRINT n'alimente pas l'imprimante par le port USB.
il faut faire un essai çà doit fonctionner le scotch; il doit être placé dans la prise via OCTOPRINT sur la pin tout à droite.
a+

Lien vers le commentaire
Partager sur d’autres sites

Oui effectivement le scotch pour isoler le +5V résout le problème de blocage de l'imprimante si le Raspberry est allumé avant elle.

En revanche, la connexion automatique est aléatoire. Parfois octoprint se connecte automatiquement à l'imprimante en fin de boot du raspberry, parfois non.

Avez-vous rencontré ce souci ?

Lien vers le commentaire
Partager sur d’autres sites

Non c'est question de temps il faut attendre que Octoprint soit complétement initialisé autrement çà ne boot pas c'est normal !
je ne rencontre pas ce problème à voir avec le serveur de la BOX ?
je ne comprends pas çà dépasse mes compétences !
Donc il faut allumer en premier l'imprimante c'est le plus simple ....

Modifié (le) par vap38
Lien vers le commentaire
Partager sur d’autres sites

Je ne parle pas de connexion à la box, je parle simplement de connexion de octroprint à l'imprimante (liaison USB).

Ma démarche est bien celle d'allumer d'abord l'imprimante et d'attendre qu'elle soit démarrée, puis ensuite je démarre le raspberry et j'attends bien entendu qu'il boot et qu'il exécute octoprint. Mais parfois après une vingtaine de seconde il se connecte à l'imprimante, et d'autre fois j'ai beau attendre 5 minutes il ne se connecte pas tout seul.

Je dois alors aller manuellement sur l'interface web octoprint pour cliquer sur "Connect" et là la connexion se fait correctement.

Modifié (le) par merlinx
Lien vers le commentaire
Partager sur d’autres sites

Salut, vue que tu allumes physiquement l'imprimante, il ne reste plus que le Raspberry et l'USB. Regarde mon post au sujet de l'allumage et extinction du port USB via le Raspberry. Ca devrait aider.
Toutefois, je n'ai pas non plus de résultats très fiables.
Du coup j'envisage de changer la caméra de place histoire d'avoir un retour visuel du plateau mais aussi de l'écran...


Envoyé de mon SM-G973F en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Ouaip, pas simple tout ça.

J'ai "apparement" trouvé une config qui marche à chaque coup. (a confirmer dans le temps).

- J'ai installer le plugin Portlister et ça a amélioré les choses.

- Mais il a fallu aussi que j'impose de port dans l'onglet connexion. Avec AUTO s'était aléatoire voir ça ne fonctionnait pas.

- Ensuite j'ai décoché auto-connect puis j'ai reconché ! oui ça ne sert à rien en théorie mais j'ai lu un post sur un forum anglais qui donnait se conseil ...

- Puis j'ai re coché save connexion config.

- j'ai isolé le 5V de la liaison USB

Ma procédure pour allumer le tout :

- allumer l'imprimante et attendre l'écran principale

- mettre le raspberry sous tension. En fin de bout du raspberry, l'imprimante redémarre une première fois, puisque 10 ou 20 secondes plus tard elle redémarre une seconde fois et elle se connecte bien au raspberry automatiquement puisque mon cycle de préchauffe automatique se lance ... oufff, enfin.

 

Ca a fonctionné une bonne dizaine de fois ce matin comme ça. Touche plus à rien ...

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...