Firewatch in a cloud-first world
IBM Bluemix as a cloud platform to prototype a fire prevention system for national parks
What is this article about?
In January Campo Santo released a videogame called Firewatch. I am a Scout Lead, so I was very impressed and the gameplay totally astonished me: the game, a single player mistery game, is set in a lookout, a tower part of a system to watch for fires in national parks, sorrounded by the wonders of a forest in Wyoming. It was a so beautiful experience, an experience which inspired me so much that I started, during an Intel hackathon, thinking about how an engineer could really prevent fire risk for National Parks Service using the power of cloud computing. Then I met the IBM Bluemix Italia community.
Lookouts: an hardware overview
The very first step is to imagine the lookout as a piece of hardware. And it is insanely simple: for a good approximation of the Fire Danger Index you have to use wind speed, air humidity percentage, temperature indicators and grass conditions. The last one can be checked by the rangers once a week or so and set up into the hardware, which can be a very simple Arduino / Genuino-like board to which we could attach the other (very cheap) sensors and a GSM module to access the internet.
If you think that a real lookout is a tower-shaped structure with all the necessary to make a human being survive for months during summer, this hardware is several orders cheaper! Furthermore, it can be deployed in the most difficult and endangered zones with no necessity to raise a building. And it is connected to the cloud, so it can be remotely configured and accessed in seconds all around the globe.
IBM Bluemix: the right cloud in the right place
I have already told you that this idea was born playing Firewatch, so what was I waiting for? A cloud which would provide me a direct solution, no needed complex cloud settings to have my back-end ready: I really wanted to concentrate on the hardware platform instead of the cloud one.
In the last Codemotion event in Rome I could talk to the IBM Bluemix Italia Community about Node-RED, a very simple way to visual coding to wire together hardware devices, APIs and online services in new and creative ways. And I was amazed on how it was so easy and fun to follow the creative process of the back-end design of an IoT application: previously I was overwhelmed by the VMs setups, the API interactions and so on, so I continually procrastinated my time to be part of Firewatch legend.
When I started the tutorial of Node-RED it was just question of minutes to have my virtual device running and my very simple implementation of the fire danger index tossing out alerts all along. And I was thrilled: Bluemix was finally the right cloud solution.
A fictionary real world scenario
Imagine now that we have a very serious problem in Yosemite National Park: our boss at National Park Service is running out of lookouters this summer and wants to improve security protocols around the visitor center at Tuolomne Meadows. After a consultation with our fire experts and after a big-data analysis of the history of the region, the most dangerous area is the one near Cathedral Creek. So our cheap watcher made of an Arduino, its modules, its batteries, and a very pretty wooden case with solar panels, is deployed by rangers. Our software, hardcoded into the ATMega, send every 5 seconds to our service, built with Node-RED upon IBM IoT Platform, data about is position and (we have very few bucks in the budget this year) only humidity and temperature data.
All of this, in a Node-RED flow, can be tested by a very simple diagram which is given by the tutorial demo as well as the other blocks which implements the routines we are going to see.
Flows: the Node-RED approach
The sensor will push to the IBM IoT Platform service, deployed in a custom app by my flow, the data to let them be processed and to retrieve the FDI. Then a threshold block will the determine the data to send to the final user, a debug prompt in this case or a push notification to alert the visitor center for upcoming evacuation procedures.
It is very important to see that there is a complete toolbox of nodes, each of one implementing a function in the flow and some of them an interface to Bluemix services (included Watson APIs!). So you can re-arrange the demo in the most complex way you needed: my maker instinct can be satisfied as long as my creativity is going on. And this is the killer feature for an IoT developer.
As an IoT enthusiast I have intentionally left you with just two poor screenshots: the maker experience in this bold cloud flavor must be pure. I suggest you to try to follow the tutorial as I did and let the inspiration be converted in scrupulous analysis for the future of your technology.
Conclusions and future implementations
As a consequence for this quick tutorial / demo experience in Bluemix, let me explore with you where the future implementations can lead.
All of this will be a future implementation of my project and it all started from a very basic tutorial, with very quick steps from my Bluemix dashboard.
This is the future of cloud providers services: the development experience must be developer-oriented and IBM has good chances to be a major leader in IoT spreading innovation.