Lato, lato iii… po lecie, a wraz z nią nadchodzi zima i powracający problem z smogiem. W tym wpisie będzie trochę o tym problemie, a dokładniej o czujniku PMS7003.
PMS7003 jest to czujnik jakości powietrza, który zwraca nam informacje o pm1.0, pm2.5, pm10 i inne przez UART.
W tym wpisie wykorzystam:
- raspberry pi 0w
- PMS7003
- Adapter IDC 10pin dla czujnika PMS7003 (coś takiego: https://botland.com.pl/czujniki-czystosci-powietrza/13445-adapter-idc-10pin-127mm-microusb-dla-czujnika-pms7003.html )
Podłączyłem to tak jak na zdjęciu czyli nic skomplikowanego (zwykłe połączenie UART):,

- RXD – TXD
- TXD – RXD
- GND – GND
- VCC – VCC
Jest też możliwość podłączenia po USB, jednak stwierdziłem, że tak będzie dla mnie wygodniej.
Następnie przechodzimy do raspberry, w którym to musimy:
- Zainstalować bibliotekę python3 do obsługi PMS7003
- Napisać prosty program do odczytu danych z czujnika
a więc do dzieła 🙂
Bibliotekę pythona instalujemy poprzez komendę PIP3
sudo pip3 install pms7003
Teraz mając to wszystko możemy przystąpić do napisania prostego programu:
from pms7003 import Pms7003Sensor, PmsSensorException
import time
while True:
sensor = Pms7003Sensor('/dev/ttyS0')
time.sleep(3)
try:
datasensor = sensor.read()
print(datasensor)
except PmsSensorException:
print('Sensor connection problem')
Program uruchamiamy komendą:
sudo python3 main.py
Gdzie jako main.py wpisujemy nazwę naszego pliku.
Program uruchamiamy jest poprzez sudo (jako użytkownik root - co NIE jest zalecane ze względów security), jednak możemy stworzyć nowego użytkownika i nadać mu odpowiednie prawa do grupy dialout i wtedy program zacznie się uruchamiać poprawnie -> o tym napiszę w innym poradniku 🙂
jak widać program działa:
{'pm1_0cf1': 1, 'pm2_5cf1': 1, 'pm10cf1': 4, 'pm1_0': 1, 'pm2_5': 1, 'pm10': 4, 'n0_3': 399, 'n0_5': 99, 'n1_0': 16, 'n2_5': 4, 'n5_0': 2, 'n10': 2}
{'pm1_0cf1': 1, 'pm2_5cf1': 1, 'pm10cf1': 4, 'pm1_0': 1, 'pm2_5': 1, 'pm10': 4, 'n0_3': 399, 'n0_5': 101, 'n1_0': 16, 'n2_5': 4, 'n5_0': 2, 'n10': 2}
{'pm1_0cf1': 0, 'pm2_5cf1': 1, 'pm10cf1': 3, 'pm1_0': 0, 'pm2_5': 1, 'pm10': 3, 'n0_3': 441, 'n0_5': 117, 'n1_0': 14, 'n2_5': 4, 'n5_0': 2, 'n10': 2}
Aby zatrzymać program klikamy CTRL+C i mamy teraz za pomocą tego programu np.: wysyłać na stronę, gdzie będziemy pokazywali jaki jest stan powietrza w naszej okolicy.
To już wszystko w tym krótkim jak i prostym poradniku, odnośnie czujnika jakości powietrza. Życzę, aby tej zimy trzymał się on jak najbardziej zielono, a ja szykuję już kolejne poradniki.