If you prefer to draw boxes instead of writing code, you may have tried IBM’s Node-RED to create logic with drag-and-drop flows. A recent [TensorFlow] video shows an interview between [Jason Mayes] and [Paul Van Eck] about using TensorFlow.js with Node-RED to create machine learning applications for Raspberry Pi visually. You can see the video, below.
The video doesn’t go into much detail since it is only ten minutes long. But it does show how easy it is to do things like identify images using an existing TensorFlow model. There is a more detailed tutorial available, as well as a corresponding video, which you can see below.
As a concrete example, [Paul] uses a simple sensor to identify his cat and then rings a doorbell to frighten the cat off the table. In a more topical example, a system sprays down anyone not wearing a face mask.
Perhaps a more practical example shows a garage door opener that identifies a car by its license plate number. We aren’t sure if it would open for a piece of posterboard with the license plate number written on it, or a picture of the plate.
> If you prefer to draw boxes instead of writing code
Nope, precondition failed. I’ll pass.
Having had almost ten years experience in LabVIEW I second this opinion.
It is super easy for simple programs but a bigger project can easily end up bloated beyond all recognition, even when sticking to “best practice” guidelines.
Automotive software is almost exclusively developed using boxes and lines (Simulink), so many people disagree with your conclusions :).
And lots of people are wrong, lol
there is some environments where a graphical programing languages could be more fun but not with complex projects.
P.D I also hate labview (and even more labview FPGA).
To equate it to LabView is a lack of understanding of the power of node-red. It is more than Labview in the sense that it is also an flow based engine that can be embedded in enterprise grade applications and allows to easily express use cases in a flow model allowing the ability to socialize parts of services and features of an application to a wider audience. it is open source unlike labview.
Does it /have/ to have a GUI? Surely in the background is a textual representation of the boxen and the lines connecting them?
I work with node-red every day to create prototypes and to deploy code to industrial systems
preferred method of working with ML from node-red is MQTT data transfer to/from a python container running an ML/NN, however i will have to try this now
i really recommend people try node-red, even if just for prototyping, it’s a fantastically easy to use tool and the code can be exported via JSON and hosted on basically any platform that can run a docker container
Totally agree. It’s a really useful tool for certain things.
How cloud based is node-red? “Browser-based flow editing” is not exactly a good starting point.
There are other non cloud options such as Visuino that also seems to be working to support the Pico. My main issue is that you both need to be able to modify the code if needed but also make it easier to program C/C++ code as well as some limited assembly with PIO. Not every visual coding format even allows you to do that!
Feels like, if done right, this could speed things up while still writing halfway decent code for repetitive elements of the code as well as let you much better view it macro level as well.
Plus, finally decent actual by default JTAG or other real time support for Arduinos? Yes, please. Setting aside Arduino and AVR or now ARM, even third party Teensy still doesn’t offer this but the $4 / £2.95 Pico does.
Node-RED just runs on my Linux machine using 192.168.1.105:1880 to access the flows from a browser on any machine on my LAN. I don’t think I’d call this “cloud-based”, although it could be run on a server and accessed remotely. I usually think of cloud-based as something I can’t run on my local machine even if I wanted to.
I like it for MQTT-based operations although the revision control feels very wonky compared to non-visual coding languages. Like any tool, it’s good at some things and not at others so go with what works for you.
That’s helpful to know that it is not cloud exclusive at least. MQTT and IoT type things are not really our main focus but also curious about visual programming in general since it is somewhat new to us over the last year or two and hardware (and software) changes do seem to finally be happening enough to make it more worthwhile to consider.
Is there some reasonable consolidated website that presents the pluses and minuses of the various types of visual programming programs? Ideally for microcontrollers, IoT and higher level CPU use.
It’s not at all cloud based, I run it on a Raspberry Pi Zero W on my local network. I’m using Node-Red on the Zero to develop my own home automation system. The cool thing about running Node-Red on an SBC like the Pi is you get access to GPIO. I have it reading a DHT11 sensor and sending IR commands through a self-built IR blaster.