Quickly Connect an Argon IoT Device to QuestDB
I’m back to Particle.io again. I saw that they were having a 30% off sale on the new Argon and some developer kits, so I had to jump on it, since I haven’t gotten any new Particle hardware in years. So, what follows is a complete guide to connecting one of these kits to QuestDB in order to store the data, and then building a dashboard on top of it with Grafana .
What Happens When you Put Your SQL Database on the Internet
And then we posted it to Hacker News. If you listen to, well, pretty much anyone rational, they will tell you in no uncertain terms that the last thing you ever want to do is put your SQL Database on the internet. And even if you’re crazy enough to do that, you certainly would never go post the address to it on a place like Hacker News. Not unless you were a masochist anyway.
Using Python to Access QuestDB
Using Python to Access QuestDB I’m going to keep this post really short, because almost all the real content is going to be in the tutorial itself. And this isn’t it! What Is This What I’ve built is.n interactive tutorial to get you started with QuestDB using Python. It’s very straightforward, and as long as you have Python 3.x installed, you should be almost ready to go. I say “almost” because you will need to install QuestDB locally in order to complete the tutorial.
A QuestDB Dashboard with Node-Red
This is really a follow-on to my post from last week where I connected an Arduino with a temperature and humidity sensor to QuestDB. It’s one thing to send data to your database, but being able to visualize that data is the next logical step. So let’s dive right in to doing that. QuestDB is rather new, and hence we haven’t completed our Grafana Data Source Plugin yet, so I wanted to make a quick dashboard to show the incoming temperature/humidity data (and you’ll see just how awful the sensor really is).
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.