Aller au contenu

Surveillance d'impression 3D avec Octoprint


Messages recommandés

Posté(e) (modifié)

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
Posté(e)

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

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