Chercher dans la communauté
Résultats des étiquettes.
1 résultat trouvé
-
[TUTO] Eteindre automatiquement une imprimante après un certain temps
Invité a posté un sujet dans Tutoriels
Celui-ci est destiné personnes qui utilisent OctoPrint et ont connecté leur imprimante à un relais. Pour ce point, je vous laisse faire une recherche, il existe déjà une chiée de sujets qui en parlent. Après avoir appliqué ce tutoriel, OctoPrint pourra automatiquement arrêter votre imprimante, mais en tenant compte de son activité en cours. Car la gestion d'événements d'OctoPrint, par défaut, ne permet pas d'insérer de conditions. Dernièrement, j'ai cherché un moyen d'arrêter automatiquement mon imprimante après un travail terminé. OctoPrint a une bonne gestion des événements mais un peu trop stupide pour cette tâche : que faire si je veux imprimer plusieurs fichiers l'un après l'autre ? Devrais-je laisser mon imprimante s'éteindre et la relancer ensuite ? Je ne suis pas certain que l'alimentation apprécie la manœuvre sur le long terme, donc ce n'était certainement pas une option pour moi. J'avais mis en place une gestion via relais, donc la plus grande tâche était déjà terminée : je peux contrôler mon imprimante et son éclairage via le menu d'OctoPrint. Vous devez donc être au même point avant de commencer. Puis vient l'automatisation : tout est dans un script qui sera exécuté par OctoPrint après chaque impression. Ce script utilise OctoCmd pour récupérer l'état de l'imprimante: est-elle inactive ? Si c'est le cas, l'imprimante est éteinte. C'est aussi simple que ça. D'abord, installez OctoCmd. Notez que sur OctoPi, le chemin menant à pip est /home/pi/oprint/bin/. Ensuite, créez le script que j'ai mentionné ci-dessus : nano /home/pi/autoshutdown.sh Et complétez-le avec le code ci-dessous. Vous devrez adapter le délai avant l'arrêt automatique selon vos préférences (ici 120 secondes, soit deux minutes) et la commande pour arrêter votre imprimante. La mienne est sur le GPIO 17, c'est peut-être différent pour la vôtre : #! /bin/bash sleepTime=120 sleep "$sleepTime" printerState="$(/home/pi/oprint/bin/octocmd status | grep -i 'state:' | sed -e 's/state: //g')" if [ "$printerState" = "Operational" ] then /usr/bin/gpio -g write 17 1 fi exit 0 Ensuite, créez le script exécutable: chmod +x /home/pi/autoshutdown.sh Enfin, déclarez le script dans le gestionnaire d'événements d'OctoPrint via le fichier config.yaml : events: enabled: true subscriptions: - command: (/home/pi/autoshutdown.sh) event: PrintDone type: system Maintenant, redémarrez le service OctoPrint et laissez la magie opérer !