Node-RED and Windows, the easy way

connected

Node-RED in a Nutshell

Roughly a year ago the folks at IBM Emerging Technology started work on Node-RED, a solution to the problem of a lack of “tools that make it easier for developers at all levels to bring together the different streams of events, both physical and digital, that make up the Internet of Things.”

This was a bit too heady for me so I decided instead to look at some of the “flows”, the projects that Node-RED uses, as a sampling of what the software can do. Here are a few:

  • Weather reports to SMS and MQTT topic: “…a couple of flows to read weather forecast info from the BBC weather site using RSS. The feeds are specific to my location so should be changed for your own. The output is directed to 2 nodes, one for Twilio to send a SMS, the other to publish to a MQTT topic that in my case has a printer listening to it.”
  • Twitter Sentiment Analysis: “This flow listens for tweets mentioning a specific term, passes it through sentiment analysis and then routes the messages to one of three outputs depending if the sentiment is positive, neutral or negative.”
  • Turn off HDMI connected TV when leaving WIFI + presence dashboard: “If the user leaves home with the phone and gets disconnected from the WIFI the attached TV gets turned off over HDMI CEC. All tested with a Nexus5, Raspberry Pi and a old Philips LCD TV.”

Clearly Node-RED has a wide range of applications, but what makes it truly unique is that it simultaneously eschews traditional code while favouring visual design. Some JavaScript is still in there, but it’s minimized.

Furthermore, once a flow has been created and tested, it can be packaged into independent npm modules (for Node.js), to distribute and use outside of Node-RED. I think that’s pretty neat.

code-red_ui

The one downside was that it’s a bit tricky to get running if you’re not up to snuff with Node.js, so I whittled it down a bit (results below).

It made me wonder if standalone flows couldn’t be distributed with Node.js in the same way; I think this makes for some neat projects and interesting opportunities.

Installation

Step 1: Download: Node-RED_0.8.1ws (The “ws” stands for Windows Standalone — it should theoretically run from a thumb drive).

Step 2: Unzip anywhere you like and run the included “Launch.cmd” file.

Launching_Node-RED

Step 3: Use it.

The launcher will open Node-RED in a new process window…

Node-RED_running

…and then launch your default browser to connect to it. If your browser opens too fast you might get a “connection rejected” error; just wait a few moments for the Node-RED server to start and reload the page.

To disconnect and shut down Node-RED, simply close the open process window.

After you’ve tried this out you might want to swing on by the “Creating your first flow” page to get better acquainted.

N.B. I’m not affiliated with either Node.js or the Node-RED project so everything here is 100% unofficial.

Update, October 23: I’ve re-packed the standalone with the newest version of Node-Red (0.9.0): Node-RED 0.9.0ws

13 comments
  1. Hi,

    Extremely helpful, after the npm installation failed for me…

    Can you tell me how to install new nodes using this installation?
    There seem to bee too few storage functions in this installation…

    Thanks in advance,
    Or

    • Hello Or,

      I haven’t tried installing any new modules after setting this up but I suspected that NPM might not work correctly since this is a very non-standard installation. I’ll look into this and post any solutions I discover – thanks for bringing this up.

  2. Hi Patrick,

    First thank you for making this available? I have been using it and it works flawlessly. I work in a company that does not give us admin access. So I am not able to install npm and subsequently mongodb node. Do you have any other suggestion of how I can get mongodb node enabled. I do have mongodb installed on my laptop and able to run it.

    Thank you,
    pk

  3. Hello

    my english is not very good, do you speak french?

    I use a node-red raspberry

    I just installed it on my pc

    I imported a flow that works fine on my raspberry
    There is a problem,
    I can not find all the nodes as advanced / watch
    Why?
    where the library is stored on flows?
    best regards
    Pierre

  4. Is Node-RED 0.9.0ws the latest version? I can’t find a newer version.
    I noticed that e.g. the split funtion is not working/recognized..
    Or is it possible to put a newer version here for download?
    Hope to hear soon.

  5. I have found some more info.
    When I launch Node-red, I get a warning “can not find module” etc—it is looking for C:\node-red\node_modules\node-red-node-serialport\node_modules\serialport\build\Release\node-v47-win32-x64\serialport.node.
    When I check the folder, I find v46 !!!
    I tried changing the folder name to v47—but then I get a warning for version mismatch.
    SO—seems a problem with the NPM library versions—but how to fix?

  6. hi patrickb, thank you for making nodeRED easy to install.
    Have you figured out, how add additional nodes as npm
    might not function properly with this.
    thanks

    • I’m afraid I haven’t looked into it. However, installing Node-RED via npm is not terribly complicated and it should provide you with the latest and greatest. I only really intended to provide an intro to Node-RED with this post, not become a maintainer 🙂

Add Comment

Required fields are marked *. Your email address will not be published.