-
Notifications
You must be signed in to change notification settings - Fork 3
About
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 turn-key plugin system, and whilst users can share the tools they develop (as flows), the recipient will always be required to make them work in their own specific environment.
NodeDSF is comprised of two main components, a set of nodes (called dsfnode) for Node-Red, and a plugin for Duet Web Control (DWC).
The dsfnodes are designed to enable connectivity between Duet compatible control boards, the Duet Software Framework, and Node-red. This allows users to create their own low-code event based programs (flows), and optionally create simple GUI's which can be embedded within DWC via the NodeDSF plugin.
Node-Red has hundreds of nodes available which can allow 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 are using a r-pi as your DSF server and you install Node-Red, you will also gain access to the GPIO through a set of GPIO nodes (available to download through Node-Red); enabling an easy way to interface physical devices into your environment. Eg - Additional sensors, & switches.
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. Duet compatible control boards also enable access to the Machine Model.
When the dsfnodes establish a connection to a Duet control board (DCB) or the DSF, they retrieve a full copy of the current Machine Model, followed by patches to the Machine Model each time the DCB/DSF registers a change. Patch updates are fragments of the Machine Model containing only the changed or updated data. dsfnode 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, dsfnode provides a set of additional nodes to allow the user to take full advantage of the data provided by DCB/DSF. Refer to the Nodes wiki page to learn how each dsfnode works.
A new mode which enables direct connection to a v2/3 Duet (or compatible) control board with a direct network connection. (Duet mode has been tested on a Duet v2 ethernet board only)
Duet mode should work for Duet control boards running Wi-Fi/ethernet without an SBC. This mode retrieves a subset of the Machine Model using the same commands as DWC, effectively emulating a browser running DWC. It consumes one of the limited available http user sessions. Some third party control board Wi-Fi configurations are limited to 1 http user session and will not work with NodeDSF. (NOTE: the NodeDSF plugin remains DSF+SBC only).
IMPORTANT If you are running a non Duet board (eg lpc) with custom 8266 Wi-Fi these are normally limited to 1 user session max, so NodeDSF will not operate as expected as there are no free sessions available.