Czujnik smogu SDS011 wraz z ESP8266

Temat smogu nie jest czymś nowym, dotyka on obecnie praktycznie każdego z nas. Już ładnych parę lat temu przymierałem się do tego jednak z braku czasu poszło na bok. Jednak w pewnym momencie była chwila wolna i zostało to poskładane do kupy. Obecnie opisywany właśnie czujnik SDS011 pracuje u mnie od mniej więcej Maja 2019r.

Co do samego czujnika SDS011 należy pamiętać, że jest to czujnik smogu laserowy i ma ograniczoną żywotność. Zarówno wentylator znajdujący się w czujniku jak dioda nie powinna pracować w sposób ciągły, no chyba, że chcemy go częściej wymieniać. Sam SDS011 na szczęście obsługuje tryb uśpienia więc możemy programowo wyłączać i uruchamiać jedynie na czas pomiaru co znacząco wydłuży jego żywotność.

Parametry czujnika smogu SDS011

  • Typ pomiarów: PM10 oraz PM2,5
  • Zakres pomiarów: 0 – 999.9 μg /m³
  • Napięcie pracy: 5V (4.7 – 5.3V)
  • Pobór prądu podczas praca: ~70mA ±10mA
  • Pobór prądu w trybie uśpienie lasera i wentylatora: < 4mA
  • Temperatura pracy: do -10 do +50C (jeszcze trzyma swoją dokładność po za tymi zakresami lubi się „pomylić” bardziej)
  • Wilgotność pracy do 70% należy pamiętać, że kondensacja prawy wodnej fałszuje wyniki
  • Dokładność pomiaru: 70% dla 0.3μm
    98% dla 0.5μm

SDS011

Lista komponentów które były mi potrzebne, aby cały czujnik działał prawidłowo. Dane odbierać będzie już działający Domoticz.

  • czujnik smogu SDS011
  • moduł ESP8266
  • opcjonalnie płytka PCB np. Nettigo Air Monitor można nabyć w Nettigo
  • obudowa Z59JpH
  • z 20 cm gumowej rurki

Zaraz ktoś się doczepi, że mogłem to połączyć bezpośrednio przewodami, jednak PCB idealnie pasował do mojej obudowy i posiada ona od razu złącza do innych czujników. Wygląd PCB poniżej.

Nettigo Air Monitor PCB
Nettigo Air Monitor PCB

Co do oprogramowania które będzie nam potrzebne to:
– ESP8266 z zainstalowanym ESP Easy mega
Domoticz do wirtualizacji naszych danych

W momencie gdy mamy już działające ESP wchodzimy na panel www w celu konfiguracji naszego modułu do gadania z SDS011.

W tym celu na pierwszy ogień przechodzimy do zakładki: Tools -> Advanced po czym włączamy opcje „Rules”

Następnie przechodzimy do zakładki „Devices” i dodajemy nasz czujnik. Z listy dostępnych urządzeń wybieramy „Dust – SDS011/018/198” GPIO ustawiam na te do których mamy podłączony czujnik. W przypadku korzystania z gotowej płytki Air Monitor ustawiamy

GPIO ← TX:  GPIO-5
GPIO → RX(optional): GPIO-4

Następnie przechodzimy do „Rules” i dodajemy, adres 10.10.10.8,80 to adres IP na jakim mamy uruchomionego naszego Domoticza natomiast po przecinku 80 oznacza port, należy pamiętać, że domyślny to port 8080.

On System#Boot do
timerSet,1,30
endon

On Rules
GPIO,5,1
timerSet,2,120
endon

On Rules#Timer=2 do
SendToHTTP 10.10.10.8,80,/json.htm?type=command&param=udevice&idx=50&nvalue=0&svalue=[CzujnikSmogu#PM25]
SendToHTTP 10.10.10.8,80,/json.htm?type=command&param=udevice&idx=51&nvalue=0&svalue=[CzujnikSmogu#PM10]
GPIO,5,0
timerSet,1,120
endon

czujnik smogu sds0011 kod ról

Identyfikator naszych czujników ustawiamy zgodnie z tym jaki ID zostanie nam nadany w następnym kroku. Wówczas zmień idx=50 oraz idx=51 na swój.

Następnym krokiem jest stworzenie w Domoticzu wirtualnego sensora, robimy to osobno dla PM 2,5 i PM 10. Jako typ sensora polecam  „Custom Sensor” z rozwijanej listy. Po kilkudziesięciu minutach będziemy mogli zaobserwować nasze dane. Poniżej dane dla PM2,5 oraz PM10 z kilku miesięcy pracy u mnie.

 

czujnik smogu sds011 PM25
Dane z czujnika smogu SDS011 dla PM2,5
czujnik smogu sds011 PM10
Dane z czujnika smogu SDS011 dla PM10

Post Author: swistak

11 thoughts on “Czujnik smogu SDS011 wraz z ESP8266

    electro

    (23 listopada 2019 - 16:43)

    W jaki sposób udało Ci się rozdzielić PM25 i PM10 w domoticzu na dwa czujniki?

    swistak

    (23 listopada 2019 - 17:51)

    Dodajesz 2 w Domoticzu PM25 i PM10 i potem w zakładce „Rules” odpowiednio definiujesz. Zapisane mam PM25 ze względu na to, że reguła nie chciała zaskoczyć z zapisem PM2,5 😉

    electro

    (23 listopada 2019 - 18:30)

    Problem w tym, że mi to nie działa, wiem, że masz dobre reguły, są zgodne z wiki, ale w moim przypadku to wygląda tak, że reguły są nadpisywane ustawieniami w konfiguracji WEB ESP, w logach idzie tylko wiadomość z idx który jest ustawiony w czujniku SDS011, czy masz tam zaznaczone do jakiego kontrolera wysyłasz (ptaszek)? Jaki masz firmware esp (git build) w Mainie?
    Gdy stosuję reguły niestety nie widze nawet w logach by wykonywały się taimery.

    swistak

    (23 listopada 2019 - 18:44)

    Mój bulid to mega-20190523,
    SendToHTTP 10.10.10.8,80,/json.htm?type=command&param=udevice&idx=50&nvalue=0&svalue=[CzujnikSmogu#PM25]

    zamień adres 10.10.10.8 ma swój port 80 na swój oraz idx=50 na swój lata. Kilkanaście osób robiło wg tego i lata identycznie mam ustawione jak we wpisie.

    electro

    (24 listopada 2019 - 18:55)

    Chodzi właśnie o to, że jedna linijka (PM25)do jednego idx’a w domoticzu się dobija, a druga (PM10) niestety nie, choć widzę w logach, że kontroler wysyła jednak domoticz nie potrafi tego odebrać i wstawić do virtualnego czujnika. Finalnie więc mam PM25 wartość właściwą, a PM10 = 0.

    swistak

    (24 listopada 2019 - 19:13)

    A idx masz różne dla PM2,5 i dla PM10 ?

    electro

    (24 listopada 2019 - 20:49)

    Tak

    swistak

    (24 listopada 2019 - 21:04)

    Sprawdź czy te komendy czy są identyczne po za idx.

    Mati

    (24 listopada 2019 - 21:05)

    Zobacz czy na machnąłeś się w porcie, ja tak miałem 😉

    electro

    (24 listopada 2019 - 21:49)

    Działa! Czeski błąd nie miałem zera (0) w IDX :
    Data Acquisition
    Send to Controller

    IDX:
    0

    Dzięki za zainteresowanie:)

    swistak

    (24 listopada 2019 - 22:08)

    Spoko 😉

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.