CommonGarden / Grow-IoT

Software packages for smart growing environments.
http://commongarden.org/
Other
25 stars 6 forks source link

Node-red functionality #306

Open JakeHartnell opened 7 years ago

JakeHartnell commented 7 years ago

node-red is sort of cool and I think we can do a similar logic view with Grow-IoT.

node-red interface

aruntk commented 7 years ago

We want to replicate some of this functionality with Grow-IoT

Which functionality?

JakeHartnell commented 7 years ago

Which functionality?

Introducing that basic UI idea of event flows. A lot of our users want to make complex grow systems but aren't programmers. However, many of them are more than capable of using something like node-red.

catbarph commented 7 years ago

Ultimately something more functional and approachable, UX/UI-wise, than editing js in the browser. The idea here is a graphical programming interface for creating & editing complex event flows - visualize the whole Grow File if you will...

I've long been a (biased) fan of Pure Data's form of graphical programming -

"Algorithmic functions are represented in Pd by visual boxes called objects placed within a patching window called a canvas. Data flow between objects are achieved through visual connections called patch cords. Each object performs a specific task, which can vary in complexity from very low-level mathematical operations to complicated audio or video functions such as reverberation, FFT transformations, or video decoding. Objects include core Pd vanilla objects, external objects or externals (Pd objects compiled from C or C++), and abstractions (Pd patches loaded as objects)."

Things like Stitch and Snap! also come to mind.

With the Pd-like approach at least, hardware modules can themselves be abstracted into graphical/virtual modules, with configuration settings, and even the underlying support functions, hidden "under the hood".

JakeHartnell commented 6 years ago

Perhaps we could just use an instance of something like Project Flogo: http://www.flogo.io/

JakeHartnell commented 6 years ago

Will be embedding node-red into Grow-IoT soon: https://nodered.org/docs/embedding

JakeHartnell commented 6 years ago

Made some good progress pair programming last night with @tilgovi: https://github.com/CommonGarden/Grow-IoT/commit/75d477fe57a0c40abf5c1348e86d6bca7d35a2e2

All that's left now is to write a storage plugin for storing the flows in mongo, and only loading flows that belong to the user.