I'm using Node-Red, hosted on a Raspberry Pi for an IoT project.
How do I trigger a Python script that is on the raspi from Node-Red? I want to run a script that updates the text on an Adafruit LCD shield which is sitting on the Pi
Should I be looking to expose the Python script as a web service somehow?
I'm using a Raspberry Pi B+
Running on Raspberry Pi 1 Prerequisites. If you are using Raspbian, then you must have Raspbian Stretch as a minimum version. ... 2 Installing and Upgrading Node-RED. We provide a script to install Node.js, npm and Node-RED onto a Raspberry Pi. ... 3 Running locally. ... 4 Running as a service. ... 5 Autostart on boot 6 Opening the editor. ...
After starting node-red, you can find pythonshell node in Node Panel of node-red. Drag and Drop it and double click it to get "node properties" panel, Enter Python.exe path in Name and Python File in Py File and click on Done.
To do this, you should use the alternative node-red-pi command and pass in the max-old-space-size argument. The install script for the Pi also sets it up to run as a service. This means it can run in the background and be enabled to automatically start on boot.
After starting node-red, you can find pythonshell node in Node Panel of node-red. Drag and Drop it and double click it to get "node properties" panel, Enter Python.exe path in Name and Python File in Py File and click on Done. Have and msg-payload node connected to it and Deploy.
Node-RED supplies an exec node as part of it's core set, which can be used to call external commands, this could be call your python script.
More details of how to use it can be found in the info sidebar when a copy is dragged onto the canvas.
Or you could wrap the script as a web service or just a simple TCP socket, both of which have nodes that can be used to drive them.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With