Contains code that displays data from the MiniAQI device. For info on the device, see the accompanying blog post.
This repo uses poetry.
You can install poetry globally:
$ pip install poetryUse poetry to install dependencies:
$ poetry installInvoke with poetry:
$ poetry run ./main.pyYou can get help by passing --help.
By default, this program will scan a few possible tty ports to find a PMS7003.
You may wish to pass the location explicitly, by using --port <port>.
Also, by default, the program will print quality measurements to the terminal.
It will also print them, in influxdb line protocol format, to measurements.log.
You may wish to disable printing to the terminal with --log-only, and customize the location of the log file with --log-path.
On a recent Linux, you can run this as a service.
Modify the included mini-aqm.service file, and edit the WorkingDirectory and ExecStart variables.
WorkingDirectory should point at the location where you have this repo checked out.
ExecStart (and ExecStartPre) should have the path to your poetry binary -- find it with which poetry.
You may also wish to customize the arguments to main.py, for instance to set --log-path.
To install the service:
cat mini-aqm.service | sudo tee /etc/systemd/system/mini-aqm.service
sudo systemctl daemon-reload
sudo systemctl start mini-aqmYou might want to pull the measurements into a time series database using telegraf.
You can do so by using the tail plugin.
The configuration looks like this:
[[inputs.tail]]
files = ["/home/igor47/repos/mini-aqm/measurements.log"]
Customize the path where your measurements.log file is found.
You may wish to pass an explicit path to main.py using --log-path <path>.