Baroudeur Posté(e) Aout 9, 2017 Posté(e) Aout 9, 2017 (modifié) Bonjour Je voulais mettre un relai utilisable sous Octoprint avec ma DiscoEasy mais sans brancher des tonnes de fils, sans avoir à souder des transistors ou des résistances et sans trop bidouiller le code. Je suis tout nouveau dans l'impression 3D et je n'y connais pas grand chose, mais j'ai fouillé un peu partout et j'ai enfin trouvé une solution très simple pour gérer un relai. Bon, je ne vous parle pas d'Octoprint qui est à mon avis un truc absolument génial pour surveiller et modifier des paramètres d'impression à distance. Pleins de tutos expliquent comment l'installer sur un Raspberry. Des relais, il y en a des tonnes ! Pour faire un choix, ce n'est pas facile. Celui pour lequel j'ai opté est un relai 4 voies (https://www.amazon.fr/gp/product/B073367N1Z/ref=oh_aui_detailpage_o05_s00) qui a la particularité de venir s'enficher directement sur le Raspberry : Ce module permet donc de s'affranchir de toute la partie câblage entre le Raspberry et le module relai, ce qui rentre dans mes objectifs de départ. Maintenant il va falloir le commander et savoir à quels GPIO sont affectés les 4 relais. Le problème quand vous recevez l'article, c'est qu'il arrive nu, aucune doc. Le vendeur, après contact, m'a bien envoyé une documentation, mais qui ne correspondait pas à l'article acheté. Le wiki du fabricant (Keyestudio) permet d'avoir un peu plus d'informations : http://wiki.keyestudio.com/index.php/KS0212_keyestudio_RPI_4-channel_Relay_Shield On sait désormais que les 4 relais communiquent respectivement avec les GPIO 7, 3, 22 et 25. Ben voilà ! Yapluka Coté Octoprint, je ne souhaitais pas mettre trop les mains dans le camboui pour ne pas le détraquer, mais il a fallu un petit peu. Je me suis inspiré d'un excellent blog http://jpg32190.fr/blog/2016/05/25/retour-configuration-doctoprint/ pour arriver à mes fins. Il va donc falloir installer une bibliothèque sur votre carte microSD où se trouve Octoprint, wiringPi qui permet de dialoguer avec les ports GPIO du connecteur du Raspberry. Branchez le Rasberry sur votre TV ou utilisez Putty pour vous connecter dessus en SSH. 1 - Installez wiringPi en tapant les lignes : sudo apt-get update sudo apt-get upgrade sudo apt-get install git-core git clone git://git.drogon.net/wiringPi cd wiringPi ./build 2 - Maintenant il va falloir éditer un fichier : sudo nano /etc/rc.local Comme il est dit dans le blog avant la ligne exit 0, tapez ceci : /usr/local/bin/gpio write 7 0 /usr/local/bin/gpio mode 7 out /usr/local/bin/gpio write 3 0 /usr/local/bin/gpio mode 3 out Ceci permet au lancement d'Octoprint de mettre les 2 relais 7 et 3 à zéro et de communiquer avec l'extérieur. Si vous souhaitez utiliser les 2 autres relais (22 et 25), il suffit de rajouter les lignes en changeant les chiffres, je vais en rester à 2 relais activables. Vous pouvez relancer Octoprint, il saura désormais reconnaitre les ports GPIO, éteindra les 7 et 3 (2 premiers relais du module acheté) et permettra de communiquer avec l'extérieur. De retour dans Octoprint, il va falloir gérer ces relais facilement. Pour ce faire, allez dans le Plugin Manager et installez 'System Command Editor' Ce plugin permet de rajouter très facilement des lignes au menu system accessible en haut de l'écran d'Octoprint, vous obtiendrez un truc comme ça : Dans cet exemple l'éclairage par bandes leds est géré par le relai 7 et l'imprimante par le relai 3. Pour rajouter ces lignes dans le menu system, allez dans le plugin System Command Editor qui affiche au départ une fenêtre vide avec un rectangle vert. Clic droit dessus pour soit créer une commande ou une ligne de séparation dans le menu. A noter qu'une ligne est automatiquement ajoutée lors de la création de la première commande. J'ai donc créé 4 commandes pour allumer et éteindre l'éclairage et l'imprimante. Voici par exemple comment créer la commande pour allumer les leds. On demande au gpio en rapport avec le relai voulu de se mettre à 1. Pour les autres commandes, on fait la même chose, il suffit de taper gpio write 7 0 par exemple pour éteindre le relai du gpio 7 et donc les leds. Dans System Command Editor, pour éditer une commande, il suffit de faire un clic droit dessus et d'apporter les modifications. Et, c'est terminé ! Lorsque dans le menu system d'Octoprint vous cliquez sur une ligne, le relai va allumer ou éteindre l'accessoire branché dessus, sans avoir quoi que ce soit à souder en plus sur le module relai. Une petite led placée sous chaque relai vous indique sont état (actif ou pas) Voilà, par exemple mon branchement pour les leds : Plus simple, c'est pas possible ! Il suffit juste de prendre un fil alimentant les leds pour le faire passer par le relai. A noter que dans les cosses de chaque relai, la partie centrale se connecte avec le picot à droite ou à gauche, celui de gauche étant fermé par défaut et celui de droite ouvert. Vous pouvez donc imaginer des montages divers avec des accessoires étant allumés dès le démarrage d'Octoprint ou bien éteints. De même dans le fichier que vous avez édité, il suffit par exemple de taper /usr/local/bin/gpio write 3 1 pour activer le relai 3 (sur lequel est connecté l'alimentation de l'imprimante) dès le lancement d'Octoprint. Voilà, j'ai fini. Un minimum de fils grâce au module relais enfichable et un minimum de codage grâce au plugin 'System Command Editor', c'est ce que je voulais. Et en plus ça marche parfaitement et à distance. Méfiez vous, tous les relais ne fonctionnent pas aussi simplement, il faut en effet alimenter le module en 3V et 5V pour gérer les relais. Ici, le constructeur a fait tout le câblage, vous n'avez plus qu'à enficher le module sur le Raspberry. J'ai cependant mis un film autocollant isolant sous le module relais car mon Raspberry ayant des dissipateurs de chaleur, je voulais éviter les contacts. Les entretoises fournies sont à mon avis un peu trop courtes, j'en ai imprimé 4 de 11mm de haut. Et j'ai aussi imprimé des plaques venant s'enficher dans l'arrière de la DiscoEasy pour brancher les alimentations de l'imprimante et des leds, ainsi qu'un branchement déporté pour l'imprimante. Merci de votre attention, bon bricolage et bonnes impressions ! Modifié (le) Février 26, 2019 par Yo' Ajout d'un préfixe 1 4
gisclace Posté(e) Aout 9, 2017 Posté(e) Aout 9, 2017 Bonjour, Très bon tuto ;-) Je le déplace dans la section en question :-)
corethan Posté(e) Aout 10, 2017 Posté(e) Aout 10, 2017 Bonjour, Super tuto qui semble faire la moitié du chemin que j'ai en tête. donc merci pour ça. Bon maintenant que tu peux piloter l'éclairage LED à distance via Octoprint... penses-tu qu'il y aurait moyen (c'est ça le problème ) de déclencher l'allumage de manière semi-auto c'est à dire en fonction d'un événement ? Je m'explique : j'ai mis en place un bot telegram qui m’envoie selon un rythme au choix (toutes les n minutes ou tous les n millimètres en Z) une photo de mon impression (oui j'ai la CAM bien sûr) avec un petit compte rendu : hauteur en Z, T° du bed et de la buse, temps écoulé, temps restant... bref c'est par défaut dans le bot telegram. Quand j'imprime la nuit j'éteins donc le bot me notifie bien ; mais la photo est noire. Soluce 1 : laisser la lumière de la pièce "ON" toute la nuit (bof...) Soluce 2 : allumer le bandeau LED 1 seconde ou plus ou moins (suffisamment tôt) pour que la lumière soit là, à la prise de photo du bot (moi c toutes les 15 minutes et à la fin du print pour info) et éteindre après. je me suis dit "événement Octoprint ?" "où je capture ça ?" "événement telegram qui envoie un ordre à Octoprint que l'on pourrait intercepter ?" bref je sèche. Aurais-tu par hasard une idée ? D'avance merci et de toutes façon merci pour ton tuto qui déjà traite de la partie "physique" Cdt Eric
Baroudeur Posté(e) Aout 10, 2017 Auteur Posté(e) Aout 10, 2017 (modifié) Merci à tous pour vos encouragements, c'est mon premier message un peu important. @corethan Je cherche aussi une solution pour le problème qui se pose à toi, je crois avoir une petite idée, il faut que je teste avant ;-) J'aurais aussi une question à poser aux habitués. Concernant ce relai, je souhaite le mettre dans un boitier fixé sur le Mod Ultime de Bezain au niveau du pied arrière droit, et pour ce faire je pense le mettre dans ce boitier en particulier, voilà ce que cela donne : Pouvez vous me dire si je risque des problèmes de surchauffe de la part du Raspberry, sachant qu'il ne gère que Octoprint ? Autre question similaire, la nappe de la camera passe juste au dessus du dissipateur, supporte-t-elle la chaleur ? Modifié (le) Aout 10, 2017 par Baroudeur
Invité Posté(e) Aout 11, 2017 Posté(e) Aout 11, 2017 (modifié) Le 10/08/2017 at 09:29, corethan a dit : Quand j'imprime la nuit j'éteins donc le bot me notifie bien ; mais la photo est noire. Il y a 15 heures, Baroudeur a dit : Je cherche aussi une solution pour le problème qui se pose à toi, je crois avoir une petite idée, il faut que je teste avant ;-) Pour ma part j'allume mon éclairage pile à la fin de l'impression, je patiente un peu le temps que PushBullet ait capturé mon image, et je l'éteins. events: enabled: true subscriptions: - command: (gpio -g write 18 0; sleep 120s; gpio -g write 18 1) event: PrintDone type: system Environ un an que j'emploie ce système et ça marche fort bien. Modifié (le) Aout 11, 2017 par Invité
corethan Posté(e) Aout 11, 2017 Posté(e) Aout 11, 2017 Merci @Chris V. donc il y a moyen. Moi en fait je cherche à allumer pas seulement à la fin du print mais à chaque fois un peu avant l'envoi de la notif telegram qui se fait soit toutes les x minutes (paramétrable) soit tous les x millimètres en Z (là aussi paramétrable) Cdt Eric
Invité Posté(e) Aout 11, 2017 Posté(e) Aout 11, 2017 Tu peux peut-être jouer sur l'événement "début d'impression" avec des sleeps à intervalles régulières. Jamais testé. Ou directement hacker le code du plugin pour exécuter une commande système (en l'occurrence celle qui allume ton éclairage) juste avant la prise de vue.
Baroudeur Posté(e) Aout 15, 2017 Auteur Posté(e) Aout 15, 2017 (modifié) Juste un petit clein d'oeil pour vous montrer mon installation finale Notez aussi que pour les lego, ils s'encastrent parfaitement sur la tête d'une vis M3 avec tête cylindrique, comme celles équipant la Dagoma. J'ai fait des relevés avec sonde thermique pour voir si le Raspberry chauffait avec Octoprint, les températures ne vont pas au delà de 30 à 35°, donc j'ai gardé ce boitier. Et voici même mon installation complète Modifié (le) Aout 15, 2017 par Baroudeur
slayer-fr Posté(e) Aout 15, 2017 Posté(e) Aout 15, 2017 il y a une heure, Baroudeur a dit : Juste un petit clein d'oeil pour vous montrer mon installation finale excellent , j'adore cette photo
Kazaam Posté(e) Octobre 4, 2017 Posté(e) Octobre 4, 2017 Le 11/08/2017 at 17:39, corethan a dit : Merci @Chris V. donc il y a moyen. Moi en fait je cherche à allumer pas seulement à la fin du print mais à chaque fois un peu avant l'envoi de la notif telegram qui se fait soit toutes les x minutes (paramétrable) soit tous les x millimètres en Z (là aussi paramétrable) Cdt Eric Et via une camera avec led infrarouge ? Sinon parfait le tuto
PaTou31 Posté(e) Novembre 26, 2017 Posté(e) Novembre 26, 2017 Bonjour, Merci pour ce tuto vraiment bien expliqué et agrémenté de photos.
cafewah Posté(e) Avril 17, 2018 Posté(e) Avril 17, 2018 bonjour, je cherche également a piloter via mon raspberry (octoprint) un relais pour allumer ou éteindre mon imprimante (CR-10) je comprends pas comment brancher l'alimentation de l'imprimante sur le relais (220v directement ?!?) merci pour l'échange de ton travail
Invité Posté(e) Avril 17, 2018 Posté(e) Avril 17, 2018 Il y a 2 heures, cafewah a dit : je comprends pas comment brancher l'alimentation de l'imprimante sur le relais (220v directement ?!?) Nah, dérive l'un des deux câbles qui partent de l'alim vers la carte électronique du boîtier de la CR-10 vers le relais et sors du relais pour repiquer sur le connecteur fraîchement libéré sur la carte.
Fabriceee Posté(e) Mai 22, 2018 Posté(e) Mai 22, 2018 Bonjour, J'ai suivie ton tuto mais je n'arrive pas à contrôler les relais avec octoprint. Ensuite, j'ai installé le wiki de keyestudio et quand je fais un test avec la commande sudo relay ça fonctionne. Mais dés que je redémarre le RPI ça ne fonctionne plus. Avez vous des pistes sur mon problème ? merci
Baroudeur Posté(e) Mai 22, 2018 Auteur Posté(e) Mai 22, 2018 @Fabriceee Vérifies bien qu'il n'y a pas d'erreur de frappe lors de la saisie des instructions sur le RaspB. J'ai reçu des messages persos pour ce problème, et il y avait à chaque fois une erreur de saisie.
fontanetflo Posté(e) Juin 28, 2018 Posté(e) Juin 28, 2018 Bonjour, Merci tout d'abord pour ces différents posts ! Pour ma part je n'arrive pas non plus à contrôler les relais correctement en passant par le SSH (petit problème suite à l'installation de Wiring Pi et avec l'interface Octoprint). Puis je suis tombé sur le plug-in "Enclosure Plugin" qui simplifie clairement la tâche et permet beaucoup de chose : On peut piloter des GPIO, faire des commandes G-Code, PWM les définires comme entrées ou sorties Programmer un démarrage automatique lorsque le serveur s'allume ou en début d'impression Programmer une extinction après la fin d'impression avec un timer possible Ajouter des entrées (capteurs, boutons, détecteur fin filament ...) pour déclencher une action sur les GPIO par exemple. Et rajouter un raccourci dans la NavBar (juste à côté des boutons systèmes, tout en haut) ... info : https://github.com/vitormhenrique/OctoPrint-Enclosure Bref tout à l'air de marcher pile poil ! Très intuitif, pas de commandes spécifiques à faire en SSH ou autres ... Voila, si cela peut aider 1 2
Toscanno Posté(e) Septembre 4, 2018 Posté(e) Septembre 4, 2018 Bonjour à tous, merci pour le tuto, pour ma part je bloque sur les GPIO, j'ai branché le IN1 sur la pin GPIO 21, le VCC au 5 et le GND. Installé winringPi mais lorsque je fais les "gpio mode 21 out" puis "gpio write 21 1" rien ne se passe, la sortie testée au voltmètre entre GND et le GPIO21 reste à 0V des idées ? Merci
sixbras Posté(e) Octobre 11, 2018 Posté(e) Octobre 11, 2018 Bonjour, Juste une petite note pour ceux qui aurait des problemes de conf des GPIO. J'ai suivis ce tuto et j'ai installé le plugin enclosure. Mais rien ne fonctionnait ou presque, en effet un seul relais était contrôlé. Apres recherche il se trouve que ma carte , modele KEYESTUDIO comme ci-dessus, acheté sur amazon, n'as pas les meme numéros de GPIO associé au relais. Apres recherche il semble y avoir une correspondance q faire entre les numeros de port dans la librairie wiringPI et les numeros GPIO. Bref en utilisant les ports 4,6,22,26 dans rc.local et dans le plugin Enclosure les 4 relais fonctionne normalement. Ci dessous les sources pour les curieux : - https://www.raspberrypi.org/forums/viewtopic.php?t=209357
David590 Posté(e) Octobre 16, 2018 Posté(e) Octobre 16, 2018 (modifié) Je n'ai pas réussi avec le ssh mais la soluce de @fontanetflo en utilisant les ports 4,6,22,26 comme l'a indiqué @sixbras c'est parfait, merci à vous J'essai tout de même d'aller un peu plus loin en essayant de les piloter à distance avec API Control J'ai trouvé des infos ici : https://github.com/vitormhenrique/OctoPrint-Enclosure/wiki/API-Control Avec ça je peux presque commander les relais : http://192.168.0.25/plugin/enclosure/setIO?status=false&index_id=2&apikey=CA8DCA8...... Mais ça ne fonctionne pas complètement, peu importe que je mette false ou true (setIO?status=false), le relais s’éteint mais ne s'allume jamais, il doit me manquer une connerie de parenthèse ou de point pour faire passer le "true" mais j'ai trifouillé dans tous les sens Dans les deux cas, j'ai une réponse "true" qui s'affiche : { "success": true } Une idée? Passez vous par autre chose pour la commande à distance? l'idéal serait un accès direct sur l'appli Octoclient sur le smartphone, avec un gcode peut être... Finalement, j'ai trouvé une solution avec le gcode, pour ceux que ça intéresse : ENC O[numero id] S[1pourON, 0pourOFF] Attention ENC puis la lettre O et non pas 0 par exemple ENC O3 S1 pour allumer le port 3 Comme ça j'ai juste eu à créer des raccourcis dans l'appli et je peux commander chaque fonction en un clique sur le smartphone Modifié (le) Octobre 16, 2018 par David590
Pixel05 Posté(e) Octobre 26, 2018 Posté(e) Octobre 26, 2018 Bonjour j'ai aussi un soucis avec la commande à distance: j'ai installé enclosure plugin sur mon Octoprint, un module 2 relais sur le raspberry. Je commande l'allumage/extinction de l'imprimante et les LED d’éclairage. depuis Octoprint pas de soucis, tout fonctionne. pour la commande à distance j'utilise Printoid, je me suis servi du proxy intégré au Rasberry Haproxy. j'ai donc créé 4 scripts pour commander les Gpio les commandes ne fonctionne pas alors que le streaming et le reste des infos marchent impec. j'ai testé depuis Putty le lancement des scripts (./script) ou les commandes en direct, ça ne fonctionne pas non plus. avant de le faire fonctionner depuis le smartphone, j'aimerai bien le faire marcher en direct depuis putty .
Pixel05 Posté(e) Octobre 30, 2018 Posté(e) Octobre 30, 2018 J'ai réussi à faire fonctionner les scripts. premier truc, ma carte SD était HS, impossible de modifier les fichiers. quand je modifiait un script, la modif était dans la RAM, mais quand je faisait un reboot, retour à la case départ! du coup dés que tout a marché, j'ai sauvegardé la nouvelle carte SD avec Win32disk imager. les GPIO sont différent entre Enclosure plugin et les scripts SSH sous Putty. exemple pour activer la broche GPIO 6, branchée sur la PIN physique 22, il faut noter le gpio 25 dans enclosure plugin et gpio 6 dans le script. C'est bien la pin N° 22 qui sera activée dans les 2 cas. mes relais se mettent sur ON quand la tension de la broche passe à zéro. Pour que le relais colle, il faut la commande gpio write 6 0.... et du coup mes scripts fonctionnement depuis mon smartphone sur Printoid pro
LanFy Posté(e) Novembre 9, 2018 Posté(e) Novembre 9, 2018 Bonjour, Petite question, est ce que toutes les pins du raspberry sont utilisées? j'aurai besoin de la pin 18 pour piloter un ruban de led du coup je me posais la question de savoir si je devais me prendre un contrôleur usb supplémentaire ou si je pouvais la récupérer directement
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