Po čtvrt roce od prvních pokusů se snímačem pevných částic Sensirion SPS30 je tady první reálná aplikace - monitor kvality ovzduší neboli AirQmonitor.
HW
Senzorová část je kromě SPS30 řešena soustavou čidel, která jsem našel v šuplíku - BME280 (teplota, tlak) a SHT40 (teplota, relativní vlhkost).
Jako CPU/MCU jsem využil Raspberry Pi Zero 2, které už nějakou dobu slouží jako přijímač pro ADS-B. Spojení maliny a čidel je přímo přes i2c.
Pro snadnější DEBUG komunikují SPS30 a BME280+SHT40 po dvou samostatných i2c sběrnicích - nutno nakonfigurovat Raspberry Pi - viz AirQmonitor.py níže. Propojení je cca 2 m dlouhým UTP kabelem (opět šuplík).
Na straně RPi, na PIN headeru, je jednoduchá PCB s konektorem a pady pro připájení UTPčka + druhého SHT40, které měří teplotu a vlhkost v krabici s Raspberry Pi.
Návod, jak korektně instalovat SPS30, aby měřil reálné hodnoty, je uveden v Mechanical Design and Assembly Guidelines for SPS30.
Čidla monitoru kvality ovzduší mám umístěna v elektroinstalační krabici na zábradlí balkonu. Pájeno natvrdo - vrabčí hnízdo. SPS30 je uchyceno v držáku, který fixuje i BME280 a SHT40 (pod držákem).
SW
Periodické čtení údajů z čidel, jejich odesílání na moje IoT centrum, TMEP i servery Sensor.Community zajišťuje daemon napsaný v Pythonu - AirQmonitor.py, který pro jednotlivá čidla i komunikaci s REST API služeb využívá samostatné knihovny.
Pro zobrazení hodnot používám svoje přehledové IoT centrum. Grafy generuji přímo z RRD při požadavku na graf.
Poznámka:
Kousek od domu mám jednu ze stanic systému ISKO ČHMI (celá ČR, Polsko, Rakousko, Slovensko). Do grafu proto „pro kontrolu“ počítám a vykresluji i PM 10.0-3h - tříhodinový klouzavý průměr PM 10.0.
Seznam odkazů