Dreaky Posté(e) Février 8, 2018 Posté(e) Février 8, 2018 (modifié) Bonjour à tous, Dans son excellent tuto sur la fabrication d'un caisson, @Baroudeur propose l'utilisation d'une prise connectée pour permettre d'éteindre et d'allumer à distance toute l'installation de notre imprimante. Ce tuto reprends cette prise, et ajoute la possibilité de la contrôler depuis Octoprint (extinction automatique en fin de print, ou bien extinction manuelle depuis le menu d'Octoprint). Cela permet notamment d'éviter que l'imprimante (et tout le reste : Alim, raspberry, webcam etc...) reste allumé toute la nuit après que l'impression a terminé à 4h du mat' par exemple. Si vous n'avez jamais eu l'occasion d'utiliser un environnement type Unix, ou bien faire de la bidouille type scripting, ce tuto risque d'être assez déroutant, mais faisable C'est parti ! Le nécessaire : Une prise connectée de marque TP-Link (HS100 ou HS110) Un Octoprint fonctionnel tournant sous raspberry connecté au réseau Depuis une connexion SSH sur notre Octoprint (possible avec PuTTY), on commence par mettre à jour les packages de notre Octoprint (cela peut mettre un certain temps) : sudo apt-get update sudo apt-get upgrade Ensuite on installe Node.js : curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash - sudo apt-get install nodejs On récupère ensuite l'API qui va nous servir pour communiquer avec notre prise connectée : git clone https://github.com/plasticrake/tplink-smarthome-api.git cd tplink-smarthome-api sudo npm install -g tplink-smarthome-api Et on donne se donne les droits d'accéder au package fraîchement installé : sudo chown -R $USER /usr/local/ sudo chown -R $USER /usr/lib/ cd ~/ Il faut ensuite créer le script qui va permettre d'éteindre la prise. Il s'agit d'un script Node.js que l'on nommera "plug_power_off.js". Pour cela on peut le créer avec nano (je vous invite à aller lire cette doc pour son utilisation) : const { Client } = require('/usr/lib/node_modules/tplink-smarthome-api'); const client = new Client(); const plug = client.getDevice({host: 'IP_DE_LA_PRISE'}).then((device)=>{ device.getSysInfo().then(console.log); device.setPowerState(false); }); Important dans ce script : Il faut remplacer "IP_DE_LA_PRISE" par l'adresse IP locale qu'utilise la prise sur votre réseau local. A partir de maintenant, on doit être capable d'éteindre la prise avec la commande suivante : node plug_power_off.js Si ce n'est pas le cas, c'est qu'il y a eu un loupé quelque part (vérifier que tout est bien installé : NodeJs, l'API et le script bien écrit). Ensuite, Octoprint donne la possibilité de déclencher des actions sur des types événements (du style "démarrage du print", "print terminé" etc...). Pour cela il faut éditer le fichier "config.yaml" qui se trouve dans ".octoprint" : cd .octoprint sudo nano config.yaml Et on y ajoute le texte suivant : events: enabled: True subscriptions: - event: PrintDone command: node ~/plug_power_off.js type: system Comme vous l'aurez compris : ces quelques lignes permettent de déclencher notre script d’extinction de prise à la fin de chaque print. Enfin, vous avez aussi la possibilité de rajouter un menu dans l'interface d'Octoprint à l'aide du plugin "System Command Editor", qui vous permettra d'éteindre manuellement. Pour cela, après avoir installé le plugin (vous pouvez vous inspirer de ce tuto vidéo), on rajoute une nouvelle commande : Et on se retrouve avec un joli menu : Vous pouvez bien entendu choisir l'une, l'autre ou les deux possibilités pour éteindre votre prise. Si vous ne voulez pas tout éteindre systématiquement après chaque print, alors l'option manuelle via le menu est peut-être plus adaptée pour vous. J'espère avoir été clair dans le tuto, bon courage et bon bidouillage ! Modifié (le) Février 8, 2018 par Dreaky
thsrp Posté(e) Février 8, 2018 Posté(e) Février 8, 2018 En plus simple... mais plus compliqué car il faut installer l'ecran MKS TFT 3.2 il y a un module en option prévu pour mettre OFF l'imprimante en fin de print
Dreaky Posté(e) Février 8, 2018 Auteur Posté(e) Février 8, 2018 (modifié) il y a 41 minutes, thsrp a dit : En plus simple... mais plus compliqué car il faut installer l'ecran MKS TFT 3.2 il y a un module en option prévu pour mettre OFF l'imprimante en fin de print L'imprimante oui, mais pas tout le reste (raspberry, alim externe, ventilation externe, cam etc...) Modifié (le) Février 8, 2018 par Dreaky
Tfou57 Posté(e) Février 8, 2018 Posté(e) Février 8, 2018 (modifié) Il y a 4 heures, thsrp a dit : En plus simple... mais plus compliqué car il faut installer l'ecran MKS TFT 3.2 il y a un module en option prévu pour mettre OFF l'imprimante en fin de print Bonjour, As-tu un lien Aliexpress vers ce module prévu pour mettre en OFF qui est étudié pour travailler avec MKS32 ? J'avais vu un module de détection de coupure de courant permettant de mettre dans ce cas l'imprimante si l'on utilise un onduleur. Avoir une mise OFF automatique en fin d'impression peut être sécurisant. As-tu un datasheet de ce module permettant de mettre en OFF après la fin de l'impression ? Modifié (le) Février 8, 2018 par Tfou57
AMaX Posté(e) Février 25, 2018 Posté(e) Février 25, 2018 Merci pour ce tuto ! Sachant que j'ai une HS110, le top serait de pouvoir récupérer les données de conso depuis le pré-heat jusqu'au moment de la coupure, histoire d'avoir une mesure relative a l'objet plus précise quoi. Quelqu’un sait si c'est possible ?
Dreaky Posté(e) Février 25, 2018 Auteur Posté(e) Février 25, 2018 il y a 53 minutes, AMaX a dit : Merci pour ce tuto ! Sachant que j'ai une HS110, le top serait de pouvoir récupérer les données de conso depuis le pré-heat jusqu'au moment de la coupure, histoire d'avoir une mesure relative a l'objet plus précise quoi. Quelqu’un sait si c'est possible ? De rien ! Rien n'est impossible, mais après rapide recherche, la mesure d'une consommation électrique sur une période n'est pas disponible avec cette API. Pour l'instant, la seule chose possible c'est de lire la consommation en temps réel (via la commande getRealtime). Donc pour avoir une consommation sur la durée, il faudrait faire un script qu'on lance au démarrage de l'impression (via les events), et qui à intervalle régulier récupère la consommation en temps réel. A la fin de l'impression, il fait une moyenne de la conso et calcul l'énergie totale consommée sur toute la période. Si tu es à l'aise avec le scripting, tu peux tenter
Dreaky Posté(e) Février 25, 2018 Auteur Posté(e) Février 25, 2018 Sinon plus simple : Il existe déjà un plugin octoprint qui fourni (entre autre, avec plusieurs autres stats) directement la consommation en kWh de l'imprimante : https://plugins.octoprint.org/plugins/stats/ Il faut pour cela lui indiquer la consommation électrique de chacun des éléments de l'imprimante : Donc pas besoin de se servir de la prise TP-Link. Avantage : simple à mettre en place Inconvénient : ne prends pas en compte la consommation des éléments en plus de l'imprimante qui serait plugués sur la prise (comme l'alim du raspberry, la webcam, l'éclairage etc...).
AMaX Posté(e) Février 25, 2018 Posté(e) Février 25, 2018 Ok merci, je note les deux solutions, sachant que la 1ère semble plus juste et tout à fait réalisable.
fredondem Posté(e) Décembre 30, 2018 Posté(e) Décembre 30, 2018 (modifié) Bonsoir, Je vois que le plugin pour le TP-Link est Blacklisté ? https://plugins.octoprint.org/blacklist/ EDIT du 02/01/19 : Citation jneilliii a commenté le 17 mars 2018 Je ne suis pas tout à fait sûr, mais d'après ce que je peux dire, la liste de la liste noire concerne des versions spécifiques du plug-in et une version spécifique d'OctoPrint. C'est pour empêcher les gens d'installer une version plus ancienne du plugin, je suppose. Donc RAS. Le Plugin actuel "TP-Link Smartplug (0.9.10)" est parfaitement fonctionnel normalement. Modifié (le) Janvier 1, 2019 par fredondem
fredondem Posté(e) Février 23, 2019 Posté(e) Février 23, 2019 (modifié) Au début j'ai fais comme Heliox le préconise dans sa vidéo. Mais j'ai eu quelques déboires avec les réglages d’arrêt du TP-Link, quand j’incluais son arrêt dans le G-code du print. (Ou plus précisément, dans le "Gcode de fin" de la configuration de l'imprimante du slicer (Cura et Slic3R en l'occurrence) Apparemment Octoprint n'appréciait pas du tout. J'avais un message d'erreur à la fin (pas noté), et dans l'historique des print j'avais tout le temps le point d'exclamation rouge malgré que le print se soit bien terminé et que la prise s’éteignait correctement. Voici le réglage que j'ai trouvé pour ne plus avoir de message d'erreur : J'ai finalement opté par "sortir" la commande d’arrêt du TP-Link, dans les " Script GCode" d'Octoprint. Ce qui peut être un inconvénient, car la machine s'éteint à chaque fin d'impression. Mais moi, ça me va bien comme ça. 1- Réglage du Plug-In TP-Link : 2- Et le réglage du Script GCode d'octoprint rubrique "Après l'impression" Vous aurez noté au passage la commande de levage du X quand j’annule un print raté (C'est plus pratique pour retirer le PLA du print avorté) Si quelqu'un a une autre vision plus pragmatique ou qui marche mieux, je suis preneur. > Je trouve quand même que les explications de réglage de ce plug-in sont quelques peu énigmatique. Modifié (le) Février 23, 2019 par fredondem
fredondem Posté(e) Février 26, 2019 Posté(e) Février 26, 2019 Le 23/02/2019 at 09:58, fredondem a dit : Si quelqu'un a une autre vision plus pragmatique ou qui marche mieux, je suis preneur. Et depuis il y a eu cette discussion ICI et j'ai résolu mon problème !
Barceque Posté(e) Mars 7, 2020 Posté(e) Mars 7, 2020 Bonjour à tous, j’ai pas mal cherché sur les forums comment utiliser la prise tp link avec OctoPrint mais je n’arrive pas à trouver comment faire ce que je voudrai: je souhaiterai que mon raspberry soit alimenté par la prise TP-Link comme l’imprimante mais qu’il puisse s’eteindre de manière correcte. À la fin de l’impression je voudrai qu’une commande soit envoyée à la prise pour qu’elle s'éteigne dans 5 mn, puis qu’octoprint s’envoi un shutdown now. Comme ça au bout de 5 mn tout s’éteint, mon imprimante a refroidi et le raspberry est éteint proprement. Avez-vous une idée ?
Fredevils Posté(e) Mai 24, 2020 Posté(e) Mai 24, 2020 Bonjour à tous, J'ai tout installé. Octoprint et une prise connecté pour l'imprimante. Ma question est est il possible de mettre une deuxième prise connectée pour gérer de l'éclairage par exemple.... Merci à vous
pcal Posté(e) Mai 24, 2020 Posté(e) Mai 24, 2020 salut, oui sans problème, il faut juste décocher l'option "déconnecté " si non quand tu vas éteindre ton éclairage octoprint va se déconnecter de l'imprimante et mettre fin à l'impression
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant