IoT on QuestDB
As you can well imagine, I’ve been super busy in my hew job at QuestDB so this has taken me longer than I would have liked, but here we are. If you know me at all, you know that one of the first things I always do with new things is, well, connect things to them! So I immediately went to connect an IoT device to QuestDB to see how it went.
It's Time Series All the Way Down
As you are well aware, I’ve been doing IoT for almost 20 years (yeah, not a typo!). And for the last 2.5 years, I’ve been applying that IoT knowledge to Time Series Databases. Also, as you are probably aware, I am no longer at InfluxData, where I’d been doing that. Long story, but I’m not really allowed to talk about it much. One thing I have discovered over the past 2 months, since leaving InfluxData, is that it appears as though I’m the only Developer Relations Professional who actually has expertise in IoT and Time Series Databases.
This stuff is FAST!
I’ve done a lot of projects using InfluxDB over the past few years (well, I did work there after all) so maybe I developed a bit of a bias, or a blind-spot. If you follow me on twitter, then you may have seen me post some quick videos of a project I was working on for visualizing COVID-19 data on a map. It worked, but it was pretty slow. So much so that I had to put a ‘loading’ overlay on it so you knew it was still actually doing something while it was querying the data from the database.
All That Corona Virus Data
Many people have seen the nifty dashboard that John’s Hopkins University put out where you can see the number of COVID-19 cases, etc. throughout the world. It’s really nice and all, but what if you wanted to slice and dice the data yourself? Well, as it turns out, they are also publishing all the underlying data in a GitHub repository! It’s all published as daily CSV (comma separated values) files. Makes it super easy to import into Excel spreadsheets, but spreadsheets are so over.
Snack Tracking with the new InfluxDB Arduino Library
A New Library Many of you Arduino enthusiasts are probably aware of the existing InfluxDB library that was maintained by Tobias Schürg for many years. Hats are off to him for providing this library and maintaining it for so long. With the arrival of InfluxDB 2.0, it was time to update the library. Some of you may remember that I did a quick update to support the InfluxDB 2.0 OSS a few months ago, and that was working well, but InfluxData has been working towards a set of consistent, InfluxData-maintained set of client libraries.
This Whole Thing Stinks!
First of all, don’t ask I have no idea where this idea came from, it just happened. I keep saying “I’m not especially proud of this” but in reality? I sort of am because it’s funny as shit (pun intended). Some projects came across my twitter feed that included (I shit you not) a 3-D printable model of the 💩 emoji. I remember nothing else about that project, but you’d better believe that I went straight for that STL file!
Building the World's Smallest InfluxDB Server
I’ve built a lot of InfluxDB servers in my time here, and I’ve built some pretty esoteric ones at that, but I think I’ve finally pulled off what can only be described as the World’s Smallest InfluxDB Server! Back in the summer of 2019, I saw a project on CrowdSupply.com for something called the ‘Giant Board’. It looked really, really cool! A complete Single Board Computer (SBC) that ran Linux, all in a Feather form factor.
IoT Data from Other Sources MySQL
If you’ve deployed an IoT solution, you’ve had to decide where, and how, to store all your data. At least from my perspective, the best and easiest place to store the sensor data is, of course, InfluxDB. My saying that can’t come as a surprise to you. But what about the other data you need to store? The data about the sensors? Things like the sensor manufacturer, the date it was placed into service, the customer ID, what kind of platform it’s running on.
Sensing with The Things Network
There are many ways to connect your sensors to the network in the IoT. For short-range connections, there is Bluetooth LE, or Zigbee, or 802.15.4, or ZWave. For longer distances (though still fairly short) there’s always WiFi. But when you need longer distances, sometimes very long distances, there’s LoRaWAN. It’s a sub-gigahertz set of frequencies that are available for small bits of data. These are typically only a few bytes of data but can be sent over much longer distances — up to 2 km or more in some instances!
Hiding Complexity with Custom Functions Calculating Heat Index
Have you ever watched the local weather — or The Weather Channel — and heard them announce the temperature, and then the “Heat Index”? Or how hot it feels outside? At least here in the United States, and especially in the South, it’s part of every weather broadcast in the summer. But have you ever wondered how they actually calculate the Heat Index? Since I collect temperature and humidity data, I decided one day I’d go and figure it out.
How to Output Data from Flux to MQTT Natively
Writing data from InfluxDB to MQTT using Flux I started using the Open Source (OSS) version of InfluxDB v2.0 very early on in the Alpha releases. Even in the early releases, I was very enamored with the way things were shaping up. But as you know, I do a lot of IoT builds, and use InfluxDB for all of it, so there were a few things I needed it to do that it just didn’t, yet.
Rev'ing the Demo Hardware
If you’ve been reading me for any length of time at all, you’ll know that I build lots of little hardware projects. What better way to highlight the IoT capabilities of InfluxDB than to build hardware that writes data to it constantly! But some of my hardware demos have been getting old, and some of them have been getting abused, so I decided it was time to revamp them with some new hardware, I’m even going to make them fully wireless by adding LiPo batteries so they can go mobile during presentations and demos!