Jak stworzyć własny system monitoringu jakości powietrza w domu za pomocą Raspberry Pi i tanich czujników?
2026-06-16Chcesz wiedzieć, czym naprawdę oddychasz w swoim domu? Stworzenie własnego systemu monitoringu jakości powietrza z Raspberry Pi i tanich czujników to fascynujący projekt, który pozwala precyzyjnie śledzić stężenie pyłów PM2.5, lotnych związków organicznych (VOC) czy dwutlenku węgla (CO2), dając Ci pełną kontrolę nad środowiskiem. Wystarczy kilka komponentów dostępnych za ułamek ceny komercyjnych rozwiązań, trochę chęci i podstawowa wiedza o podłączaniu kabelków, by w ciągu jednego popołudnia uruchomić taki system.
Dlaczego w ogóle warto się tym zająć? Przez lata myślałem, że u mnie w mieszkaniu powietrze jest super. Ot, otworzę okno i już. Dopiero kiedy podłączyłem pierwszy czujnik pyłów PM2.5, okazało się, że po wietrzeniu w zimie, z zewnątrz wlatują do mnie wartości rzędu 200 µg/m³! To było dla mnie szokujące, bo na zewnątrz normy były niby „tylko” 50. Monitoring pozwala zobaczyć, co dzieje się w kuchni po smażeniu, jak wentylacja radzi sobie z wilgocią, czy po prostu zrozumieć wpływ smogu z zewnątrz.
Co będzie potrzebne do budowy?
Aby zbudować swój własny system, potrzebujesz kilku kluczowych elementów:
- Raspberry Pi (np. model 3B+, 4 lub Zero W dla bardziej kompaktowych rozwiązań) – to będzie serce systemu.
- Karta MicroSD (min. 8GB) z wgranym systemem Raspberry Pi OS Lite.
- Czujnik pyłów PM2.5/PM10 – polecam popularny PMS5003 (koszt ok. 50-70 zł). Daje mi bardzo powtarzalne wyniki.
- Czujnik lotnych związków organicznych (VOC) i CO2 – np. CCS811 (ok. 30-50 zł) lub nowszy SGP30/SCD30 (droższy, ale dokładniejszy dla CO2).
- Czujnik temperatury i wilgotności – DHT22 (kilkanaście złotych) jest prosty i wystarczający na początek.
- Przewody połączeniowe (Dupont F-M) i płytka stykowa (breadboard) – dla łatwiejszego łączenia.
- Zasilacz do Raspberry Pi.
- Opcjonalnie: niewielka obudowa, aby wszystko ładnie schować.
Montaż sprzętu krok po kroku
To najmniej skomplikowana część, ale wymaga precyzji.
- Zacznij od zasilania: Zawsze wyłącz Raspberry Pi przed podłączaniem czegokolwiek.
- Podłącz PMS5003: Ten czujnik komunikuje się po UART. Podłącz jego pin RX do pinu TX Raspberry Pi (GPIO 14) i pin TX do pinu RX Raspberry Pi (GPIO 15). Zasilanie 5V i GND.
- Podłącz CCS811/SGP30: Te czujniki używają protokołu I2C. Podłącz ich pin SDA do GPIO 2 (SDA), a pin SCL do GPIO 3 (SCL). Zasilanie 3.3V i GND.
- Podłącz DHT22: Ten czujnik jest jednoprzewodowy. Podłącz pin danych do dowolnego wolnego pinu GPIO (np. GPIO 4), zasilanie 3.3V i GND.
- Sprawdź połączenia dwukrotnie – u mnie pierwszy raz wyszło dopiero za trzecim razem, bo pomyliłem piny TX/RX. To klasyka.
Konfiguracja oprogramowania
To moment, gdy Raspberry Pi ożywa.
- Przygotuj kartę SD: Pobierz Raspberry Pi Imager, wgraj na kartę system Raspberry Pi OS Lite (bez GUI). Upewnij się, że włączasz SSH i konfigurujesz WiFi – to znacznie ułatwi pracę.
- Zaloguj się przez SSH: Po uruchomieniu Pi, zaloguj się i zaktualizuj system (`sudo apt update && sudo apt upgrade`).
- Włącz interfejsy: Przejdź do `sudo raspi-config` -> `Interfacing Options` i włącz UART oraz I2C. To krytyczne dla komunikacji z czujnikami.
- Zainstaluj biblioteki Pythona: Do odczytu danych z czujników będziesz potrzebować odpowiednich bibliotek.
- Zainstaluj `pip install smbus2` (dla I2C)
- Zainstaluj `pip install adafruit-circuitpython-dht` (dla DHT22)
- Zainstaluj `pip install pyserial` (dla UART)
- Poszukaj gotowych bibliotek dla PMS5003 i CCS811 na GitHubie – jest ich sporo, ja korzystam z jednego z forków adafruit_pmsensor.
- Napisz skrypt Python: Stwórz plik `sensor_monitor.py`, który będzie odczytywał dane z każdego czujnika, a następnie np. wyświetlał je w konsoli lub wysyłał do pliku/serwisu. U mnie prosty skrypt co ~5 sekund pobiera dane ze wszystkich i zapisuje do bazy danych. Pamiętaj o obsłudze błędów – czujniki czasem „zawieszają się” na chwilę.
- Uruchom skrypt przy starcie: Dodaj skrypt do `crontab -e` z `@reboot /usr/bin/python3 /home/pi/sensor_monitor.py &` aby uruchamiał się automatycznie.
Wizualizacja i przechowywanie danych
Surowe dane to jedno, ale chcemy je widzieć!
- Wysyłanie danych do platformy: Ja zdecydowałem się na wysyłanie danych do InfluxDB (lokalnie na Raspberry Pi lub na innym serwerze) i wizualizację w Grafanie. To wymaga trochę konfiguracji, ale daje piękne, interaktywne wykresy w czasie rzeczywistym.
- Prostsze rozwiązania: Możesz też wysyłać dane do usług takich jak ThingSpeak, Adafruit IO, lub po prostu zapisywać je do pliku CSV i przeglądać na komputerze. U mnie prosty plik CSV był punktem wyjścia, ale po tygodniu frustrowałem się brakiem wizualizacji.
Praktyczne porady i pułapki
- Kalibracja: Czujniki, zwłaszcza te tańsze, mogą wymagać pewnej „kalibracji”. Porównaj odczyty z innymi, bardziej sprawdzonymi źródłami, jeśli masz taką możliwość. U mnie PMS5003 okazał się zaskakująco dokładny w porównaniu do profesjonalnego miernika.
- Umiejscowienie: Umieść urządzenie z dala od bezpośrednich źródeł ciepła, przeciągów czy miejsc, gdzie mógłby zbierać się kurz. Moja pierwsza próba ustawienia obok okna spowodowała, że czujnik PM miał ciągle zawyżone wyniki.
- Zasilanie: Upewnij się, że zasilacz do Raspberry Pi ma odpowiednią wydajność (min. 2.5A dla Pi 3B+, 3A dla Pi 4). Niewystarczające zasilanie to najczęstsza przyczyna niestabilnej pracy.
- Bezpieczeństwo: Jeśli udostępniasz dane na zewnątrz, zabezpiecz je! Użyj certyfikatów SSL i silnych haseł.
Nie wiem czemu – ale tak zbudowany system działa stabilnie u mnie już ponad rok, dostarczając mi cennych informacji o jakości powietrza w domu. Czasem, po większym grillowaniu na balkonie, widzę skok PM2.5 do poziomu, który przypomina smog, co daje mi do myślenia. To świetne narzędzie do nauki i poprawy komfortu życia.
Najczęstsze pytania
Czy ten system jest dokładny?
Zależy od użytych czujników. Tanie czujniki hobbystyczne są wystarczające do ogólnego monitorowania trendów i wykrywania znacznych zmian, choć nie zastąpią profesjonalnego sprzętu pomiarowego.
Ile kosztuje budowa takiego systemu?
Całkowity koszt to zazwyczaj od 200 do 400 zł, w zależności od wybranego modelu Raspberry Pi i liczby/rodzaju czujników, co jest ułamkiem ceny komercyjnych rozwiązań.
Czy muszę znać programowanie, żeby to zrobić?
Podstawowa znajomość Pythona jest bardzo pomocna, ale wiele fragmentów kodu do obsługi czujników znajdziesz online i możesz je dostosować do swoich potrzeb.


