ESP-01S 출판 미세먼지 센서
사용자 가이드
ESP-01S 출판 미세먼지 센서
Maker Pi Pico 및 ESP-01S를 사용하여 Adafruit IO에 입자 물질 센서 데이터 게시
케빈월터스 지음
이 문서에서는 Cytron Maker Pi Pico를 사용하여 세 개의 저가형 입자 물질 센서에서 얻은 데이터를 Adafruit IO IoT 서비스에 게시하는 방법을 보여줍니다. 이 때 CircuitPython 프로그램을 실행하여 센서 출력을 Wi-Fi로 전송하고 AT&T ROM을 실행하는 ESP-01S 모듈로 전송합니다.
WHO는 PM2.5 미세먼지를 건강에 가장 큰 환경적 위험 요소 중 하나로 규정하고 있으며, 99년 기준 세계 인구의 2019%가 WHO 대기 질 가이드라인 수준을 충족하지 못하는 지역에 살고 있습니다. 4.2년에는 이로 인해 조기 사망한 사람이 2016만 명에 달했다고 추정합니다.
이 기사에 나와 있는 3개의 미세먼지 센서는 다음과 같습니다.
- 직렬 연결을 사용하는 Plantower PMS5003
- i30c를 사용하는 Sensirion SPS2
- 펄스 출력이 있는 Omron B5W LD0101.
이러한 광학 센서는 가정용 연기 감지기에서 볼 수 있는 센서와 비슷하지만, 임계 농도에서 경보를 울리는 것이 아니라 다양한 크기의 입자를 세는 방식으로 작동한다는 점에서 다릅니다.
적색 레이저 기반 PMS5003은 일반적으로 사용되는 취미 센서로 PurpleAir PA-II 공기 질 센서에서 찾을 수 있습니다. SPS30은 동일한 원리를 사용하는 최신 센서로 Clarity Node-S 공기 질 센서에서 찾을 수 있습니다. 적외선 LED 기반 B5W LD0101 센서는 보다 원시적인 인터페이스를 가지고 있지만 2.5마이크론보다 큰 입자를 감지하는 기능이 있어 유용합니다. 다른 두 센서는 이를 안정적으로 측정할 수 없습니다.
Adafruit IO는 제한된 수의 피드와 대시보드가 있는 무료 계층을 제공합니다. 이는 이 프로젝트에 충분합니다. 무료 계층 데이터는 30일 동안 보관되지만 데이터는 쉽게 다운로드할 수 있습니다.
이 기사의 Maker Pi Pico 보드는 다음과 같습니다.ample Cytron이 친절하게 평가해 달라고 보내줬습니다. 생산 버전과의 유일한 차이점은 세 개의 버튼을 디바운스하기 위해 수동 구성 요소를 추가했다는 것입니다.
ESP-01S 모듈은 AT 펌웨어 업그레이드가 필요할 가능성이 높습니다. 이는 비교적 복잡하고 시간이 많이 걸리는 프로세스이며, Cytron은 적절한 AT 펌웨어가 장착된 모듈을 판매합니다.
Omron B5W LD0101 센서는 안타깝게도 제조업체에서 단종되었으며 마지막 주문은 2022년 XNUMX월입니다.
용품:
- Cytron Maker Pi Pico – Digi-key | PiHut
- ESP-01S – Cytron의 보드에는 적절한 AT&T가 함께 제공됩니다.
- 리셋 버튼이 있는 ESP-01 USB 어댑터/프로그래머 – Cytron.
- 브레드보드.
- 암컷-수컷 점퍼선은 길이가 최소 20cm(8인치)여야 합니다.
- 케이블 및 브레드보드 어댑터가 포함된 Plantower PMS5003 – Adafruit
- 또는 Plantower PMS5003 + Pimoroni 브레드보드 어댑터 – Pimoroni + Pimoroni
- 센시리온 SPS30 – 디지키
- Sparkfun SPS30 JST-ZHR 케이블 - 5개 수 핀 - Digi-key
- 2x 2.2k 저항기.
- 오므론 B5W LD0101 – 마우저
- 하네스로 설명된 Omron 케이블(2JCIE-HARNESS-05) – Mouser
- 5핀 수 헤더(케이블을 브레드보드에 연결하는 데 사용)
- 납땜 – 악어 클립은 납땜의 대안으로 사용 가능할 수 있습니다.
- 2x 4.7k 저항기.
- 3x 10k 저항기.
- 0.1uF 커패시터.
- Omron B5W LD0101의 배터리 전원:
- 충전식 NiMH 배터리용 4AA 배터리 홀더(더 나은 선택).
- 또는 알카라인 배터리용 3AA 배터리 홀더.
- USB 전원 공급원에서 멀리 떨어진 외부에서 작동하려는 경우 USB 전원팩이 유용할 수 있습니다.
1단계: ESP-01S의 플래시 업데이트를 위한 USB 프로그래머
ESP-01S 모듈은 Cytron에서 나온 것이 아니라면 적절한 AT 펌웨어와 함께 제공되지 않을 가능성이 큽니다. 업데이트하는 가장 쉬운 방법은 USB 어댑터가 있는 Windows 데스크톱이나 노트북을 사용하는 것입니다. 이 어댑터는 ash를 쓰기 가능하게 하고 재설정 버튼이 있습니다.
불행히도, 종종 "ESP-01 프로그래머 어댑터 UART"와 같은 것으로 설명되는 매우 일반적인 무브랜드 어댑터에는 이를 제어하는 버튼이나 스위치가 없습니다. 위의 비디오는 이것이 어떻게 빠르게 재조정될 수 있는지 보여줍니다.
프로그래머 보드 밑면의 핀에 납땜된 두 개의 수컷-암컷 점퍼 와이어로 만든 임시 스위치가 있습니다. 브레드보드를 사용하는 이에 대한 대안적인 접근 방식은 Hackaday에서 볼 수 있습니다.
ESP-01 Windows 워크플로우의 ESPHome.
https://www.youtube.com/watch?v=wXXXgaePZX8
2단계: Windows를 사용하여 ESP-01S의 펌웨어 업데이트
PuTTY와 같은 터미널 프로그램을 ESP-01 프로그래머와 함께 사용하여 펌웨어 버전을 확인할 수 있습니다. 펌웨어는 ESP8266을 Hayes 명령 세트에서 영감을 받은 명령으로 모뎀처럼 작동하게 합니다. AT+GMR AT+GMR 명령은 펌웨어 버전을 보여줍니다.
AT+GMR
AT 버전:1.1.0.0(11년 2016월 18일 09:56:XNUMX)
SDK 버전:1.5.4(baaeaebb)
컴파일 시간: 20년 2016월 15일 08:19:XNUMX
Cytron은 GitHub에서 Espressif Flash Download Tool(Windows 전용)을 사용하여 펌웨어 업데이트를 적용하는 방법을 설명하는 가이드를 제공합니다: CytronTechnologies/esp-at-binaries. Cytron은 또한 펌웨어 바이너리인 Cytron_ESP-01S_AT_Firmware_V2.2.0.bin의 사본을 제공합니다.
성공적인 업그레이드 후 새 펌웨어는 버전 2.2.0.0으로 보고됩니다.
AT+GMR
AT 버전:2.2.0.0(b097cdf – ESP8266 – 17년 2021월 12일 57:45:XNUMX)
SDK 버전:v3.4-22-g967752e2
컴파일 시간(6800286):4년 2021월 17일 20:05:XNUMX
Bin 버전:2.2.0(Cytron_ESP-01S)
esptool이라는 명령줄 프로그램은 ESP8266 기반 ESP-01S를 프로그래밍하기 위한 대안으로 제공되며 Linux나 macOS에서 사용할 수 있습니다.
ESP-01S의 rmware는 Cytron의 simpletest.py를 사용하여 Maker Pi Pico에서 테스트할 수 있습니다. 이것은 10초마다 인터넷의 잘 알려진 서비스에 ICMP ping을 보내고 왕복 시간(rtt)을 밀리초 단위로 표시합니다. 여기에는 secrets.py가 필요합니다. file Wi-Fi SSID(이름) 및 비밀번호 - 이에 대해서는 이 문서의 뒷부분에서 설명합니다.
좋은 것나쁜 것
3단계: 센서 연결
3개의 센서를 연결하고 볼륨을 모니터링하기 위해 반 크기의 브레드보드가 사용되었습니다.tage는 4개의 충전식 NiMH 배터리에서 나온 것입니다. 위의 전체 설정에 대한 고해상도 사진이 포함되어 있으며 다음 단계에서는 각 센서를 연결하는 방법을 설명합니다.
브레드보드의 전원 레일은 Pi Pico에서 전원을 공급받습니다.
- 왼쪽 측면의 전원 레일에 VBUS(5V) 및 GND를 연결합니다.
- 오른쪽에는 3V3 및 GND가 있습니다.
전원 레일은 양극 레일의 경우 인근 빨간색 선, 음극(또는 접지) 레일의 경우 파란색 선으로 표시됩니다. 풀 사이즈(830홀) 브레드보드에서는 하단 레일 세트에 연결되지 않은 상단 레일 세트가 있을 수 있습니다.
배터리는 안정적인 전압이 필요한 Omron B5W LD0101에 전원을 공급하는 데만 사용됩니다.tage. 컴퓨터의 USB 전원은 종종 소음이 심해서 적합하지 않습니다.
4단계: Plantower PMS5003 연결
Plantower PMS5003에는 5V 전원이 필요하지만 직렬 "TTL 스타일" 인터페이스는 3.3V 안전합니다.
PMS5003은 Pi Pico에 브레이크아웃 보드를 통해 연결됩니다.
- 행 5에서 6V 레일을 통해 VCC에서 5V(빨간색)로 연결
- GND와 GND(검정색)는 5번째 행을 거쳐 GND로 연결됨
- 1번 행을 통해 SET에서 EN(파란색)으로, GP2로;
- RX에서 RX(흰색)로 3번째 행을 거쳐 GP5로;
- TX에서 TX(회색)로 4번째 행을 거쳐 GP4로 이동;
- 행 2에서 GP3를 통해 RESET으로 RESET(보라색)으로 이동합니다.
- NC(연결되지 않음)
- 체크 안함.
데이터시트에는 금속 케이스에 대한 경고가 포함되어 있습니다.
금속 쉘은 GND에 연결되어 있으므로 GND를 제외한 회로의 다른 부분과 단락되지 않도록 주의하세요.
이 구성품은 표면을 긁힘으로부터 보호하기 위해 케이스에 파란색 플라스틱 필름이 씌워져 있지만 전기 절연을 위해 이것에만 의존해서는 안 됩니다.
5단계: Sensirion SPS30 연결
Sensirion SPS30은 5V 전원을 필요로 하지만 i2c 인터페이스는 3.3V 안전합니다. 유일한 추가 구성 요소는 i2.2c 버스의 풀업 역할을 하는 2개의 30k 저항기입니다. SPSXNUMX에서 Pi Pico로의 연결은 다음과 같습니다.
- VDD(빨간색) ~ 5V5V 레일;
- 행 0을 통해 SDA(흰색)를 GP11(회색)에 2.2k 저항을 사용하여 3.3V 레일에 연결합니다.
- 행 1을 통해 SCL(보라색)을 GP10(보라색)에 2.2k 저항을 사용하여 3.3V 레일로 연결합니다.
- SEL(녹색)을 GND로;
- GND(검정색)을 GND에 연결합니다.
리드의 커넥터를 SPS30에 제대로 삽입하려면 단단히 밀어야 할 수도 있습니다.
SPS30은 Sensirion이 데이터시트에서 권장하는 직렬 인터페이스도 지원합니다.
I2C 인터페이스 사용에 대한 몇 가지 고려 사항이 있습니다. I2C는 원래 PCB에 있는 두 개의 칩을 연결하도록 설계되었습니다. 센서가 케이블을 통해 메인 PCB에 연결될 때 전자기 간섭 및 크로스토크에 특히 주의해야 합니다. 가능한 한 짧고(< 10cm)/잘 차폐된 연결 케이블을 사용하십시오.
가능하면 UART 인터페이스를 사용하는 것이 좋습니다. 특히 긴 연결 케이블을 사용하는 경우 전자파 간섭에 더 강합니다.
케이스의 금속 부분에 대한 경고도 있습니다.
GND 핀(5)과 금속 차폐 사이에 내부 전기 연결이 있다는 점에 유의하십시오. 이 금속 차폐를 전기적으로 계속 켜 두어 이 내부 연결을 통해 의도치 않은 전류가 흐르지 않도록 하십시오. 이것이 옵션이 아닌 경우 GND 핀과 차폐에 연결된 모든 전위 사이의 적절한 외부 전위 평형화가 필수입니다. GND와 금속 차폐 사이의 연결을 통해 전류가 흐르면 제품이 손상될 수 있으며 과열로 인해 안전 위험이 발생할 수 있습니다.
6단계: Omron B5W LD0101 연결
Omron 케이블은 브레드보드와 함께 사용하도록 설계되지 않았습니다. 브레드보드 사용으로 변환하는 빠른 방법 중 하나는 소켓을 잘라내고 전선을 벗기고 5핀 길이의 수컷 헤더 핀에 납땜하는 것입니다. 납땜을 피하기 위한 대안으로 악어 클립을 사용할 수 있습니다.
Omron B5W LD0101에는 5V의 안정적인 전원 공급이 필요합니다. 두 개의 출력도 Pi Pico의 5V 입력과 호환되지 않는 3.3V 레벨입니다. 센서 보드에 저항기가 있으므로 출력당 접지에 4.7k 저항기를 추가하여 안전한 값으로 쉽게 낮출 수 있습니다. 온보드 저항기는 데이터시트에 문서화되어 있어 합리적인 접근 방식입니다.
B5W LD0101에서 Pi Pico로의 연결은 다음과 같습니다.
- 행 5를 통해 Vcc(빨간색) ~ 25V(빨간색) 레일
- OUT1(노란색) ~ GP10GP10(노란색)은 24행을 통해 4.7k 저항을 GND에 연결합니다.
- 행 23을 통해 GND(검정색)을 GND(검정색)로 연결합니다.
- 행 26를 통해 26uF 커패시터를 GND에 연결하여 Vth(녹색)를 GP22GP0.1(녹색)에 연결합니다.
- OUT2(주황색)를 11k 저항을 GND에 연결하여 행 21을 통해 GP4.7(주황색)에 연결합니다.
그만큼 GP12 (녹색) Pi Pico가 17행에 연결되고 10k 저항기가 17행을 22행에 연결합니다.
데이터시트에서는 전원 공급 장치 요구 사항을 다음과 같이 설명합니다.
최소 4.5V, 일반 5.0V, 최대 5.5V, 리플 볼륨tage 범위 30mV 이하가 권장됩니다. 300Hz 이하에서 노이즈가 없는지 확인하십시오.
rm 허용 리플 볼륨tag실제 기계를 이용하여 값을 측정합니다.
3개의 알카라인 배터리 또는 4개의 충전식(NiMH) 배터리는 안정적이고 안정적인 전압을 제공하는 가장 쉬운 방법입니다.tag센서에 약 5V의 전압을 공급합니다. USB 전원 팩은 전압이 낮기 때문에 좋지 않은 선택일 가능성이 높습니다.tag일반적으로 벅-부스트 컨버터를 사용하는 리튬 배터리에서 작동하므로 소음이 발생합니다.
B5W LD0101은 공기 흐름에 대류를 사용하며 올바르게 작동하려면 수직으로 설치해야 합니다. 공급 볼륨 변경tage는 히터의 온도와 관련 공기 흐름에 영향을 미칠 가능성이 있습니다. 주변 온도도 영향을 미칠 것입니다.
7단계: 전위 분배기를 사용한 배터리 모니터링
배터리 용량tage는 Pi Pico의 RP3.3 프로세서 입력의 2040V 레벨을 초과합니다. 간단한 전위 분배기는 이 볼륨을 줄일 수 있습니다.tage는 그 범위 내에 있어야 합니다. 이를 통해 RP2040은 아날로그 가능(GP26~GP28) 입력에서 배터리 수준을 측정할 수 있습니다.
위에서 10k 저항기 한 쌍을 사용하여 볼륨을 절반으로 줄였습니다.tage. 낭비되는 전류를 최소화하기 위해 100k와 같은 더 높은 값을 사용하는 것이 일반적입니다. 연결은 다음과 같습니다.
- B5W LD0101 Vcc(빨간색) 점퍼선을 29행 왼쪽에 연결합니다.
- 10번째 행의 왼쪽과 오른쪽 사이에 29k 저항기가 있습니다.
- Pi Pico GP27에 갈색 점퍼 와이어를 연결
- 10번째 줄의 오른쪽에서 29k 저항기를 근처 GND 레일에 연결합니다.
Maker Pi Pico의 GP28은 아날로그 입력으로 사용할 수 있지만 RGB 픽셀에 연결되어 있기 때문에 값에 미묘한 영향을 미칠 수 있으며 입력이 WS2812 프로토콜처럼 보이면 켜지거나 바뀔 수도 있습니다!
8단계: CircuitPython 및 센서 데이터 게시 프로그램 설치
CircuitPython에 익숙하지 않다면 먼저 CircuitPython에 오신 것을 환영합니다 가이드를 읽어보시기 바랍니다.
- 버전 7.x 번들에서 다음 XNUMX개 라이브러리를 설치하세요. https://circuitpython.org/libraries CIRCUITPY 드라이브의 lib 디렉토리로:
- adafruit_bus_device
- adafruit_minimqtt
- adafruit_io
- adafruit_espatcontrol
- 아다프루트_pm25
- adafruit_requests.mpy
- 네오픽셀.mpy
- Save link as…를 클릭하여 lib 디렉토리에 이 두 개의 추가 라이브러리를 다운로드합니다. file디렉토리 내부 또는 file:
- adafruit_sps30에서 https://github.com/kevinjwalters/Adafruit_CircuitPython_SPS30
- b5wld0101.py에서 https://github.com/kevinjwalters/CircuitPython_B5WLD0101
- secrets.py를 생성하세요 file (예시 참조amp(아래 참조) 값을 입력하세요.
- pmsensors_adafruitio.py에서 Save link as…를 클릭하여 CIRCUITPY에 프로그램을 다운로드하세요.
- 기존 code.py의 이름을 바꾸거나 삭제하세요. file CIRCUITPY에서 pmsensors_adafruitio.py를 code.py로 이름을 바꾸세요. file CircuitPython 인터프리터가 시작되거나 다시 로드될 때 실행됩니다.
# 이 파일은 비밀 설정, 비밀번호, 토큰을 보관하는 곳입니다!
# 코드에 넣으면 해당 정보를 커밋하거나 공유할 위험이 있습니다.
비밀 = {
“ssid” : “여기에 WIFI 이름 삽입”,
“password” : “WIFI-암호-여기에 삽입”,
“aio_username” : “ADAFRUIT-IO-USERNAME-HERE 삽입”,
“aio_key” : “ADAFRUIT-IO-APPLICATION-KEY-여기에 삽입”
# http://worldtimeapi.org/timezones
“시간대” : “미국/뉴욕”,
}
이 프로젝트에 사용된 버전은 다음과 같습니다.
서킷파이썬 7.0.0
CircuitPython 라이브러리 번들 adafruit-circuitpython-bundle-7.x-mpy-20211029.zip - XNUMX월/XNUMX월 이전 버전은 adafruit_espatcontrol로 사용할 수 없습니다.
라이브러리에는 버그가 있었고 절반은 혼란스러운 방식으로 작동했습니다.
9단계: Adafruit IO 설정
Adafruit는 Adafruit IO 서비스에 대한 많은 가이드를 가지고 있으며, 가장 관련성 있는 가이드는 다음과 같습니다.
Adafruit IO에 오신 것을 환영합니다
Adafruit IO 기본: 피드
Adafruit IO 기본: 대시보드
피드와 대시보드에 익숙해지면 다음 단계를 따르세요.
- 아직 Adafruit 계정이 없다면 계정을 만드세요.
- Feeds 아래에 mpp-pm이라는 새 그룹을 만듭니다.
- + 새 피드 버튼을 클릭하여 이 새로운 그룹에 9개의 피드를 만듭니다. 이름은 다음과 같습니다.
- b5wld0101-원시-아웃1
- b5wld0101-원시-아웃2
- b5wld0101-vcc
- b5wld0101-vth
- cpu 온도
- pms5003-pm10-표준
- pms5003-pm25-표준
- sps30-pm10-표준
- sps30-pm25-표준
- 이러한 값에 대한 대시보드를 만드세요. 제안된 블록은 다음과 같습니다.
- 각 센서에 대해 2개의 선이 있는 3개의 선 차트 블록이 있습니다.
- 2볼륨용 3개의 게이지 블록tag온도와 습도.
10단계: 데이터 게시 확인
Pro 아래의 모니터 페이지 file Live Data를 살펴보면 데이터가 실시간으로 도착하는지 확인하는 데 유용합니다. file 섹션. 이 프로그램은 Adafruit IO에 데이터를 보낼 때 RGB 픽셀을 2~3초 동안 파란색으로 바꾼 다음 녹색으로 돌아갑니다.
RP2040의 온도는 CPU마다 큰 차이가 있으며 주변 온도와 일치하지 않을 가능성이 높습니다.
그래도 문제가 해결되지 않으면 확인해야 할 몇 가지 사항이 있습니다.
- RGB 픽셀이 유지되거나 Adafruit IO에서 데이터를 수신하지 못하면 USB 직렬 콘솔에서 출력/오류를 확인합니다. 직렬 콘솔에서 Mu에 대한 숫자 출력은 센서가 2~3초마다 새 줄이 인쇄되는 방식으로 작동하는지 여부를 보여줍니다. 예를 들어 아래를 참조하세요.amp르 출력.
- 모니터 페이지의 라이브 오류 섹션에서 데이터가 전송되지만 표시되지 않는지 확인하는 것이 좋습니다.
- 프로그램의 디버그 변수는 0에서 5까지 설정하여 디버깅 정보의 볼륨을 제어할 수 있습니다. 더 높은 레벨은 Mu에 대한 튜플 인쇄를 비활성화합니다.
- simpletest.py 프로그램은 Wi-Fi 연결이 이루어졌고 ICMP 트래픽에 대한 인터넷 연결이 작동하는지 증명하는 유용한 방법입니다.
- adafruit_espatcontrol 라이브러리의 최신 버전을 사용하고 있는지 확인하세요.
- 각 GPIO의 Maker Pi Pico의 파란색 LED는 즉각적인 시각적 정보를 얻는 데 매우 유용합니다.view GPIO 상태의. 연결된 모든 GPIO는 다음을 제외하고 켜집니다.
- GP26은 볼륨이 평활화되어 꺼집니다.tage (약 500mV)는 너무 낮습니다.
- GP12는 듀티 사이클이 약 15%인 PWM 신호이기 때문에 어둡게 표시됩니다.
- GP5는 켜져 있지만 PMS5003에서 데이터가 전송되면 깜빡입니다.
- GP10은 꺼지지만 B5W LD0101에서 작은 입자가 감지되면 깜박입니다.
- GP11은 꺼져 있지만, 특별히 연기가 많은 곳이 아니면 가끔씩 깜빡일 것입니다.
Mu의 플로터에 대한 출력은 방에서 다음과 같이 보일 것입니다.
(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)
또는 공기가 더 깨끗한 방:
(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)
줄당 6개의 값은 다음과 같습니다.
- PMS5003 PM1.0 및 PM2.5(정수 값)
- SPS30 PM1.0 및 PM2.5
- B5W LD0101 원시 OUT1 및 OUT2 카운트.
11단계: Mu 및 Adafruit IO를 사용하여 내부 센서 테스트
위의 비디오는 센서가 향을 피우기 위해 성냥을 켜는 것에 반응하는 모습을 보여줍니다. PMS2.5과 SPS5003의 PM30 피크 값은 각각 51과 21.5605입니다. B5W LD0101은 광학 장치가 노출되어 있으며 불행히도 이 비디오에 사용된 텅스텐 할로겐 조명의 영향을 받습니다. 이전 테스트 실행으로 인해 공기 중에 입자 수준이 높아졌습니다.
사용하지 않을 때는 배터리 팩을 분리해 두십시오. 그렇지 않으면 B5W LD0101 히터가 배터리를 방전시킵니다.
https://www.youtube.com/watch?v=lg5e6KOiMnA
12단계: 가이 포크스 나이트에 외부의 미립자 물질
가이 포크스의 밤은 모닥불과 불꽃놀이와 관련이 있으며, 이는 하루나 이틀 동안 대기 오염을 증가시킬 수 있습니다. 위의 차트는 7년 5월 2021일 금요일 오후 XNUMX시 직후에 세 개의 센서가 외부에 배치된 것을 보여줍니다. 바로 근처에는 불꽃놀이가 없었지만 멀리서 들릴 수 있었습니다. 참고: 파리 규모는 세 차트 간에 다릅니다.
Adafruit IO에 저장된 피드 데이터는 센서가 SPS2.5 수치를 기준으로 이미 PM30 수준이 약간 상승했음을 감지했음을 보여줍니다.
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
오후 46시 직전 최고치는 11mXNUMX당 XNUMXug였습니다.
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
센서가 외부에 있을 때 데이터의 다른 곳에 짧은 스파이크가 있습니다. 이는 다음에서 온 것일 수 있습니다.
- 가스 중앙 난방의 배기가스,
- 근처에서 담배 피우는 사람이 있거나
- 요리할 때 나는 냄새/연기.
전자기기를 실외에 두기 전에 날씨를 확인하세요!
13단계: 요리 중 내부 입자 물질
위의 차트는 센서가 근처 주방에서 추출이 별로 좋지 않은 베이컨과 버섯을 튀길 때 어떻게 반응하는지 보여줍니다. 센서는 호브에서 약 5m(16피트) 떨어져 있었습니다. 메모: 세 차트의 y 축은 다릅니다.
Adafruit IO에 저장된 피드 데이터는 SPS2.5 수치를 기준으로 약 93ug/m30의 짧은 피크 PMXNUMX 수준을 센서에 보여줍니다.
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
오염 물질은 재작업에서 나온 오염 물질과 매우 다를 것입니다. 이것은 흥미로운 전례입니다.amp우리가 마시는 공기에는 다양한 종류의 미세먼지가 존재합니다.
14단계: 공공 미립자 물질 센서
위에 그래프로 나타낸 데이터는 근처 공공 센서에서 얻은 것입니다.
- 브리즈 런던
- 선명도 운동 노드-S
- 티비피에스
- 오스
- rl
- 선명도 운동 노드-S
- 오픈AQ
- 퍼플에어 PA-II
- sr
- 퍼플에어 PA-II
- 런던의 대기질 네트워크
- 참조 품질(Met One BAM 1020 및 기타)
- FS
- AS
- 예정
- 참조 품질(Met One BAM 1020 및 기타)
tbps와 TBR 센서는 거의 같은 위치에 있으며, SPS30 기반 장치와 근처의 참조 장치 간의 상관 관계를 보여주기 위해 함께 그래프로 표시됩니다. SPS30은 5월 6일과 XNUMX일 저녁에 상당히 낮게 읽는 것으로 보이는데, 이때 저녁 증가는 재작업 때문이라고 가정하는 것이 합리적입니다. 이는 이 기사에 사용된 센서는 부피만 감지할 수 있고 입자의 밀도를 추측하여 입방미터당 마이크로그램 단위로 값을 생성해야 하기 때문에 입자의 질량 차이 때문일 수 있습니다.
PurpleAir PA-II의 PMS5003은 이 짧은 기간을 기준으로 모든 높은 PM2.5 수준에 대해 상당히 과독하는 것으로 보입니다. 이는 이전 페이지에 표시된 결과와 일치할 수도 있고, 근처에 이를 유발하는 다른 요인이 있을 수도 있습니다.
SPS30과 PMS5003은 2.5마이크론보다 큰 입자에 대한 데이터를 생성하지만, 다음 페이지에서는 이를 신중하게 다루어야 하는 이유를 설명합니다.
15단계: 센서 비교 - 입자 크기
위의 그래프는 핀란드 기상 연구소에서 광학적 저가 입자 물질 센서의 입자 크기 선택성에 대한 실험실 평가에서 나온 것입니다. 각 종류의 센서 30개를 대수 x축에 표시된 다른 입자 크기로 테스트했습니다. 색상 선은 센서 출력을 기반으로 한 특정 입자 크기 대역의 계산된 값을 나타내고 대역은 분포를 보여줍니다. 1마이크론 이상의 세 가지 SPSXNUMX 값은 심하게 겹쳐서 구별하기가 매우 어렵습니다.
미립자에 대한 일반적인 지표는 PM2.5와 PM10입니다. 이름의 숫자는 입자의 최대 크기를 나타내지만 단위는 입방미터당 마이크로그램입니다. 저렴한 센서는 입자 직경(부피)만 측정할 수 있으며 밀도에 대한 추측을 통해 가능한 PM2.5 및 PM10 값을 계산해야 합니다.
PMS5003은 일정한 밀도 값을 사용하고 Sensirion은 SPS30에 대한 밀도 접근 방식을 다음과 같이 설명합니다.
시중의 대부분 저가 PM 센서는 교정 시 일정한 질량 밀도를 가정하고 검출된 입자 수를 이 질량 밀도로 곱하여 질량 농도를 계산합니다. 이 가정은 센서가 단일 입자 유형(예: 담배 연기)을 측정하는 경우에만 작동하지만 실제로는 '무거운' 집먼지에서 '가벼운' 연소 입자에 이르기까지 다양한 광학적 특성을 가진 다양한 입자 유형을 일상생활에서 발견할 수 있습니다. Sensirion의 독점 알고리즘은 측정된 입자 유형에 관계없이 질량 농도를 적절하게 추정할 수 있는 고급 접근 방식을 사용합니다. 또한 이러한 접근 방식을 통해 크기 빈을 정확하게 추정할 수 있습니다.
PM 측정 항목에는 크기 매개변수 아래의 모든 입자가 포함됩니다.
PM1 + 1.0~2.5마이크론 사이의 모든 입자의 질량 = PM2.5
PM2.5 + 2.5~10마이크론 사이의 모든 입자의 질량 = PM10.
PMS5003과 SPS30은 이 실험실 테스트에서 2-3마이크론 이상의 입자를 감지할 수 없습니다. 이 크기 이상의 다른 유형의 입자를 감지할 가능성이 있습니다.
이 실험실 테스트에서 B5W LD0101은 PM10을 측정하는 데 신뢰할 만한 것으로 나타났습니다.
16단계: 센서 비교 - 설계
센서를 거꾸로 뒤집으면 Omron 히터(100옴 +/- 2% 저항!)를 볼 수 있습니다. 이 설계는 Omron: 공기 청정기용 공기질 센서 개발에서 자세히 설명합니다. 대류를 사용하는 것은 조잡해 보이지만, 먼지가 많은 환경에서 작동하면 수명이 짧아질 수 있는 팬과 같은 기계적 구성 요소에 비해 더 높은 신뢰성의 솔루션이 될 수 있습니다. SPS30 팬은 케이스를 열지 않고도 쉽게 교체할 수 있도록 설계된 것으로 보입니다. 다른 Plantower 모델도 동일한 설계 기능을 가지고 있습니다.
세 개의 센서 모두 높은 상대 습도의 영향을 받기 쉽고, 이로 인해 PM2.5 값이 잘못해서 증가합니다.
미세먼지를 모니터링하는 인증된 기준 품질 센서(영국 DEFRA 목록)는 측정을 위해 광학적 접근 방식을 사용하지 않습니다. Met One BAM 1020은 다음과 같이 작동합니다.
- 공기 중 입자크기 제한보다 큰 입자를 분리하여 폐기amp르,
- 상대 습도를 조절/감소시키기 위해 공기를 가열합니다.
- 연속적인 브루스 테이프의 새로운 섹션에 입자를 증착하고
- 그런 다음 테이프에 축적된 입자에 의한 베타 방사선원의 감쇠를 측정하여 입자의 총 질량을 정확하게 추정합니다.
또 다른 일반적인 기술은 테이퍼형 요소 진동 마이크로밸런스(TEOM)로, 다른 쪽 끝에 고정된 테이퍼형 튜브의 자유 끝에 있는 교체 가능한 필터에 입자를 증착합니다. 자연 공진 튜브의 진동 주파수를 정확하게 측정하면 주파수의 미세한 변화에서 추가로 작은 입자 질량을 계산할 수 있습니다. 이 접근 방식은 더 높은 속도의 PM 값을 만드는 데 적합합니다.
17단계: 더 나아가기
센서를 설정하고 Adafruit IO에 데이터를 게시하면 다음과 같은 다른 아이디어도 살펴볼 수 있습니다.
- 시간이 지남에 따라 집의 각 방을 테스트하여 활동과 환기를 기록하세요. 요리할 때 집을 테스트하세요. 바비큐를 테스트하세요.
- Maker Pi Pico의 세 개의 버튼을 사용합니다. 이 버튼은 GP20, GP21, GP22에 연결되어 있으며, 의도적으로 사용하지 않아 버튼 사용을 허용합니다.
- 공공 대기 질 측정소 근처에 살고 있다면 해당 측정소와 자신의 데이터를 비교해보세요.
- 센서 값을 보여주는 참석자 사용을 위한 디스플레이를 추가합니다. SSD1306은 작고, 저렴하며 CircuitPython에 추가/사용하기 쉽습니다. Instructables: 토양 수분 감지를 참조하세요.
- Maker Pi Pico를 사용하여 이전amp그것의 사용의 le.
- MQTT 라이브러리를 조사하여 모든 센서 데이터를 한 배치로 보낼 수 있는지 확인하세요. 이렇게 하면 더 효율적일 것입니다.
- 독립형 IKEA Vindriktning 공기질 센서와 어떤 방식으로든 통합됩니다.
- Soren Beye의 Ikea VINDRIKTNING을 위한 MQTT 연결은 센서에 ESP8266을 추가하는 방법을 보여주고 입자상 물질(먼지) 센서를 "Cubic PM1006과 유사"로 식별합니다.
- 고급 프로젝트로는 메인 PCB를 추가 디지털 환경 센서가 탑재된 ESP32-S2 기반 보드로 교체하여 Wi-Fi 지원, CircuitPython 기반 장치를 만드는 것이 있습니다.
- 이 장치는 Home Assistant 포럼인 IKEA Vindriktning 공기질 센서에서 논의됩니다.
- LaskaKit은 센서를 ESPHome과 함께 쉽게 사용할 수 있도록 ESP32 기반 교체 PCB를 생산합니다.
- 공급량 변화의 효과를 연구합니다.tag센서의 허용 범위 내에 있습니다. 이로 인해 팬 속도나 히터 온도가 변경되어 결과에 영향을 미칠 수 있습니다.
- 센서를 통과하는 공기 유입구, 유출구 및 공기 흐름을 신중하게 설계하여 날씨와 야생 동물에 견딜 수 있는 인클로저를 만드십시오. 난간에 테이프로 붙인 우산은 이 기사의 주말에 데이터를 수집하기 위해 열려 있고 노출된 전자 제품을 보호하는 데 사용되었습니다.
관련 프로젝트:
- 코스타스 바브: 휴대용 공기질 센서
- 피모로니: Enviro+와 Luftdaten을 갖춘 야외 공기질 측정소
- Instructables: Adafruit Feather NRF52840 Express와 함께 Pimoroni Enviro+ FeatherWing 사용 –
- Enviro+ FeatherWing에는 PMS5003용 커넥터가 포함되어 있습니다. SPS30은 i2c 핀과 함께 사용할 수 있으며 B5W LD0101도 사용할 수 있을 만큼 핀이 충분합니다.
- nRF52840은 Wi-Fi를 지원하지 않으므로 단독으로 사용하여 인터넷을 통해 데이터를 게시할 수 없습니다.
- Adafruit Learn: 3D 인쇄 공기 질 센서 인클로저. – ESP4 기반 Airlift FeatherWing과 PMS32이 탑재된 Adafruit Feather M5003를 사용합니다.
- Adafruit Learn: 빠른 시작 IoT – WiFi가 탑재된 Raspberry Pi Pico RP2040 – ESP32 기반 Adafruit AirLift 브레이크아웃 보드를 사용합니다.
- GitHub: CytronTechnologies/MAKER-PI-PICO Example Code/CircuitPython/IoT – 예ampAdafruit IO, Blynk 및 Thinkspeak의 코드입니다.
- Cytron: 모바일 폰을 사용한 대기 모니터링 – ESP8266 기반 Arduino 쉴드를 사용하여 데이터를 전송합니다.
- Honeywell HPM32322550 미세먼지 센서를 Blynk에 연결, (스마트)폰 필요 없음.
중간 센서, 더 비싸지만 더 큰 입자 크기를 감지하는 능력이 더 뛰어납니다.
- 피에라 시스템 IPS-7100
- 알파센스 OPC-N3 및 OPC-R2
추가 읽기:
- 센서
- 핀란드 기상 연구소: 광학적 저가형 입자 물질 센서의 입자 크기 선택성에 대한 실험실 평가(2020년 XNUMX월)
- 고프 루이: Review, 분해도: Plantower PMS5003 레이저 미립자 모니터 센서에는 Sensirion SPS30과의 비교가 포함되어 있습니다.
- Karl Koerner: PMS 5003 공기 센서를 열고 청소하는 방법
- Met One Instruments, Inc., BAM-1020 EPA TSA 교육 비디오(YouTube) – 내부 구성과 작동 방식을 보여줍니다.
- CITRIS 연구 교류: Sean Wihera(Clarity Movement) 강연(YouTube) – Sensirion SPS30을 사용하는 Node-S 센서에 대한 세부 정보를 포함한 강연입니다.
- 대기 질과 관련된 법률 및 조직
- 대기질 기준 규정 2010(영국)
- 세계보건기구(WHO) 대기오염 지침
- 영국 폐재단 – 대기 질(PM2.5 및 NO2)
- 연구
- Imperial College London: 실내-실외 공기 오염 연속체(YouTube)
- 2019년 런던에서 배낭을 이용해 대기 질 데이터를 수집하는 초등학교 어린이들:
- 다이슨: 학교 운행 중 오염 추적. Breathe London(YouTube)
- 킹스 칼리지 런던: 환경 연구 그룹: Breathe London Wearables 연구
- Atmosphere Journal: 주거용 스토브로 인한 실내 공기 오염: 실제 사용 중 가정으로 유입되는 미립자 물질 조사
- 뉴스 및 블로그
- The Economist: 자정 하늘 - 폴란드의 석탄 붉은색 가정 난방이 광범위한 오염을 발생시킴(2021년 XNUMX월)
- US NPR: 실내 대피해도 야생 연기의 위험으로부터 보호받지 못할 수도 있을까?
- 로이터: 파티는 끝났다: 디왈리로 인해 델리는 위험할 정도로 건강에 해로운 공기 속에서 헐떡거리고 있다
- 피모로니 블로그: 올해 가장 오염된 밤(영국)
- Clarity Movement: 산불 연기, 공중 보건 및 환경 정의: 더 나은
- 대기 모니터링을 통한 의사결정(YouTube) – 2020년 산불 연기를 중심으로 한 서부 미국의 대기 질에 대한 프레젠테이션 및 토론.
- 가디언: 영국 가정의 97%가 더러운 공기에 영향을 받는다는 데이터 발표
- 미립자 모니터링 및 데이터웨어하우징
- 네덜란드 Rijksinstituut voor Volksgezondheid en Milieu(국립 공중 보건 및 환경 연구소): Vuurwerkexperiment(불꽃 실험) 2018-2019
- Google: 거리별: 유럽의 대기 질을 매핑하는 방법 – 거리 view 자동차는 미세먼지와 오염가스 데이터를 수집합니다.런던 대기질 네트워크
- Breathe London – 런던 공기질 네트워크를 보완하기 위한 네트워크로, "누구나 쉽게 설치하고 유지할 수 있는 저렴한 공기질 센서"로, 현재 Clarity Movement Node-S를 사용하고 있습니다.
- 베이징 주재 미국 대사관 미세먼지 모니터링(트위터)
- 세계 대기 질 지수 – 지도를 사용하여 다양한 출처에서 데이터를 수집합니다. views 및 역사적 데이터.
- Sensor.Community(이전 명칭 Luftdaten) – "커뮤니티 중심의 개방형 환경 데이터를 통해 세상을 더 나은 곳으로 만듭니다."
- 소프트웨어 라이브러리
- 입자상 물질 센서 라이브러리의 소프트웨어 버그 - adafruit_pm25는 위에서 설명한 문제 중 하나 이상으로 인해 직렬(UART)의 read()에 대한 예외 처리가 필요합니다.
- 행동
- HarvardX: 미세먼지 대기 오염(YouTube) – 짧은 과정 EdX: 환경적 제약 내의 에너지의 5분 영상
안전에 중요한 감지 기능과 경보 기능은 평판이 좋은 공급업체에서 판매하는 상업용 가전제품에 맡기는 것이 가장 좋습니다.
https://www.youtube.com/watch?v=A5R8osNXGyo
Maker Pi Pico 및 ESP-01S를 사용하여 Adafruit IO에 입자 물질 센서 데이터 게시:
문서 / 리소스
![]() |
instructables ESP-01S 출판 입자 물질 센서 [PDF 파일] 사용자 가이드 ESP-01S 퍼블리싱 미세먼지 센서, ESP-01S, 퍼블리싱 미세먼지 센서, 미세먼지 센서, 물질 센서 |