I've recently been looking into assembling an indoor air quality monitoring system, and so far have failed to found any solution that would meet the following criteria simultaneously:
1. Connected for data logging, but local-first. That is, no mandatory Internet connection to vendor cloud. Ability to point to my own server (in my local network), or at least download a data dump off device every now and then (even if over a wire, as a last resort).
2. Not strictly industrial-use. I.e. one that doesn't require me to become a large corporation to buy some, and that doesn't require some proprietary, expensive, and/or old-school industrial protocols to talk to.
3. Not DIY at the hardware level. I'm not that good with a soldering iron, and with small children, I have neither time nor workshop space to solder and assemble anything less trivial than "plug a sensor into an ESP32 and screw both into a box".
(EDIT: shmaybe I can solder a few through-hole components into a PCB, but can't do SMD nor make a custom PCB.)
4. Quality components. With sensors, I mean measuring what it says on a tin (vs. measuring something else and using a factory-provided lookup table to synthesize approximations), and doing it with reasonable accuracy and precision. If there's a calibration step to be done, it should be one that doesn't require me to incorporate myself to perform it.
I've spent some time looking at available options and past HN threads, and so far I discovered that:
- Most products that fit #2 and #3 fail at #1 - they're predominantly cloud-connected bullcrap, and going by review, they often fail at #4. Occasionally, I find something that fits #2, #3, and #4, but then it fails at #1 by... providing no data export option altogether - apparently, it's enough for the consumer to see traffic lights instead of numbers, or browse the readings from the device control panel.
- The DIY stuff I saw (failing #3 to smaller or greater degree) is weak in #4 - in some cases, I recognize the sensors as rather poor and tricky to use right (infamous DHT11 comes to mind), and in all cases, I don't know how one would go about calibrating anything.
My questions thus are:
- Does anyone here have a setup that solves for these four points, and if yes, could you share some details?
- How one would go about looking for vendors meeting those criteria, if they exist at all?
- In a broader sense, how do you go looking for any IoT-adjacent vendor that meets those criteria? It really seems to me that everyone wants me to install their godawful stupid app to connect to their broken cloud, and there's such a flood of those products that reviewers can't keep up with quality testing, and hackers can't keep up with reversing the proprietary protocols and firmwares.
- VEML6030 light sensor - BME680 environmental sensor - SGP30 air quality sensor
After you set up the hardware side of things, you put together a very simple Elixir Phoenix REST API and persist the sensor data into Postgres (with the TimescaleDB extension).
And to wrap up the book, you learn how to create Grafana dashboards to visualize all your time-series data.
Everything is meant to be set up on your LAN and everything can be run either natively or in Docker (there is a Docker compose file in the repo).
Hope that helps!
GitHub Repo: https://github.com/akoutmos/nerves_weather_station Book: https://pragprog.com/titles/passweather/build-a-weather-stat...