Creating a Smart Parking system using our IoT Tools
As mentioned in a previous blog post, we have been working on a new application – smart parking – to test our IoT Tools. Using Nwave’s car parking sensors (which use the Weightless-N wireless protocol that Nominet contributed to), and our IoT Tools we have been able to quickly build a system that allows us to monitor car park usage at Nominet’s Oxford HQ in real-time. In this blog post we explain how we used the tools to rapidly build this new application.
Although the IoT tools were initially built for the Flood Network, they were designed from the outset to be flexible enough to work with any IoT application, so the smart parking project was a great opportunity to test that theory. On the surface, flood monitoring and car parking don’t appear to have much in common. However taking a step back there are consistent challenges; both applications require time and location-based data to be collected from sensors, processed, analysed and then presented visually – exactly the tasks that the IoT Tools were built for.
As with the Flood Network, one of the most challenging parts of building the smart car parking application was physically installing the sensors. However, once these were in place the rest of the process was straightforward. Configuring the car park sensor devices (and associated data streams) was a very similar process to configuring Flood Network sensors. The challenge here was to make the configuration process as quick as possible for the deployment of more than 100 devices in one go. To assist with this task we designed the Management UI to accept plug-ins, with one of these being recipes. We created a recipe that can import a CSV file with a list of device parameters (e.g. ID, name, location) and a template device. A template device is a device that has been previously defined and configured in the IoT Registry. Using this recipe it was a matter of setting up one device and replicating the same configuration for all the other devices using the parameters from the CSV file. The whole process took minutes.
Once the car park sensors were configured in our system we could immediately use the data monitoring, visualisation and analytics available in the management UI. For example, we used the time series data visualisation tool to help with verification of the magnetic calibration process used by Nwave’s sensors.
For the map visualisation, we already had a generic framework for displaying sensor timeseries on a map, and styling their associated geo-objects. Expecting that each project would have specific needs, we made it easy to plug in custom data visualisations and interactivity. For the Flood Network these timeseries are river levels, the geo-objects are the rivers themselves, and the data visualisation is the sparkline graphs.
Car parking is a very different problem from river flooding, but the core issue is still time-domain measurements of a geo-object; in this instance, the geo-objects are parallelograms representing the parking spaces, and the timeseries are their occupancy over time. Our framework was already a very good fit. All that needed to be done was the custom data visualisation; the ‘ribbon’ plot for a single space over time was easy to implement in D3 (an industry-standard library), and so was the sparkline representing total occupancy. Add in the click/touch/hover interactivity, customise the look’n’feel, and we’re done – real time car parking occupancy viewable on a map.
So what’s next? We are continuing to look at new applications to further expand the functionality the IoT Tools beyond purely sensor measurements, and are currently working with partners in the education and conservation space (more on this soon). If you are working on an IoT application and think that the IoT Tools could be of use to you too, then please get in touch at email@example.com.
1st February 2016