Node-RED is a programming tool that lets you quickly connect hardware devices using a browser-based editor. It comes with a wide range of nodes that can be used to build flows in a drag-and-drop manner, significantly reducing your development time. Node-RED is installed with Raspian Jessie for Raspberry Pi, and there is also an option to download Node-RED separately.
More on Raspberry Pi
To show you how it works, we'll build a simple tool using Node-RED to communicate with a cellular modem connected to a Raspberry Pi. With cellular modems, you can send/receive data from your Raspberry Pi over a cellular network. You can use one of the 3G/4G USB dongles commonly available through cellular network providers, or you can connect a development board with a 3G or 4G wireless modem.
Whether you're connecting with a USB dongle or a development board, the connection interface to the Raspberry Pi is through a USB port. In this tutorial, I'm connecting a SIM900 development board to Raspberry Pi through a USB-to-serial converter cable.
The first step is to check that the SIM900 development board is connected to the Raspberry Pi.
The USB-to-serial adapter shows up here as one of the USB devices connected to the Raspberry Pi.
Next, check the USB port number the SIM900 board is connected to.
In the last line above, you can see that the SIM900 board (connected through the USB-to-serial converter) is connected to ttyUSB0 on the Raspberry Pi. Now we're ready to start using Node-RED.
Launch Node-RED on the Raspberry Pi.
Download this sample flow and import it into Node-RED. Note that the flow file is a JSON representation of the graphical UI.
The imported flow should look like this in Node-RED:
Injection nodes set up AT commands required to query the modem. The Add Newline function node appends \r\n to the AT commands passed from the injection nodes. Output from Add Newline is then wired to the Serial Out node, which writes data to the serial port. The AT command response from the modem is read through the Serial In node, which outputs the response to the Debug window. Make sure the serial port number and port speed are configured in both the Serial In and Serial Out nodes.
Node-RED is an easy-to-use programming tool that can be used to quickly integrate and test hardware devices. As you can see from this tutorial, connecting and testing a cellular mode with Raspberry Pi using Node-RED required no coding at all.
For more information about Node-RED and other ways it can be used, visit the project's website.