Publikacja czujnika cząstek stałych ESP-01S
Instrukcja użytkownika

Publikacja czujnika cząstek stałych ESP-01S
Publikowanie danych z czujnika cząstek stałych w Adafruit IO za pomocą Maker Pi Pico i ESP-01S
autorstwa Kevina Waltersa
W tym artykule pokazano, jak publikować dane z trzech tanich czujników cząstek stałych do usługi Adafruit IO IoT przy użyciu Cytron Maker Pi Pico z programem CircuitPython przesyłającym dane wyjściowe z czujników przez Wi-Fi za pomocą modułu ESP-01S z uruchomionym oprogramowaniem AT rmware.
WHO uznaje cząstki stałe PM2.5 za jedno z największych zagrożeń środowiskowych dla zdrowia, ponieważ 99% światowej populacji żyje w miejscach, w których w 2019 r. nie osiągnięto poziomów określonych w wytycznych WHO dotyczących jakości powietrza. Szacuje się, że było to przyczyną 4.2 mln przedwczesnych zgonów w 2016 roku.
Trzy czujniki cząstek stałych pokazane w tym artykule to:
- Plantower PMS5003 przy użyciu połączenia szeregowego;
- Sensirion SPS30 wykorzystujący i2c;
- Omron B5W LD0101 z wyjściami impulsowymi.
Te czujniki optyczne są podobne do tych, które można znaleźć w jednym typie domowych czujników dymu, ale zawodzą, gdy próbują zliczyć cząstki o różnych rozmiarach, a nie tylko alarmują o stężeniu progowym.
Oparty na czerwonym laserze czujnik PMS5003 jest powszechnie używanym czujnikiem hobbystycznym i można go znaleźć w czujniku jakości powietrza PurpleAir PA-II. SPS30 to nowszy czujnik wykorzystujący tę samą zasadę i można go znaleźć w czujniku jakości powietrza Clarity Node-S. Czujnik B5W LD0101 oparty na podczerwieni LED ma bardziej prymitywny interfejs, ale jest przydatny ze względu na swoją zdolność do wykrywania cząstek większych niż 2.5 mikrona – pozostałe dwa czujniki nie są w stanie wiarygodnie ich zmierzyć.
Adafruit IO oferuje darmowy poziom z ograniczoną liczbą kanałów i dashboardów – te w zupełności wystarczą dla tego projektu. Dane warstwy bezpłatnej są przechowywane przez 30 dni, ale można je łatwo pobrać.
Płyta Maker Pi Pico opisana w tym artykule to:ample Cytron uprzejmie przesłał mi do oceny. Jedyną różnicą w stosunku do wersji produkcyjnej jest dodanie elementów pasywnych, które tłumią działanie trzech przycisków.
Moduł ESP-01S prawdopodobnie będzie wymagał aktualizacji oprogramowania AT. Jest to stosunkowo złożony, długotrwały proces i może być czasochłonny. Cytron sprzedaje moduł z odpowiednim oprogramowaniem AT.
Niestety, producent wycofuje czujnik Omron B5W LD0101, a ostatnie zamówienia mają miejsce w marcu 2022 r.
Zaopatrzenie:
- Cytron Maker Pi Pico – klucz cyfrowy | PiHut
- ESP-01S – Płyta Cytron jest dostarczana z odpowiednim oprogramowaniem ATrmware.
- Adapter/programator USB ESP-01 z przyciskiem reset – Cytron.
- Deska do krojenia chleba.
- Przewody połączeniowe żeńskie-męskie, długość minimalna około 20 cm (8 cali).
- Plantower PMS5003 z kablem i adapterem do płytki stykowej – Adafruit
- lub Plantower PMS5003 + adapter do płytki prototypowej Pimoroni – Pimoroni + Pimoroni
- Sensirion SPS30 – klucz cyfrowy
- Kabel Sparkfun SPS30 JST-ZHR na 5 pinów męskich – Digi-Key
- 2x rezystory 2.2k.
- Omron B5W LD0101 – Mysz
- Kabel Omron opisany jako wiązka (2JCIE-HARNESS-05) – Mouser
- 5-pinowe złącze męskie (do dostosowania kabla do płytki stykowej).
- lutować – krokodylki (krokodylki) mogą działać jako alternatywa dla lutowania.
- 2x rezystory 4.7k.
- 3x rezystory 10k.
- Kondensator 0.1 uF.
- Moc baterii dla Omron B5W LD0101:
- Uchwyt na baterie 4AA do akumulatorów NiMH (lepszy wybór).
- lub uchwyt na baterie 3AA do baterii alkalicznych.
- Zasilacz USB może się przydać, jeśli chcesz biegać na zewnątrz z dala od źródła zasilania USB.

Krok 1: Programator USB do aktualizacji pamięci Flash w ESP-01S
Jest mało prawdopodobne, aby moduł ESP-01S był wyposażony w odpowiednie oprogramowanie AT, chyba że pochodzi od Cytron. Najprostszym sposobem aktualizacji jest użycie komputera stacjonarnego lub laptopa z systemem Windows z adapterem USB, który umożliwia zapis i posiada przycisk resetowania.
Niestety, bardzo popularny, niemarkowy adapter, często opisywany jako coś w rodzaju „adaptera programatora ESP-01 UART”, nie ma przycisków ani przełączników do sterowania nimi. Powyższy film pokazuje, jak można to szybko zmodernizować
z kilkoma improwizowanymi przełącznikami wykonanymi z dwóch przewodów połączeniowych męskich na żeńskie przeciętych na dwie części i przylutowanych do styków na spodzie płytki programatora. Alternatywne podejście do tego za pomocą płytki prototypowej można zobaczyć w Hackaday:
ESPHome w przepływie pracy systemu Windows ESP-01.
https://www.youtube.com/watch?v=wXXXgaePZX8
Krok 2: Aktualizacja oprogramowania sprzętowego ESP-01S przy użyciu systemu Windows
Program terminalowy, taki jak PuTTY, może być używany z programatorem ESP-01 w celu sprawdzenia wersji oprogramowania rmware. Oprogramowanie rmware sprawia, że ESP8266 działa trochę jak modem z poleceniami inspirowanymi zestawem poleceń Hayes. Polecenie AT+GMR AT+GMR pokazuje wersję rmware.
AT+GMR
W wersji: 1.1.0.0 (11 maja 2016 18:09:56)
Wersja SDK: 1.5.4(baaeaebb)
czas kompilacji: 20 maja 2016 r., 15:08:19
Cytron udostępnia przewodnik opisujący, jak zastosować aktualizację oprogramowania rmware za pomocą narzędzia Espressif Flash Download Tool (tylko Windows) w serwisie GitHub: CytronTechnologies/esp-at-binaries. Cytron udostępnia także kopię pliku binarnego rmware, Cytron_ESP-01S_AT_Firmware_V2.2.0.bin.
Po pomyślnej aktualizacji nowe oprogramowanie zostanie zgłoszone jako wersja 2.2.0.0
AT+GMR
Wersja AT: 2.2.0.0(b097cdf – ESP8266 – 17 czerwca 2021 r. 12:57:45)
Wersja SDK: v3.4-22-g967752e2
czas kompilacji (6800286): 4 sierpnia 2021 r., 17:20:05
Wersja bin: 2.2.0 (Cytron_ESP-01S)
Alternatywnie do programowania ESP-8266S opartego na ESP01 dostępny jest program wiersza poleceń o nazwie esptool, którego można używać w systemie Linux lub macOS.
Oprogramowanie rmware ESP-01S można przetestować na Maker Pi Pico przy użyciu pliku Simpletest.py firmy Cytron. Powoduje to wysyłanie polecenia ping ICMP do dobrze znanej usługi w Internecie co 10 sekund i wyświetlanie czasu podróży w obie strony (rtt) w milisekundach. To wymaga pliku secrets.py file za pomocą identyfikatora SSID Wi-Fi (nazwy) i hasła – opisano to w dalszej części artykułu.
DOBRY
ZŁE

Krok 3: Podłączanie czujników
Do podłączenia trzech czujników i monitorowania objtage z czterech akumulatorów NiMH. Powyżej załączono zdjęcie całej konfiguracji w wysokiej rozdzielczości, a w kolejnych krokach opisano, w jaki sposób można podłączyć każdy czujnik.
Szyny zasilające na płycie prototypowej zasilane są z Pi Pico
- VBUS (5V) i GND do szyn zasilających po lewej stronie i
- 3V3 i GND po prawej stronie.
Szyny zasilające są oznaczone pobliską czerwoną linią dla szyny dodatniej i niebieską dla szyny ujemnej (lub masy). Na pełnowymiarowej (830 otworów) płycie prototypowej mogą one mieć górny zestaw szyn, który nie jest połączony z dolnym zestawem szyn.
Baterie służą wyłącznie do zasilania urządzenia Omron B5W LD0101, które wymaga stałego poziomu głośnościtagmi. Zasilanie USB z komputera jest często hałaśliwe, co czyni je nieodpowiednim.

Krok 4: Podłączanie Plantowera PMS5003
Plantower PMS5003 wymaga zasilania 5 V, ale jego interfejs szeregowy „w stylu TTL” jest bezpieczny dla 3.3 V. Połączenia z
PMS5003 poprzez tabliczkę zaciskową do Pi Pico to:
- VCC do 5 V (czerwony) przez szynę rzędu 6 do 5 V;
- GND do GND (czarny) poprzez rząd 5 do GND;
- SET na EN (niebieski) poprzez rząd 1 do GP2;
- RX do RX (biały) przez rząd 3 do GP5;
- TX do TX (szary) przez rząd 4 do GP4;
- RESET do RESET (fioletowy) przez rząd 2 do GP3;
- NC (niepodłączony);
- NC.
Arkusz danych zawiera ostrzeżenie dotyczące metalowej obudowy.
Metalowa obudowa jest połączona z GND, więc uważaj, aby nie dopuścić do zwarcia [sic!] z innymi częściami obwodu z wyjątkiem GND.
Element jest zwykle dostarczany z niebieską plastikową powłoką na obudowie, która chroni powierzchnię przed zarysowaniami, ale nie należy na tym polegać w przypadku izolacji elektrycznej.

Krok 5: Podłączanie Sensirion SPS30
Sensirion SPS30 wymaga zasilania 5 V, ale jego interfejs i2c jest bezpieczny dla 3.3 V. Jedynymi dodatkowymi komponentami są dwa rezystory 2.2 kB, które działają jako elementy podciągające dla magistrali i2c. Połączenia SPS30 z Pi Pico to:
- VDD (czerwony) na szynę 5V5V;
- SDA (biały) do GP0 (szary) przez rząd 11 z rezystorem 2.2 kB do szyny 3.3 V;
- SCL (fioletowy) do GP1 (fioletowy) przez rząd 10 z rezystorem 2.2 kB do szyny 3.3 V;
- SEL (zielony) do GND;
- GND (czarny) do GND.
Złącze przewodu może wymagać mocnego wciśnięcia, aby prawidłowo je włożyć do SPS30.
SPS30 obsługuje również interfejs szeregowy, który firma Sensirion zaleca w arkuszu danych.
Należy rozważyć pewne kwestie dotyczące wykorzystania interfejsu I2C. I2C został pierwotnie zaprojektowany do łączenia dwóch układów na płytce PCB. W przypadku podłączenia czujnika do płytki głównej za pomocą kabla należy zwrócić szczególną uwagę na zakłócenia elektromagnetyczne i przesłuchy. Używaj możliwie najkrótszych (< 10 cm) i/lub dobrze ekranowanych kabli połączeniowych.
Jeśli to możliwe, zalecamy zamiast tego stosowanie interfejsu UART: jest on bardziej odporny na zakłócenia elektromagnetyczne, szczególnie w przypadku długich kabli połączeniowych.
Znajduje się tam również ostrzeżenie dotyczące metalowych części obudowy.
Należy pamiętać, że istnieje wewnętrzne połączenie elektryczne pomiędzy pinem GND (5) a metalowym ekranem. Należy utrzymywać ten metalowy ekran w stanie zapewniającym elektryczność, aby uniknąć niezamierzonych prądów płynących przez to wewnętrzne połączenie. Jeżeli nie jest to możliwe, wymagane jest odpowiednie wyrównanie potencjału zewnętrznego pomiędzy pinem GND i potencjałem podłączonym do ekranu. Jakikolwiek prąd przepływający przez połączenie pomiędzy GND a metalowym ekranem może uszkodzić produkt i stwarzać zagrożenie dla bezpieczeństwa w wyniku przegrzania.
Krok 6: Podłączanie Omron B5W LD0101
Kabel firmy Omron nie jest przeznaczony do użytku z płytką prototypową. Jednym z szybkich sposobów przystosowania go do użytku w płytce prototypowej jest odcięcie gniazda, odizolowanie przewodów i przylutowanie ich do pięciopinowych męskich pinów. Aby uniknąć lutowania, można zastosować zaciski krokodylkowe (krokodylki).
Urządzenie Omron B5W LD0101 wymaga stałego zasilania 5 V. Jego dwa wyjścia są również na poziomie 5 V, co jest niekompatybilne z wejściami 3.3 V Pi Pico. Obecność rezystorów na płycie czujnika ułatwia obniżenie tej wartości do bezpiecznej wartości poprzez dodanie rezystora 4.7 kΩ do masy na każde wyjście. Rezystory pokładowe są udokumentowane w arkuszu danych, co sprawia, że jest to rozsądne podejście.
Połączenia między B5W LD0101 a Pi Pico to:
- Szyna Vcc (czerwona) do 5 V (czerwona) przez rząd 25;
- OUT1 (żółty) do GP10GP10 (żółty) przez rząd 24 z rezystorem 4.7k do GND;
- GND (czarny) do GND (czarny) poprzez rząd 23;
- Vth (zielony) do GP26GP26 (zielony) przez rząd 22 z kondensatorem 0.1 uF do GND;
- OUT2 (pomarańczowy) do GP11 (pomarańczowy) przez rząd 21 z rezystorem 4.7k do GND.
Ten GP12 (zielony) z Pi Pico łączy się z rzędem 17, a rezystor 10k łączy rząd 17 z rzędem 22.
Arkusz danych opisuje wymagania dotyczące zasilania jako:
Minimum 4.5 V, typowo 5.0 V, maksymalnie 5.5 V, głośność tętnieniatagZalecany jest zakres 30 mV lub mniej. Upewnij się, że nie ma hałasu poniżej 300 Hz. Kon
rm dopuszczalna objętość tętnieniatagWartość przy użyciu rzeczywistej maszyny.
Trzy baterie alkaliczne lub cztery akumulatory (NiMH) to najprostszy sposób na zapewnienie stałego, stabilnego poziomu głośnościtage około 5 V do czujnika. Zasilacz USB będzie prawdopodobnie złym wyborem, ponieważ pojemność voltage pochodzi zazwyczaj z baterii litowej wykorzystującej konwerter buck-boost, co powoduje, że jest głośny.
B5W LD0101 wykorzystuje konwekcję do przepływu powietrza i aby działał prawidłowo, należy go ustawić w pozycji pionowej. Zmiana podaży objtage prawdopodobnie będzie miało wpływ na temperaturę nagrzewnicy i związany z nią przepływ powietrza. Temperatura otoczenia również musi mieć wpływ.
Krok 7: Monitorowanie akumulatora za pomocą dzielnika potencjału
Pojemność bateriitage przekracza poziom 3.3 V na wejściach procesora Pi Pico RP2040. Prosty dzielnik potencjału może zmniejszyć tę objętośćtage znajdować się w tym zakresie. Dzięki temu RP2040 może mierzyć poziom naładowania baterii na wejściu analogowym (GP26 do GP28).
Powyżej zastosowano parę rezystorów 10k, aby zmniejszyć o połowę głośnośćtagmi. Często stosuje się wyższe wartości, np. 100 tys., aby zminimalizować straty prądu. Połączenia to:
- B5W LD0101 Przewód połączeniowy Vcc (czerwony) do rzędu 29 po lewej stronie;
- Rezystor 10k w rzędzie 29 pomiędzy lewą i prawą stroną w rzędzie 29;
- Brązowy przewód połączeniowy do Pi Pico GP27;
- Rezystor 10k z prawej strony rzędu 29 do pobliskiej szyny GND.
GP28 w Maker Pi Pico może być używany jako wejście analogowe, ale ponieważ jest również podłączony do piksela RGB, może to mieć niewielki wpływ na wartość, a nawet może się podświetlić lub zmienić, jeśli wejście wygląda jak protokół WS2812!
Krok 8: Instalowanie programu do publikowania danych CircuitPython i Sensor
Jeśli nie znasz CircuitPython, warto najpierw przeczytać przewodnik Witamy w CircuitPython.
- Zainstaluj następujące siedem bibliotek z pakietu wersji 7.x z https://circuitpython.org/libraries do katalogu lib na dysku CIRCUITPY:
- urządzenie_adafruit_bus_device
- adafruit_minimqtt
- adafruit_io
- adafruit_espatcontrol
- adafruit_pm25
- adafruit_requests.mpy
- neopixel.mpy
- Pobierz te dwie dodatkowe biblioteki do katalogu lib, klikając Zapisz link jako… na stronie files w katalogu lub na file:
- adafruit_sps30 z https://github.com/kevinjwalters/Adafruit_CircuitPython_SPS30
- b5wld0101.py z https://github.com/kevinjwalters/CircuitPython_B5WLD0101
- Utwórz plik secrets.py file (patrz exampplik poniżej) i wpisz wartości.
- Pobierz program do CIRCUITPY, klikając Zapisz link jako… na stronie pmsensors_adafruitio.py
- Zmień nazwę lub usuń istniejący plik code.py file w CIRCUITPY zmień nazwę pliku pmsensors_adafruitio.py na code.py This file jest uruchamiany podczas uruchamiania lub ponownego ładowania interpretera CircuitPython.
# W tym pliku przechowujesz tajne ustawienia, hasła i tokeny!
# Jeśli umieścisz je w kodzie, ryzykujesz popełnienie tych informacji lub udostępnienie ich
sekrety = {
„ssid”: „WSTAW NAZWĘ-WIFI-TUTAJ”,
„hasło” : „WSTAW-WIFI-HASŁO-TUTAJ”,
„aio_username” : „INSERT-ADAFRUIT-IO-NAZWA UŻYTKOWNIKA-TUTAJ”,
„aio_key” : „WSTAW-ADAFRUIT-IO-KLUCZ-APLIKACJI-TUTAJ”
# http://worldtimeapi.org/timezones
„strefa czasowa”: „Ameryka/Nowy_Jork”,
}
Wersje użyte w tym projekcie to:
ObwódPython 7.0.0
Pakiet bibliotek CircuitPython adafruit-circuitpython-bundle-7.x-mpy-20211029.zip — wcześniejszych wersji z września/października nie można używać jako elementu sterującego adafruit_espatcontrol
biblioteka zawierała błędy i w połowie działała w mylący sposób.
Krok 9: Konfiguracja IO Adafruit
Adafruit ma wiele przewodników na temat usługi Adafruit IO, najważniejsze z nich to:
Witamy w Adafruit IO
Podstawy Adafruit IO: Kanały
Podstawy Adafruit IO: Pulpity nawigacyjne
Po zapoznaniu się z kanałami informacyjnymi i pulpitami nawigacyjnymi wykonaj następujące kroki.
- Utwórz konto Adafruit, jeśli jeszcze go nie masz.
- Utwórz nową grupę o nazwie mpp-pm w obszarze Kanały
- Utwórz dziewięć kanałów w tej nowej grupie, klikając przycisk + Nowy kanał, ich nazwy to:
- b5wld0101-raw-out1
- b5wld0101-raw-out2
- b5wld0101-vcc
- b5wld0101-vth
- temperatura procesora
- pms5003-pm10-standard
- pms5003-pm25-standard
- sps30-pm10-standard
- sps30-pm25-standard
- Utwórz pulpit nawigacyjny dla tych wartości, sugerowane bloki to:
- Trzy bloki wykresu liniowego, po jednym dla każdego czujnika, po dwie linie na wykres.
- Trzy bloki wzorcowe dla dwóch tomówtage i temperatura.

Krok 10: Weryfikacja publikacji danych
Strona Monitor w obszarze Pro file jest przydatny do sprawdzania, czy dane docierają w czasie rzeczywistym, poprzez przeglądanie danych w czasie rzeczywistym file Sekcja. Program zmienia kolor piksela RGB na niebieski na 2-3 sekundy, gdy wysyła dane do Adafruit IO, a następnie powraca do koloru zielonego.
Temperatura RP2040 wydaje się znacznie różnić w zależności od procesora i jest mało prawdopodobne, aby odpowiadała temperaturze otoczenia.
Jeśli to nie zadziała, oto kilka rzeczy do sprawdzenia.
- Jeśli piksel RGB pozostanie lub jeśli dane nie zostaną odebrane przez Adafruit IO, sprawdź konsolę szeregową USB pod kątem danych wyjściowych/błędów. Numeryczne wyjście dla Mu na konsoli szeregowej pokaże, czy czujniki działają, a nowe linie będą drukowane co 2-3 sekundy – patrz przykład poniżejampwyjście pliku.
- W sekcji Błędy na żywo na stronie Monitor warto sprawdzić, czy dane są wysyłane, ale się nie wyświetlają.
- Zmienną debugowania w programie można ustawić w zakresie od 0 do 5, aby kontrolować ilość informacji debugowania. Wyższe poziomy wyłączają drukowanie krotek dla Mu.
- Program Simpletest.py to przydatny sposób sprawdzenia, czy połączenie Wi-Fi zostało nawiązane, a łączność z Internetem działa dla ruchu ICMP.
- Upewnij się, że używasz najnowszej wersji biblioteki adafruit_espatcontrol.
- Niebieskie diody LED Maker Pi Pico na każdym GPIO są bardzo przydatne do uzyskania natychmiastowego obrazuview stanu GPIO. Wszystkie podłączone GPIO będą włączone z wyjątkiem:
- GP26 będzie wyłączone, ponieważ wygładzona głośnośćtage (około 500 mV) jest zbyt niskie;
- GP12 będzie przyćmiony, ponieważ jest to sygnał PWM o cyklu pracy ~15%;
- GP5 będzie włączony, ale będzie migać podczas wysyłania danych z PMS5003;
- GP10 będzie wyłączony, ale będzie migać po wykryciu małych cząstek przez B5W LD0101;
- GP11 będzie wyłączony, ale będzie migał bardzo sporadycznie, chyba że znajdziesz się w wyjątkowo zadymionym miejscu.
Dane wyjściowe przeznaczone dla plotera w Mu będą wyglądać mniej więcej tak w pomieszczeniu:
(5,8,4.59262,4.87098,3.85349,0.0)
(6,8,4.94409,5.24264,1.86861,0.0)
(6,9,5.1649,5.47553,1.74829,0.0)
(5,9,5.26246,5.57675,3.05601,0.0)
(6,9,5.29442,5.60881,0.940312,0.0)
(6,11,5.37061,5.68804,1.0508,0.0)
Lub pokój z czystszym powietrzem:
(0,1,1.00923,1.06722,0.0,0.0)
(1,2,0.968609,1.02427,0.726928,0.0)
(1,2,0.965873,1.02137,1.17203,0.0)
(0,1,0.943569,0.997789,1.47817,0.0)
(0,1,0.929474,0.982884,0.0,0.0)
(0,1,0.939308,0.993282,0.0,0.0)
Sześć wartości w kolejności w wierszu to:
- PMS5003 PM1.0 i PM2.5 (wartości całkowite);
- SPS30 PM1.0 i PM2.5;
- B5W LD0101 zlicza surowe wyjścia OUT1 i OUT2.

Krok 11: Testowanie wewnętrznych czujników za pomocą Mu i Adafruit IO
Powyższy film pokazuje, jak czujniki reagują na uderzenie zapałką w celu zapalenia kadzidełka. Wartości szczytowe PM2.5 z PMS5003 i SPS30 wynoszą odpowiednio 51 i 21.5605. B5W LD0101 ma odkrytą optykę i na szczęście ma na nią wpływ oświetlenie halogenowo-wolframowe użyte w tym filmie. W wyniku poprzedniego testu w powietrzu stwierdzono podwyższony poziom cząstek.
Pamiętaj, aby odłączyć akumulator, gdy nie jest używany, w przeciwnym razie grzejnik B5W LD0101 rozładuje akumulatory.
https://www.youtube.com/watch?v=lg5e6KOiMnA
Krok 12: Cząstki stałe na zewnątrz podczas nocy Guya Fawkesa
Noc Guya Fawkesa kojarzy się z ogniskami i fajerwerkami, które na jeden lub dwa wieczory mogą przyczynić się do wzrostu zanieczyszczenia powietrza. Powyższe wykresy pokazują trzy czujniki umieszczone na zewnątrz tuż po godzinie 7:5 w piątek 2021 listopada XNUMX r. W bezpośrednim sąsiedztwie nie było żadnych sztucznych ogni, ale można je było usłyszeć w oddali. Uwaga: skala much różni się w zależności od trzech wykresów.
Dane dotyczące pasz przechowywane w Adafruit IO pokazują, że czujniki wykrywające powietrze miały już nieco podwyższony poziom PM2.5 na podstawie liczb SPS30:
2021/11/05 7:08:24PM 13.0941
2021/11/05 7:07:56PM 13.5417
2021/11/05 7:07:28PM 3.28779
2021/11/05 7:06:40PM 1.85779
Szczyt wyniósł około 46ug na metr sześcienny tuż przed 11:XNUMX:
2021/11/05 10:55:49PM 46.1837
2021/11/05 10:55:21PM 45.8853
2021/11/05 10:54:53PM 46.0842
2021/11/05 10:54:26PM 44.8476
W innych miejscach danych występują krótkie skoki, gdy czujniki znajdowały się na zewnątrz. Mogą one być spowodowane falami z:
- spaliny z centralnego ogrzewania gazowego,
- osoby palące w pobliżu i/lub
- zapachy/dymy powstałe podczas gotowania.
Zanim wystawisz odsłonięte urządzenia elektroniczne na zewnątrz, sprawdź pogodę!
Krok 13: Cząstki stałe wewnątrz podczas gotowania
Powyższe wykresy pokazują, jak czujniki reagują na smażenie boczku i grzybów w pobliskiej kuchni ze średnią ekstrakcją. Czujniki znajdowały się około 5 m (16 stóp) od płyty kuchennej. Notatka: skala y różni się pomiędzy trzema wykresami.
Dane dotyczące pasz przechowywane w Adafruit IO pokazują czujniki z krótkotrwałym szczytowym poziomem PM2.5 wynoszącym około 93ug na metr sześcienny w oparciu o liczby SPS30:
2021/11/07 8:33:52PM 79.6601
2021/11/07 8:33:24PM 87.386
2021/11/07 8:32:58PM 93.3676
2021/11/07 8:32:31PM 86.294
Zanieczyszczenia będą się znacznie różnić od tych pochodzących z przeróbek. To ciekawy eksample różnych źródeł cząstek stałych w powietrzu, którym oddychamy.
Krok 14: Publiczne czujniki cząstek stałych
Dane przedstawione na powyższym wykresie pochodzą z pobliskich czujników publicznych.
- Oddychaj Londynem
- Węzeł ruchu przejrzystości-S
- łyżki na sekundę
- oss
- rl
- Węzeł ruchu przejrzystości-S
- OtwórzAQ
- PurpleAir PA-II
- sr
- PurpleAir PA-II
- Sieć Jakości Powietrza w Londynie
- Jakość referencyjna (Met One BAM 1020 i inne)
- FS
- AS
- TBR
- Jakość referencyjna (Met One BAM 1020 i inne)
Czujniki tbps i TBR są prawie rozmieszczone w tym samym miejscu i przedstawiono je na wykresie, aby pokazać korelację między urządzeniem opartym na SPS30 a pobliskim urządzeniem referencyjnym. SPS30 wydaje się wykazywać znaczne niedobory odczytów wieczorami 5 i 6 listopada, kiedy można zasadnie założyć, że wieczorny wzrost wynika z przeróbek. Może to być spowodowane różnicą w masie cząstek, ponieważ czujniki zastosowane w tym artykule mogą wykrywać jedynie objętość i muszą odgadnąć gęstość cząstek, aby uzyskać wartości w mikrogramach na metr sześcienny.
Wydaje się, że PMS5003 w PurpleAir PA-II znacznie zawyża odczyt w przypadku wszelkich podwyższonych poziomów PM2.5 w oparciu o ten krótki okres. Może to odpowiadać wynikom pokazanym na poprzednich stronach lub mogą powodować to inne czynniki w pobliżu.
SPS30 i PMS5003 generują dane dla cząstek większych niż 2.5 mikrona, ale na kolejnych stronach pokazano, dlaczego należy do nich podchodzić ostrożnie.

Krok 15: Porównanie czujników – wielkość cząstek
Powyższe wykresy pochodzą z laboratoryjnej oceny selektywności wielkości cząstek tanich optycznych czujników cząstek stałych przeprowadzonej przez Fiński Instytut Meteorologiczny. Przetestowano trzy czujniki każdego rodzaju z różnymi rozmiarami cząstek pokazanymi na logarytmicznej osi x. Kolorowe linie wskazują obliczone wartości określonych pasm wielkości cząstek na podstawie sygnałów wyjściowych czujnika, pasma pokazują rozkład. Trzy wartości SPS30 powyżej 1 mikrona w dużym stopniu nakładają się na siebie, co utrudnia ich rozróżnienie.
Typowymi wskaźnikami cząstek stałych są PM2.5 i PM10. Chociaż liczba w nazwie odnosi się do maksymalnego rozmiaru cząstki, jednostkami są mikrogramy na metr sześcienny. Niedrogie czujniki mogą jedynie mierzyć średnicę (objętość) cząstek i muszą zgadywać gęstość, aby obliczyć prawdopodobne wartości PM2.5 i PM10.
PMS5003 wykorzystuje stałą wartość gęstości. Sensirion opisuje swoje podejście do gęstości dla SPS30 jako:
Większość tanich czujników PM dostępnych na rynku zakłada podczas kalibracji stałą gęstość masy i oblicza stężenie masowe, mnożąc liczbę wykrytych cząstek przez tę gęstość masy. To założenie sprawdza się tylko wtedy, gdy czujnik mierzy pojedynczy rodzaj cząstek (na przykład dym tytoniowy), ale w rzeczywistości w życiu codziennym znajdujemy wiele różnych typów cząstek o różnych właściwościach optycznych, od „ciężkiego” kurzu domowego po „lekkie” cząstki spalania . Zastrzeżone algorytmy Sensirion wykorzystują zaawansowane podejście, które pozwala na prawidłowe oszacowanie stężenia masy, niezależnie od rodzaju mierzonej cząstki. Dodatkowo takie podejście pozwala na prawidłowe oszacowanie wielkości pojemników.
Metryki PM obejmują wszystkie cząstki poniżej parametru wielkości, tj
PM1 + masa wszystkich cząstek o wielkości od 1.0 do 2.5 mikrona = PM2.5,
PM2.5 + masa wszystkich cząstek o wielkości od 2.5 do 10 mikronów = PM10.
W tym teście laboratoryjnym PMS5003 i SPS30 nie są w stanie wykryć cząstek o wielkości powyżej 2-3 mikronów. Możliwe, że wykryją inne typy cząstek powyżej tej wielkości.
Na podstawie tego testu laboratoryjnego pomiaru PM5 model B0101W LD10 wygląda wiarygodnie.



Krok 16: Porównanie czujników – projekt
Grzałkę Omron (rezystor 100 omów +/- 2%!) można zobaczyć, jeśli czujnik zostanie odwrócony do góry nogami. Projekt został szczegółowo omówiony w firmie Omron: Opracowanie czujnika jakości powietrza do oczyszczacza powietrza. Zastosowanie konwekcji wydaje się prymitywne, ale może stanowić rozwiązanie o wyższej niezawodności w porównaniu z elementem mechanicznym, takim jak wentylator, którego żywotność jest ograniczona, a żywotność może zostać skrócona w przypadku pracy w zapylonym środowisku. Wentylator SPS30 wydaje się być zaprojektowany tak, aby można go było łatwo wymienić bez otwierania obudowy. Inne modele Plantower mają tę samą cechę konstrukcyjną.
Wszystkie trzy czujniki będą podatne na działanie wysokiej wilgotności względnej, która niestety błędnie zwiększa wartości PM.
Certyfikowane czujniki o jakości referencyjnej (brytyjska lista DEFRA), które monitorują cząstki stałe, nie wykorzystują do pomiaru metody optycznej. Met One BAM 1020 działa według
- oddzielanie i odrzucanie cząstek większych niż dopuszczalny rozmiar z powietrzaampLe,
- podgrzewanie powietrza w celu kontrolowania/obniżania wilgotności względnej,
- osadzanie cząstek na nowym odcinku ciągłej taśmy szczotkowej i
- następnie mierząc tłumienie źródła promieniowania beta przez cząstki zgromadzone na taśmie, aby obliczyć dobre oszacowanie całkowitej masy cząstek.
Inną powszechną techniką jest mikrowaga oscylacyjna z elementem stożkowym (TEOM), która osadza cząstki na wymiennym filtrze na wolnym końcu zwężającej się rurki, która jest przymocowana na drugim końcu. Dokładny pomiar częstotliwości oscylacji naturalnie rezonansowej rurki pozwala obliczyć dodatkową, niewielką masę cząstek na podstawie maleńkich zmian częstotliwości. To podejście jest odpowiednie do tworzenia wyższych wartości PM.



Krok 17: Idąc dalej
Po skonfigurowaniu czujników i opublikowaniu danych w Adafruit IO, oto kilka innych pomysłów do rozważenia:
- Z biegiem czasu testuj każde pomieszczenie w domu, zwracając uwagę na jego aktywność i wentylację. Przetestuj swój dom podczas gotowania. Przetestuj grilla.
- Użyj trzech przycisków na Maker Pi Pico. Są one podłączone do GP20, GP21 i GP22, które celowo pozostawiono nieużywane, aby umożliwić użycie przycisków.
- Jeśli mieszkasz w pobliżu publicznej stacji monitorowania jakości powietrza, porównaj z nią swoje dane.
- Dodaj wyświetlacz do użytku nadzorowanego, pokazujący wartości czujników. Dysk SSD1306 jest mały, łatwy do zamówienia i łatwy do dodania/użycia w CircuitPython. Zobacz instrukcje: Wykrywanie wilgotności gleby
- Z Maker Pi Pico na przykładample jego użycia.
- Sprawdź bibliotekę MQTT, aby sprawdzić, czy wszystkie dane z czujników można przesłać w jednej partii. To powinno być bardziej skuteczne.
- Zintegruj się w jakiś sposób z samodzielnym czujnikiem jakości powietrza IKEA Vindriktning.
- Łączność MQTT Sorena Beye dla Ikea VINDRIKTNING pokazuje, jak dodać ESP8266 do czujnika i identyfikuje czujnik cząstek stałych (kurzu) jako „podobny do sześciennego PM1006”.
- Zaawansowanym projektem byłaby wymiana głównej płytki drukowanej na płytkę opartą na ESP32-S2 z dodatkowymi cyfrowymi czujnikami środowiskowymi w celu stworzenia urządzenia opartego na CircuitPython i obsługującego Wi-Fi.
- To urządzenie jest omawiane na Forum Asystentów Domowych: Czujnik jakości powietrza IKEA Vindriktning.
- LaskaKit produkuje zamienną płytkę PCB opartą na ESP32 dla czujnika, aby umożliwić jego łatwe użycie z ESPHome.
- Zbadaj skutki zmiany objętości zasilaniatage w dozwolonych zakresach dla czujników. Może to zmienić prędkość wentylatora lub temperaturę grzejnika, wpływając na wyniki.
- Zbuduj obudowę odporną na warunki atmosferyczne i dzikie zwierzęta, starannie projektując wlot, wylot i przepływ powietrza przez czujniki. Do ochrony otwartej, odsłoniętej elektroniki podczas zbierania danych na potrzeby tego artykułu w weekend wykorzystano parasol przyklejony taśmą do poręczy.
Powiązane projekty:
- Costas Vav: Przenośny czujnik jakości powietrza
- Pimoroni: Zewnętrzna stacja kontroli jakości powietrza z Enviro+ i Luftdaten
- Instruktaże: Używanie Pimoroni Enviro+ FeatherWing z Adafruit Feather NRF52840 Express –
- Enviro+ FeatherWing zawiera złącze dla PMS5003. SPS30 może być używany z pinami i2c, a pinów jest prawie wystarczająco dużo, aby można było używać również B5W LD0101.
- Urządzenie nRF52840 nie obsługuje Wi-Fi, więc nie można go używać samodzielnie do publikowania danych w Internecie.
- Adafruit Learn: Obudowa z czujnikiem jakości powietrza drukowana w 3D. – wykorzystuje Adafruit Feather M4 z Airlift FeatherWing opartym na ESP32 i PMS5003.
- Adafruit Learn: Szybki start IoT – Raspberry Pi Pico RP2040 z Wi-Fi – wykorzystuje płytkę zaciskową Adafruit AirLift opartą na ESP32.
- GitHub: CytronTechnologies/MAKER-PI-PICO Example Code/CircuitPython/IoT – npampkod dla Adafruit IO, Blynk i Thinkspeak.
- Cytron: Monitorowanie powietrza za pomocą telefonu komórkowego – wykorzystuje nakładkę Arduino opartą na ESP8266 do wysyłania danych z
- Czujnik cząstek stałych Honeywell HPM32322550 firmy Blynk, nie wymaga (smartfona)telefonu.
Czujniki pośrednie, droższe, ale z lepszą zdolnością wykrywania większych cząstek:
- Piera Systems IPS-7100
- Alphasense OPC-N3 i OPC-R2
Dalsza lektura:
- Czujniki
- Fiński Instytut Meteorologiczny: Laboratoryjna ocena selektywności wielkości cząstek tanich optycznych czujników cząstek stałych (maj 2020)
- Gough Lui: Review, Rozbiórka: Laserowy czujnik cząstek stałych Plantower PMS5003 zawiera porównanie z Sensirion SPS30.
- Karl Koerner: Jak otworzyć i wyczyścić czujnik powietrza PMS 5003
- Met One Instruments, Inc., Film szkoleniowy BAM-1020 EPA TSA (YouTube) – pokazuje, co jest w środku i jak to działa.
- Wymiana badawcza CITRIS: Dyskusja Seana Wihery (Clarity Movement) (YouTube) – rozmowa zawierająca szczegółowe informacje na temat czujnika Node-S wykorzystującego Sensirion SPS30.
- Ustawodawstwo i organizacje zajmujące się jakością powietrza
- Przepisy dotyczące norm jakości powietrza z 2010 r. (Wielka Brytania)
- Wytyczne Światowej Organizacji Zdrowia (WHO) dotyczące zanieczyszczenia powietrza
- British Lung Foundation – Jakość powietrza (PM2.5 i NO2)
- Badania
- Imperial College London: Kontinuum zanieczyszczenia powietrza w pomieszczeniach i na zewnątrz (YouTube)
- Dzieci ze szkół podstawowych zbierające dane o jakości powietrza przy użyciu plecaków w Londynie w 2019 r.:
- Dyson: Śledzenie zanieczyszczeń na terenie szkoły. Oddychaj Londynem (YouTube)
- King's College London: Grupa ds. badań środowiskowych: Badanie dotyczące urządzeń ubieralnych Breathe London
- Atmphere Journal: Zanieczyszczenie powietrza w pomieszczeniach przez piece mieszkalne: badanie przedostawania się cząstek stałych do domów podczas użytkowania w warunkach rzeczywistych
- Wiadomości i blogi
- The Economist: Niebo o północy – ogrzewanie domów opalane węglem w Polsce powoduje powszechne zanieczyszczenie (styczeń 2021)
- US NPR: Schronienie w środku może nie chronić przed niebezpieczeństwami wynikającymi z dzikiego dymu?
- Reuters: Impreza się skończyła: Diwali opuszcza Delhi sapiąc w niebezpiecznie niezdrowym powietrzu
- Blog Pimoroni: Najbardziej zanieczyszczona noc w roku (w Wielkiej Brytanii)
- Ruch przejrzystości: dym z dzikiego ognia, zdrowie publiczne i sprawiedliwość środowiskowa: lepiej
- Podejmowanie decyzji za pomocą monitorowania powietrza (YouTube) – prezentacja i dyskusja na temat jakości powietrza w zachodnich Stanach Zjednoczonych, szczególnie w okolicach dzikiego dymu FIRE w roku 2020.
- Guardian: Dane pokazują, że brudne powietrze dotyka 97% domów w Wielkiej Brytanii
- Monitorowanie cząstek stałych i hurtownia danych
- Holandia Rijksinstituut voor Volksgezondheid en Milieu (Krajowy Instytut Zdrowia Publicznego i Środowiska): Vuurwerkexperiment (eksperyment z fajerwerkami) 2018–2019
- Google: Ulica po ulicy: Jak mapujemy jakość powietrza w Europie – ulica view samochody zbierają dane dotyczące cząstek stałych i gazów zanieczyszczających.London Air Quality Network
- Breathe London – sieć uzupełniająca London Air Quality Network o „przystępne, łatwe w instalacji i utrzymaniu czujniki jakości powietrza dla każdego”, obecnie korzystające z Clarity Movement Node-S.
- Monitoring cząstek stałych Ambasada USA w Pekinie (Twitter)
- Światowy Indeks Jakości Powietrza – zbiera dane z wielu różnych źródeł wraz z mapą viewi dane historyczne.
- Sensor.Community (wcześniej znany jako Luftdaten) – „uczynienie świata lepszym miejscem dzięki otwartym danym środowiskowym kierowanym przez społeczność”.
- Biblioteki oprogramowania
- Błędy oprogramowania w bibliotece czujnika cząstek stałych – adafruit_pm25 cierpi na co najmniej jeden z opisanych problemów wymagających obsługi wyjątków wokół funkcji read() dla portu szeregowego (UART).
- Kursy
- HarvardX: Zanieczyszczenie powietrza cząstkami stałymi (YouTube) – pięciominutowy film z krótkiego kursu EdX: Energy Within Environmental Constraints
Wykrywanie i alarmy krytyczne dla bezpieczeństwa najlepiej pozostawić dostępnym na rynku urządzeniom renomowanych dostawców.
https://www.youtube.com/watch?v=A5R8osNXGyo
Publikowanie danych z czujnika cząstek stałych w Adafruit IO za pomocą Maker Pi Pico i ESP-01S:

Dokumenty / Zasoby
![]() |
instructables ESP-01S Publishing Czujnik cząstek stałych [plik PDF] Instrukcja użytkownika ESP-01S Publishing czujnik cząstek stałych, ESP-01S, Publishing czujnik cząstek stałych, czujnik cząstek stałych, czujnik materii |




