pms3003 service
[air-quality] / README
1 Experiments with air quality sensors
2
3 Scripts in this directory read from sensor serial port output (which
4 is 3.3V serial connected to usb serial dongle) and store data to
5 influxdb using curl.
6
7 When receiving data from sensors, they check  header and checksum to
8 avoid sending garbage data. This also helps when you select wrong
9 serial port, beacuse script from wrong sensor won't send invalid or
10 corrupt data. Timestamp are also generated locally to mitigate any
11 network latency to influxdb (which is somewhere in the cloud, and
12 latency can vary just enough to create empty vertical stripes in
13 graphs which is ugly and incorrect).
14
15
16 Exception to that rule is dsm501.pl which is general serial to
17 influx bridge used by helper shell scripts to handle sensors
18 which require 5V by connecting them to Arduino-like mcu.
19 Example of that is:
20
21 mq7.sh
22
23 which uses https://github.com/dpavlin/mq7-co-monitor/
24
25 on Arduino to produce output which is then fed to dsm501.pl.
26
27
28 Another strage one is audio2influx.sh which doesn't require
29 any external hardware but instead report sox info about 1s
30 or audio to influxdb. I'm using this to passivly monitor
31 fan rotation by connecting it directly to microphone input
32 on netbook and adjusting input gain to prevent clipping
33 using alsamixer.
34
35 To make alsamixer work, I had to remove pulseaudio.