Skip to content
Minty Trebor edited this page Jan 26, 2021 · 19 revisions

NodeDSF is intended to be used to help tinkerers to build their own event based software extensions to the DSF. By using NodeDSF within node-red, a user can build simple or complex processes through an 'easy to learn' user interface. NodeDSF is not a turnkey plugin system, and whilst users can share the tools they develop, the recipient will always be required to make them work in their own specific environment.

About NodeDSF

NodeDSF is comprised of two main components, a set of nodes for Node-Red, and a plugin for Duet Web Control (DWC).

NodeDSF is designed to enable connectivity between the Duet Software Framework and Node-red to allow users to create their own low-code event based programs, and optionally create simple GUI's which can be embedded within DWC via the NodeDSF plugin.

Node-Red has hundreds of nodes available which allows you to extend the capabilities of your Printer/Machine. See the examples section to see a small collection of working Node-Red examples, including:

  • Time-Lapse Video Creation
  • Alerts to email and smart devices.
  • Colour change notifications

If you install Node-Red on the same r-pi as DSF you will also gain access to the GPIO through a set of nodes available to download through Node-Red; enabling a easy way to interface physical devices into your environment. For example - Additional sensors, or triggering external control boards (eg filament colour change systems).

How it works

When installed on an SBC, DSF allows external programs to connect and receive information updates when the Machine changes its state. DSF defines anything connected with a control board a Machine, and constructs a Machine Model representing the current state of the entire Machine and its associated components.

When NodeDSF establishes a connection to DSF it receives a full copy of the current Machine Model, followed by patches to the Machine Model each time DSF registers a change. Patch updates are fragments of the Machine Model containing only the changed or updated data. NodeDSF receives these patches and updates the full Machine Model it holds in memory. This data is then made available for use by any other nodes in Node-Red.

To compliment its primary function, NodeDSF provides a set of additional nodes to allow the user to take full advantage of the data provided by DSF. Refer to the Nodes wiki page to learn how each NodeDSF node works.

Clone this wiki locally