How a Creative Tech Firm Used InfluxDB to Develop a Smart Device
InfluxData sponsored this post.
I work for Timbergrove, a U.S.-based creative technology studio and consulting firm. Recently, as part of our broader Moonshot Internet of Things (IoT) offering, we created a smart workplace kit to help building managers get started with IoT. As a sneak peek, here’s an example Grafana dashboard for our building managers:
We’re constantly experimenting with wireless sensor nodes and gateways, so we had quite a few devices on hand. For this office monitoring solution, we ended up going with Digi SmartSense devices for humidity and temperature monitoring.
They have a long battery life and are easy to mount almost anywhere. With a couple of well-placed repeaters, we are able to cover our 35,000 square foot space with a single gateway.
For power monitoring, we have explored many options. In this case, we decided on CT sensors with this Advantech WISE-4012 node:
We also monitor occupancy in our shared spaces using Pi Zero-Ws with camera modules. While it’s overkill for simple motion detection, the solution is flexible and allows building managers to request more advanced features (e.g. people-counting or facial recognition) in the future if they wish.
Data Flow to Cloud
Digi exposes to us a queue for data integration. We strive to work with partners that make data integration easy. That’s how we keep our offering flexible without incurring huge development costs. As for the devices we manage ourselves, we use IBM’s Watson IoT Connection Services.
While Watson comes with some great developer tools and robust data governance, we found the end-user tools lacking. To fill the gaps, we explored several options and eventually settled on InfluxDB and Grafana.
We made this choice for several reasons, including how InfluxDB is the most popular open source time series database and Grafana is the top open source tool for visualizing time series data. Together, they work seamlessly.
Grafana has helper tools for constructing InfluxDB queries with many aggregations and filters. We can also set template variables based on InfluxDB tags, which makes it relatively easy to create dynamic dashboards that “update themselves” as we add new sensors and devices. And when we want to work with InfluxDB more directly, we find that the documentation is very well-written with numerous examples. The TICK stack gives us plenty of tools explore and process our data. Though it took some customization to get all of the features we wanted, we are quite happy with this solution.
Streaming to Influx
For the smart workplace kit, we stream data from our Digi queue and from IBM Event Streams (a managed Kafka service) to InfluxDB. Although we provide Grafana dashboards to our end users, we also like to use Chronograf internally for exploring and visualizing data. Here, we were playing around with the built-in Holt-Winters forecasting algorithm to generate predictions on our temperature data:
Visualizing IoT Data from InfluxDB with Grafana
With InfluxDB as our data source, it became easy to create beautiful dashboards for our end users in Grafana. The first dashboard allows users to monitor the temperature and humidity levels in different building zones. The second dashboard displays the conference room occupancy status.
Configuring Kapacitor Alerts Through a Custom Grafana Plugin
While Grafana has an alert feature, we found it lacking for our purposes. So we built a custom Grafana plugin to allow our users to configure alerts via Kapacitor’s REST API. The form makes use of a few Kapacitor templates to allow users to set up different types of alerts and notifications. Specifically, it allows the user to set threshold alerts, assign a severity level to the alert, and send those alerts to a recipient via email. Here’s an example of the Kapacitor alert form:
We’ve developed several custom plugins, actually. We have one for geofencing with Mapbox and one for overlaying heatmaps on user-uploaded images. We look forward to releasing these plugins into the wild soon. I encourage you to follow us on Linkedin or Twitter to learn more and keep up with these projects.
The smart workplace kit has been in use for several weeks now, and the temperature monitoring has been particularly helpful. We integrate with Weather.com to correlate the building’s internal conditions with local weather data, and through this we’ve uncovered trends that have enabled the building managers to use their HVAC system more efficiently.
We’re still adding features, improving the kit, and preparing to install it in more locations. We’ve got a demo coming out on the IBM Watson YouTube channel in the near future.
On a lighter note, we also have a smart valve and flow meter installed on the office keg. It allows building managers to monitor and control the flow of beer. They can request a keg deposit for after-work events, monitor the amount consumed, and issue partial deposit refunds accordingly. They can even turn off the tap remotely — although that feature probably doesn’t earn us any popularity points with our office mates. While it’s linked to a custom web application right now, we plan to integrate it with Grafana so our users can do everything from one place.
In the future, we look forward to extending our IoT offering while staying true to our initial goals: deliver immediate value, keep things modular and extensible, and make our users’ lives easier, not harder. Please reach out if you have questions, or to learn more, visit us at https://timbergrove.com/ or follow us at @TimbergroveTalk.
Contributing a Community Highlight
Are you part of the Influx community? Do you have a story to tell? If so, we’d love to share it! Please contact Anais.
Feature image via Pixabay.