RedBlack CTO Steve Dickinson explains how two teams of our technologists took on the IoT challenge in our latest hackathon.
In the interest of keeping things cutting-edge at RedBlack, we like to get everyone together once a month and hold a good old hackathon.
For the uninitiated, a hackathon is where programmers team up to collaborate intensively over a short period of time to come up with a piece of useable software that solves a problem. In our case, pretty much everyone (developers, architects, managers) takes a short break from their usual schedule to join in. Participants get to have fun, think out of the box, play with technology and, very often, come up with some truly synapse-sparking ideas.
The theme of our latest hackathon was the internet of things. IoT, as it is abbreviated, is the term that describes the interconnection via the internet between computing devices embedded in everyday objects, enabling them to send and receive data.
Our hackers were given eight hours to produce a shippable product that used a Raspberry Pi or Arduino microcontroller and was based on a real-life scenario. The end result had to connect to the cloud, have a workable user interface and consist of at least two different components.
Employees across the company were split into two teams. Each team started with a 30-minute discovery session in which they reviewed what components were available to them and discussed any potential ideas.
Both teams had the same ideas of using a Raspberry Pi 3 with Windows IoT and RFID components. They also both decided to focus on the issues we have surrounding the supply of water for our water cooler. The problems are:
• we keep running out of water
• we have no indication of the amount of water left without lifting the cover of the water cooler
• we have no indication of how long the water supply will last before it runs out.
The components of both team’s concepts for providing a solution were similar. These included:
• semi-automated stock management for office water
• a Raspberry Pi-based system, with no wired connections, fixed to the cooler
• RFID-based identification of stock changes
• visual identification of estimated water levels
• audible indicators of RFID success
• a web-based UI for stock management.
Within the allotted eight hours, the teams combined to produce and present a working product utilising Microsoft Azure to host the required APIs and store the relevant data, as below:
The application was built using Universal Windows Platform (UWP), which was packaged and deployed to the Raspberry Pi 3 running Windows IoT Core. The web user interface below shows the water level, average bottle consumption time, current stock level and estimated time before the stock levels are depleted.
Each time a new water bottle is installed onto the water cooler the bottle is scanned using an RFID tag. There was even enough time to develop a PowerBI report like this that shows stock levels:
If we had more time, some logical extensions of our system would be:
• generating emails when stock levels are lower than the lead time for delivery
• multiple RFID tags for each water bottle so each stock item is identifiable
• packaging and waterproofing the Raspberry Pi
• projection of future data using Power BI.
While we’re not about to run off and create a new start-up with our new water cooler app any time soon, we do have a nifty new gizmo in the office. More importantly, our latest hackathon was a great opportunity to explore the nexus between IoT and the cloud.
Web technology expert Steven Dickinson first joined RedBlack in 2002 as a programmer. He went on to take senior development positions at the Food Standards Agency and Capita. Steve rejoined RedBlack in 2014 and, as chief technology officer, heads up the development of our software solutions.