Hosted Node-RED without budget
People who are following me on Twitter will have noticed my fanatic love to a tool called Node-RED. There are even videos of me singing praise, more praise, or a collection of how-to documents on SlideShare. In short, Node-RED is a rapid development tool for JavaScript-based workflows. While primarily developed for general “data plumbing” in the Internet of Things, I believe even the authors of Node-RED are surprised by the range of applications people find for it: Be it the remote-control of Minecraft on a Raspberry Pi to entire web services, I think Node-RED is a lot bigger than just “a wiring tool for the IoT”.
While I am convinced that everyone with a little bit of coding talent can use Node-RED, not everyone is willing to install the underlying node.js and the actual Node-RED sources via a package manager or GitHub. We all fear dependency hell and screwed up configurations, especially when it comes to tools we haven’t tried yet. Furthermore, even when you have Node-RED running on your own machine (say, a Raspberry Pi) at home, dealing with firewalls, routers and dynamic IP addresses is not everyone’s cup of tea when just wanting to do a quick test.
I received a lot of praise for my SunSprite Calendar View (output see above) that takes data from this £60/$99 SAD-preventing wearable and displays the user’s daily sun exposure in a chart. For a variety of reasons, it is a very propriety solution and I thank the SunSprite folk for the generosity making crucial information about data access available to me, but the Calendar View has mostly been hidden away in the flows directory of the Node-RED website, ready for people to be downloaded and used. However, there’s apparently not much overlap between people using a SunSprite and those crazy enough to spend tinkering with web services. :-)
To address this issue, I wanted to make my Node-RED flow available for people to use as a normal web page using a browser. For obvious reasons I didn’t want to invite everyone to run their analysis on my home automation Raspberry Pi. At the same time, not many organisations provide free web servers that allow for the installation of Node-RED. One solution to the problem is getting an IBM BlueMix account. BlueMix is their ‘platform as a service’ (PaaS), and Node-RED is one of a great set of IBM-developed and third-party tools to build enterprise-scale web tools. Unfortunately, while there’s a freemium option on BlueMix, the sign-up still requires credit card information, and as such is probably more suitable for professional users rather then ambitious hobbyists. (And my followers my remember a brief episode of despair over unexplained BlueMix charges…).
Luckily for me, having a name in the Node-RED community helped me to get early access to FRED. FRED is short for Front End for Node-RED. (Seriously, I couldn’t make this up. There’s a study about the abuse of acronyms in the medical sciences…). So FRED is a hosted Node-RED service by a company called Sense Tecnic. They use Node-RED for their customers to use a data platform, but fortunately they also offered to host the SunSprite Calendar View and run it as a service free of charge. How cool is that!?
I couldn’t use FRED with the SunSprite flow straight away as Sense Tecnic had assumed that the built-in HTTP node would primarily serve API access and wasn’t quite up to providing an interactive website, but Mike Blackstock from the company donated a long and probably pizza-fuelled night to adjust the HTTP node to my needs.
So, if you find this interesting: Give FRED a shot. And if you have one, please test my SunSprite flow and give me feedback.