Node to connect to Mariner (3D printer control software for RPi)

Hey gang,
Just got a 3D printer and discovered some clever fellow (Luiz) wrote some Linux code called Mariner that gives you remote control over your Chitu-based (Elegoo, Phrozen, etc) SLA resin 3D printer via a web interface! Super cool stuff. (He hacked the printers' onboard serial pins to gain full control and monitoring.)

I've been thinking about how to integrate Node-RED to run fans and heaters based on environmental sensors inside the printing cabinet. Then I realised what kinds of things would be possible if there was a node that talked to Mariner. We could do things like "Don't start printing until temperature is 25-30*C for 5 continuous minutes", "Run air filtration fan for 2 hours after print has finished" or even "If resin vat level is low, pause printing and run a pump to top it up from the bottle." SO many cool things would be easily possible.

I don't know even the first thing about how to create a NR module, but I'm sure I could pass on relevant information to the Mariner community, who seem to be very code-savvy.
Could someone point me in the right direction, please?

Unfortunately I know nothing about "Chitu" so cant help but If the developers have an existing HTTP API or utelise MQTT much of what you are asking is maybe already possible without developing anything.

PS for developing a node-red contrib node, start here

Thanks so much, Steve! I've added a post on the Mariner Github discussion.

(Chitu is the Chinese manufacturer who makes the control systems for the many of the domestic SLA 3D printers. In other words, there are a multitude of printers that Mariner works with.)

Hey all,
I talked with the Mariner developer and asked about talking to Mariner from the CLI. He said it's possible and gave some examples (such as $ curl -X POST http://iot-mariner:5000/api/printer/command/pause_print). I guess I just use an Exec node for this??

Assuming that is the case, when I execute the command to ask the printer how much time is remaining, how will I be able to take that response and pass it as an output from the Exec node?

Thanks again for your help with this!
Dax.

This is the list of API endpoints that are available:

Use the built in http request node to call http endpoints.

There are some basic examples in the cookbook

1 Like

!!!!!! :grinning: :grinning: :grinning: !!!!!!

Thanks for your help, Steve. :+1:

3 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.