Aller au contenu

Surveillance d'impression 3D avec Octoprint


Lazer

Messages recommandés

Module virtuel

Octoprint

 

Introduction :


Ce VD ne permet que de monitorer l'état d'avancement de l'impression 3D en cours.

Il n'est pas prévu pour agir sur l'imprimante.

 

Ceci n'est pas un tuto pour installer Octoprint, il y en a déjà plein sur Internet en texte, en image, ou en vidéo.

Pour info chez moi il tourne actuellement sur un Raspberry PI 3 B connecté directement en USB sur l'imprimante.

 

screenshot-virtual-device-octoprint.png.09596947b55780a1f3343dcf72aa9151.png

 

 

Pré-requis :

 

Dans les paramètres d'Octoprint, copier la clé API :

 

screenshot-octoprint-api-key.thumb.png.e9756bc4dd24e64dc6e5b07ff169d29b.png

 

 

Installation :

 

Importer le fichier vfib ci-joint.

 

Dans les propriétés du VD, renseigner l'IP et le port d'Octoprint :

 

screenshot-virtual-device-octoprint-properties.thumb.png.b012d0ff066b7b57a7a019b2f833a2aa.png

 

 

Import des icônes :

 

  • octoprint-off.png.e8701cfcb361be2f2a2f7192df5507fd.png octoprint-off.png
  • octoprint-connected.png.bc810ac908a3e333125403c157367ef2.png octoprint-connected.png
  • octoprint-on.png.727ccbcd97e40429804d30005608c9d5.png octoprint-on.png
  • octoprint-printing.png.e35c92254f99d2661eae70dde537ef0d.png octoprint-printing.png

 

Note : j'ai volontairement mis l’icône d'impression en rouge, comme pour dire "attention impression en cours, ne rien toucher", mais vous êtes libre de choisir les icônes de votre choix :)

 

Configuration :

 

Dans la Mainloop, renseigner la clé API, ainsi que les ID des icônes :

-- User variables
local apikey = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
local refreshOFF = 60 -- seconds
local refreshON  = 10 -- seconds
local icons = {
	["OFF"]       = 1001,
	["Connected"] = 1002,
	["PrinterON"] = 1003,
	["Printing"]  = 1004,
}

 

 

Monitoring avec le Watchdog :

 

{type = "VD", id = 123, match = {text="Total memory in use", interval=6*60}, no_match = {text="", type="ERROR"}, restart=true, notification = {"push", "email"}}, -- Octoprint

 

 

Intégration avec GEA :

 

  • Notification simple :
GEA.add({{"Label", id["VD_OCTOPRINT"], "LabelJob", "Operational"}, {"Label", id["VD_OCTOPRINT"], "LabelJobProgress", "100.0 %"}}, 30, "Impression 3D terminée avec succès", {{"Email", user["Lazer"], "Octoprint : Impression 3D terminée avec succès à #time#", "GEA : Octoprint"}})

 

  • Exemple d'actions personnalisées quand l'impression 3D est terminée (à adapter à votre environnement) :
    • on mémorise la valeur courante de chacun des 2 dimmers
    • on allume toutes les dimmers à fond
    • on envoie un email avec l'heure de fin de l'impression
    • on attend 10s pour que la caméra adapte la luminosité => on envoie un screenshot
    • on attend encore 5s de plus pour être certain que le screenshot a bien été effectué => on remet chaque dimmer à sa valeur précédente (partiellement allumé, ou totalement éteint, peu importe puisque leurs valeurs ont été mémorisées au tout début)
	GEA.add(
		{
			{"Label", id["VD_OCTOPRINT"], "LabelJob", "Operational"},
			{"Label", id["VD_OCTOPRINT"], "LabelJobProgress", "100.0 %"}
		},
		30,
		"Impression 3D terminée à #time#",
		{
			{"VariableCache", "LED_IMP3D_HAUT", {"Value", id["LED_IMP3D_HAUT"]}},
			{"VariableCache", "LED_IMP3D_COTE", {"Value", id["LED_IMP3D_COTE"]}},
			{"value", {id["LED_IMP3D_HAUT"], id["LED_IMP3D_COTE"]}, 99},
			{"Email", user["Lazer"], "Octoprint : Impression 3D terminée avec succès à #time#", "GEA : Octoprint"},
			{"Sleep", 10, {"Picture", id["CAMERA_IMPRIMANTE_3D"], user["Lazer"]}},
			{"Sleep", 15, {"Value", id["LED_IMP3D_HAUT"], {"VariableCache", "LED_IMP3D_HAUT"}}},
			{"Sleep", 15, {"Value", id["LED_IMP3D_COTE"], {"VariableCache", "LED_IMP3D_COTE"}}}
		}
	)

 

 

Screenshots :

 

screenshot-virtual-device-octoprint-closed.png.92589cebc8eeb8b9f047c4ec821733e2.pngscreenshot-virtual-device-octoprint-operational.png.3cccbcc8a1adf135c3ff0a29da30d551.pngscreenshot-virtual-device-octoprint-printing.png.124c70ff3283b258143771471d2443d4.pngscreenshot-virtual-device-octoprint-printing-sd.png.d2e250fb58408cf8001ab4d73c995ffd.pngscreenshot-virtual-device-octoprint-operational-100.png.c0aa65dd63cd073bb818a606b7c92866.png

 

 

Téléchargement :

 

 

 

Modifié par Lazer
  • Like 5
Lien vers le commentaire
Partager sur d’autres sites

Ajout dans le tuto de la ligne de configuration pour la surveillance avec le Watchdog, et un exemple de notification de fin d'impression avec GEA.

 

A partir de là, tout est possible en fonction des modules Z-Wave connectés à l'imprimante / Raspberry PI : envoi de screenshot de la webcam, extinction des LED / de l'imprimante 3D, etc

Lien vers le commentaire
Partager sur d’autres sites

  • 9 mois après...
×
×
  • Créer...