Node-Red can be used as the programming and user interface, all the while node.js with Johnny-Five Javascript libraries serve as the intermediary between the Arduino board and Node-Red.
Its graphical programming interface promises to provide an easy programming option, once the initial groundwork has been laid for it to be used as a DAQ system. It is particulalry strong in its ability to create Dashboards and User Interfaces.
Node.js[edit | edit source]
node.js is actually what does all the work talking to the Arduino - Node-Red is merely a nice front end for it. node.js is a Javascript based runtime environment that is particularly suited to input and output operations, so it's ideally suited to development of a DAQ.
Setting up node.js and Johnny Five
Node-RED[edit | edit source]
Node-Red is a great front-end for node.js, and allows for pseudo graphical programming ( and can thus serve as an alternative to Labview). It consists of a number of nodes that can be linked together and programs can thus be built in a modular fashion.
It was designed with the Internet of Things (IoT) in mind - namely to link everything, from your fridge to your watch, to the internet. Thus the wiring system and the various nodes available by default are designed for quickly connecting to hardware and then doing whatever it is you want with that information ( "My washing is done - let me send myself an email reminder" or something equally silly).
I say Node-Red is a pseudo-graphical programming language largely because, as opposed to Labview, there are not as many nodes available as Labview VIs, especially in the field of data capturing, analysis and control. This is largely because, as far as I can tell, no one has really used it for this purpose up until now. (Now being 2016). Thus while in future there may be a large community generated database of useful nodes and you can just copy and paste, at the moment you often have to still code up a function node in Javascript to do a job (or piece together some code from the internet).
But this Open Source Hardware initiative is aimed at starting this process.
Example Node-RED flows[edit | edit source]
https://flows.nodered.org/flow/5062c92701d94165d579a795efead90b
https://flows.nodered.org/flow/5661fa895284e37df65c3236f4dd0166