코딩게시판

esp32 v4 MQ-135 기반 실내 공기질 모니터링 시스템

작성자 정보

  • 최고관리자 작성
  • 192.♡.0.1 아이피
  • 작성일

컨텐츠 정보


  • 링크

  • 첨부


  • 본문

    📘 MQ-135 기반 실내 공기질 모니터링 시스템

    주) 유효성 없음


    3232235521_1766912686.7791.png


    3232235521_1766913061.5221.png

    3232235521_1766912741.8454.png

    substitutions:
      name: "mq135-air-esp32-ip90"
      device_description: "esp32dev-mq135-air-esp32-ip90"
      friendly_name: "mq135-air-esp32-ip90"

      ao_co2_ppm_sensor_volt: GPIO34
      gas_detect_binary_sensor_a0: GPIO35

      sensor_ext_temperature: "sensor.nobito_air_temperature"
      sensor_ext_humidity: "sensor.nobito_air_humidity"
      sensor_ext_co2: "sensor.nobito_air_carbon_dioxide"
      sensor_ext_pm25: "sensor.nobito_air_pm2_5"

      ip_add: "90"
      ap_channel: "11"

    3232235521_1766941218.4319.png

    📘 MQ-135 기반 실내 공기질 모니터링 시스템

    (ESP32 · ESPHome · Home Assistant 연동)


    1️⃣ 프로젝트 개요

    본 구성은 ESP32 + MQ-135 가스 센서를 이용하여
    실내 공기 상태 변화를 감지하고, Home Assistant에서 시각화 및 보정 제어가 가능하도록 설계된 시스템이다.

    ⚠️ MQ-135는 CO₂ 전용 센서가 아니며,
    가스·VOC·연기·알코올·암모니아 등 혼합 반응 센서임을 전제로 사용한다.


    2️⃣ 시스템 구성 요약

    구성 요소내용
    MCUESP32 (esp32dev, ESP-IDF)
    센서MQ-135 (아날로그 A0)
    보조 센서외부 NDIR CO₂ (co2_ext)
    플랫폼ESPHome
    연동Home Assistant
    목적공기질 변화 감지 + 상대 CO₂ 추정

    3️⃣ MQ-135에서 실제로 측정 가능한 것

    ✅ 측정 가능 (실전 기준)

    항목가능 여부설명
    가스 농도 변화절대값 ❌ / 변화 감지 ⭕
    공기 오염 트렌드환기 전/후 비교
    VOC / 연기 감지가스 혼합 반응
    상대 공기질 지수% 또는 Index로 표현
    가스 경보임계값 초과 시

    ❌ 측정 불가 / 부정확

    항목이유
    정확한 CO₂ ppmNDIR 센서 아님
    환경 독립적 값온도·습도 영향 큼
    단일 가스 식별혼합 반응

    4️⃣ 센서 데이터 흐름 구조

    MQ135 Analog Voltage (ADC) ↓ Raw Voltage Filtering ↓ Air Quality (% / Index) ↓ CO2 Raw Estimated (계산식 기반) ↓ × Calibration Factor (number) CO2 Adjusted (HA 슬라이더 보정)

    5️⃣ 핵심 소스 구성 분석


    🔹 ① 예열(Warm-up) 제어

    globals: - id: mq135_warmup_done type: bool initial_value: "false" on_boot: then: - delay: 1min - globals.set: id: mq135_warmup_done value: "true"

    ✔ 예열 전 값 무시
    ✔ 잘못된 초기 ppm 방지
    ✔ 센서 수명 및 안정성 향상


    🔹 ② Raw 전압 측정 (ADC)

    - platform: adc id: mq135_voltage attenuation: 12db filters: - lambda: |- if (!id(mq135_warmup_done)) return 0.0; return x;

    ✔ ESP32 0~3.3V 범위
    ✔ 이동 평균으로 노이즈 제거


    🔹 ③ 상대 공기질 (%)

    (v / 3.3) * 100

    ✔ 직관적인 시각화
    ✔ 절대값 ❌ / 변화 감지 ⭕


    🔹 ④ CO₂ 추정값 (Raw)

    1.47 * pow((v / 3.3), -2.862);

    ✔ 인터넷 일반식 기반
    ❌ 개별 센서 보정 없음
    ❌ 환경 영향 큼


    🔹 ⑤ 보정 계수(number) 적용 (핵심 설계)

    number: - id: mq135_co2_factor
    adjusted = raw * factor;

    ✔ Home Assistant에서 실시간 조절
    ✔ 외부 NDIR CO₂와 정렬 가능
    ✔ 재부팅 후 값 유지


    6️⃣ 보정 전 / 후 센서 구조

    센서의미
    CO2 MQ135 Raw센서 고유 반응값
    Calibration Factor보정 계수
    CO2 MQ135 Adjusted실사용 표시값
    co2_ext기준 센서

    7️⃣ 실사용 권장 운영 방식

    ✅ 이렇게 쓰세요

    • 환기 전/후 공기 변화 확인

    • 가스 / 연기 보조 감지

    • 공기 나빠짐 트리거

    • 경보 기준값 활용

    ❌ 이렇게 쓰지 마세요

    • 실내 CO₂ 절대 수치 신뢰

    • 장기 ppm 기록 비교

    • 법적/안전 기준 판단


    8️⃣ 한 줄 결론 (중요)

    MQ-135는 CO₂ 센서가 아니라 “공기 오염 변화 감지 센서”이다.
    보정 후 값은 참고용 지표로만 사용해야 한다.


    9️⃣ 문서 제목 제안 (선택)

    🔹 기술 문서용

    「ESPHome 기반 MQ-135 공기질 센서 설계 및 CO₂ 추정 보정 시스템」

    🔹 실전 프로젝트용

    「MQ-135 + ESP32 실내 공기 변화 감지 시스템 (보정형)」

    🔹 HA 대시보드용

    「Relative Air Quality Monitor (MQ-135)」


    🔚 다음 확장 가능 항목

    • 🔘 외부 CO₂ 기준 자동 보정 버튼

    • 🌡 온·습도 보정 포함 공식

    • 🚫 조리/흡연 시간 보정 잠금

    • 📉 장기 Drift 자동 보정

    • 🔥 연기 전용 센서 병행 구성

    원하시면 다음 단계 설계도 + 자동화 YAML까지 이어서 정리해 드릴게요.





    첨부 파일을 스킨보드에 구성 PDF보기( W:\g5\skin\board\BS4-Basic-Webzine_11q_pdf_php82\view.skin.php + view_pdf.php구성)



    관련자료

    댓글 0
    등록된 댓글이 없습니다.

    최근글


    새댓글