Aller au contenu

GO Print

Envoyer des données vers esp32/esp8266 via wifi à partir du gcode


chacha007

Messages recommandés

Bonjour à toutes et tous,

Je m'explique :
J'ai une imprimante wifi (wanaho D12/230) et je souhaiterais lui faire envoyer des données à un microcontrôleur(esp32) connecté au réseau.
Ceci à partir du gcode.

Je suis sur la piste du M81 192.168.1.xxx n , mais n'ai pas eu encore le temps de faire des test.

Si parmi vous certains ont déjà expérimenté cela et connaitraient la marche à suivre, sketchs, etc...
Merci d'avance pour le partage 🙂

edit: une seconde piste à creuser : https://www.arduino.cc/en/Tutorial/LibraryExamples/WiFiChatServer

Modifié (le) par chacha007
Lien vers le commentaire
Partager sur d’autres sites

Il y a 18 heures, chacha007 a dit :

Je suis sur la piste du M81 192.168.1.xxx n , mais n'ai pas eu encore le temps de faire des test.

Le M80/81 adr.es.se.ip 1|0 nécessite de passer par un greffon complémentaire: Octoprint-Tasmota qui «filtre» le M80/81 «brut» de Marlin et sait alors comment contacter la prise connectée à l'adresse IP.

Voir peut-être la commande «cURL» qui permet de nombreuses choses si le module Wifi de ta Wanhao le gère ?

🙂

  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 4 heures, fran6p a dit :

Le M80/81 adr.es.se.ip 1|0 nécessite de passer par un greffon complémentaire: Octoprint-Tasmota qui «filtre» le M80/81 «brut» de Marlin et sait alors comment contacter la prise connectée à l'adresse IP.

Voir peut-être la commande «cURL» qui permet de nombreuses choses si le module Wifi de ta Wanhao le gère ?

🙂

Merci pour ces infos très intéressantes 😉

Ce aurait été trop beau que le M80/81 soit directement interprété par l'imprimante...

Concernant la commande cURL, après quelques recherche, elle me semble hors de portée au vue de mes connaissances actuelles.

Je vais donc "simplifier" les choses en fonction de mes capacités :
Avec un microcontrôleur esp32 qui collectera les données d'un GPIO (l’idéal serait pwm) disponible de la carte mère avec le M42, pour les envoyer ensuite via son propre module wifi à un second esp32 qui utilisera ces données.

Et si aucun GPIO n'est dispo : l'imprimante peux gérer 2 extrudeurs et je n'en utilise qu'un, ce serait donc que le premier esp32 récolte les données dédiées au second extrudeur.

C'est faisable ?

Modifié (le) par chacha007
Lien vers le commentaire
Partager sur d’autres sites

Salut, 

 Faire communiquer deux Arduino ensemble (ou deux esp32) c'est franchement simple. La ou c'est plus tendu pour toi c'est que tu veux récupérer les données de ton imprimante ? 

En gros, quand ton imprimantes rencontre un GCODE, elle envoie une donnée sur ton esp32 ? 

La grosse question c'est quel type de donnée ? Si c'est un ON/OFF, oui tu peux utiliser la fonction M42 pour changer l'état d'une pinoche. Si ce sont des données plus complexes, il faut modifier en profondeur Marlin (tu peux implémenter des Gcode custom). Typiquement implémenter un PWM soft ou hard ....

J'ai juste une question : Quel est ton besoin final ? 

  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Salut @chacha007,

Je vais peut-être dire une grosse bêtise, mais il semble possible d'envoyer un message (donc des caractères / octets) vers SERIAL_PORT_2 via le Gcode M118 (exemple: M118 Pn2 eteint) voir la doc. Du coup avec des modules bluetooth ou en filaire voire un ESP32, tu pourrais communiquer avec "l'extérieur".

Modifié (le) par remibora
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 6 heures, raoullevert a dit :

En gros, quand ton imprimantes rencontre un GCODE, elle envoie une donnée sur ton esp32 ? 

Salut, oui c'est bien ça

Il y a 6 heures, raoullevert a dit :

Quel est ton besoin final ?

En premier lieu éteindre l'imprimante après un M109 R50 par exemple, pour ça M42 0/1 suffirait avec un arduino ou un attiny, voir mm un simple mosfet qui géreraient un relai.

En second lieu, ça dépendra de ce qui me passe par la tête, je peux pas te dire tout de suite... m'envoyer un message via telegram avec quelques infos par exemple l'avancement du print en %... Je suis sous prusaslicer qui à l'air de bien gérer les variables et les conditions IF dans le gcode.
Pour ça esp32 sur une pin pwm me semblerait idéal...

Je sais qu'il y a Raspberry pi qui fait ça, mais j'ai déjà quelques esp32, nano, etc.. sous la main que je maitrise pas trop mal.

Il y a 5 heures, remibora a dit :

Salut @chacha007,

Je vais peut-être dire une grosse bêtise, mais il semble possible d'envoyer un message (donc des caractères / octets) vers SERIAL_PORT_2 via le Gcode M118 voir la doc. Du coup avec des modules bluetooth ou en filaire, tu pourrais communiquer avec "l'extérieur".

Salut @remibora,

Après lecture de la doc, M118 irait parfaitement pour ce que je veut faire 😉
Il me reste plus qu'a tester... merci

Modifié (le) par chacha007
Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

@chacha007 : sous Klipper ça se fait easy 🙂

 

The following command is available when an output_pin config section is enabled:

  • SET_PIN PIN=config_name VALUE=<value> CYCLE_TIME=<cycle_time>
    The following command is available when an output_pin config section is enabled:
    
    SET_PIN PIN=config_name VALUE=<value> CYCLE_TIME=<cycle_time>

     

  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...