Hi, i'm new to node red, is it possible to control any windows application? I have to write nodes in JS? Would python work? The app is called Unreal Engine from Epic game.
The idea would be to define some voice control using Snips.ai, to trigger some commands inside Unreal.
It would be awesome if somebody could guide me roughly trough the main workflow, so that i can discuss this with the right person in my network contact
Thanks for your help.
Node-RED is totally JavaScript as it uses Node.js under the skin. There is a Python function node but there isn't a realistic way to write nodes in Python.
You can also use the exec node to call Python scripts.
You can certainly use Node-RED with Windows, I do all my development on it. You can call windows applications using the exec node or you can call out to PowerShell if you need more OS control.
A quick search showed a JavaScript extension for the Unreal Engine so maybe that would help?
If the unreal engine has some sort of API (perhaps a rest interface) you can totally do this within node-red without any python or other intermediate software.
Do you have a list of protocols/interfaces that permit control the unreal engine? If so, let us know and we can certainly point you in the right direction.
I asked my friend wo uses unreal, he said the way we can control Unreal is with a Socket system, ip and port, or since the last version over direkt http commands.
Would this help?
Over the javascript extension I dont know how do do it.
Thanks for the reply.
Both are possible and actually the primary way to use node-red and no javascript is required as it is part of node-red.
TCP sockets and http interfaces are the bread and butter of node-red.
Http should be the easiest unless they use odd headers or difficult security.
Socket would probably be faster.
On the other hand, this node js library states it has Full access to the whole UnrealEngine API. You might be able to use that by creating a reference in settings.js
Awesome thank you for the explanation! Very usefull. I had a look to the unreal engine node library, unfortunatly i dont know what it means and what is how controllable. I will ask my friends.
I learned about node red by visiting a company at an event, and thats how i started looking what can be done with it.
However i have a question, because I dont know if my collegues programmer know this software and i will probably have to convince them to at least have a look.
So here is my question, is node red meant to be a software to make the programing easier? For every kind of user from beginner to expert? Or it has some kind of limitations from an expert point of view? Would a python programmer say that node red useless is? What are the pro and cons? Are they equivalent to node red (node based)?
Thanks for helping me, after all those question im done haha.
I will find my way to use snips.ai, pi and nodered, there is enough tuts online.
There is no "better" or "worse", it is all about purpose. Each language has its own purpose.
Node-red is used for "visual flow" programming, It is not a programming language but a tool - albeit a very powerful one. A tool that sits in the center of communication between devices, webservers, API's and whatnot.
Python is a general purpose language that can do all that node-red can do, except that it would require years of work to create it. Node-red was written in javascript, which is also a general purpose language.
Same applies to unreal engine, which uses C++, lower level programming language which is used when you need speed: purpose. And talking about unreal engine - node-red has similar concepts as unreal's blueprint engine, it is flow-based programming.
You use node-red if you want to make multiple devices/servers/services talk to eachother and/or you want to process data from one source to another.
Yes, indeed.
Yes. It is useful both for writing systems for beginners or non-coders and for anyone doing prototyping or creating flexible solutions.
Well, as a general purpose tool, it is unlikely to be as efficient at runtime as custom code. But it takes care of a lot of "heavy lifting" for you.
In addition, the default configuration isn't necessarily the best if you need multiple solutions (flows) and you want to keep them separate. However, there are alternative install configurations that will accommodate this too.
No, I think there are quite a lot of people using Node-RED who mainly work in Python. It is still a great tool for prototyping and handling many different interfaces very easily.
In fact, I’m porting a couple of my Python based tools (partially) to NR, scrapers specifically as the initial step in many of those is about testing when it should run based on content on that web page. So I now try to run that step in NR instead and based on the outcome run the rest of the python script from an exec node.