AirGradient DIY Air Quality Sensor 삽질기
준비 물품
- AirGradient PCB (빵판이나 만능회로에 해도 되지만 초보자는 그냥 이게 최고인 듯..괜시리 빵판 만능회로에 돈 썼다.)
- Wemos D1 Mini
- Small OLED display (ssd1306)
- Plantower PMS7003 (홈페이지에는 5003을 썼는데 그냥 아무생각없이 숫자 높으면 좋은 건 줄 알고...)
- SHT30 Temperature/Humidity sensor
- Senseair S8 CO2 Sensor
PCB를 제외하면 알리에서 다 판다. 그리고 얘네들이 기본으로 핀헤더를 포함해주니 AirGradient PCB로 작업할 것이면 전혀 추가로 살 것은..집에서 굴러다는 전선 4가닥? 그리고 마이크로 5핀 케이블(데이터 통신 가능한 것 1개)
- 인두기
- 납
그냥 다이소에서 샀다. 어릴 때에는 인두기랑 실납가지고 잘 놀았던 거 같은데... 무슨 뭘 만드는게 아니라 그냥 죄다 녹여서 덩어리로 만들고 거기에 인두기로 지져서 흐물거리게 하고.... 지금 생각해보면 미친....;;;
1. PCB를 못 기다리겠다!
빵판 구매
- 왜 샀을까.... 보기에는 깔끔해 보이나 공간낭비가 너무 심했어..그리고 대충 전선가닥 덕지덕지...
만능회로 구매
- 뒷면에는 전선으로 덕지덕지....
그냥 전용 PCB가 제일 편하다.....기다리자...
2. PCB 도착!
그냥 써있는 구멍에 끼운 후 기판 뒷면에서 납땜하면 끝.
미세먼지 측정기만 좀 귀찮을 따름이다.
- PMS5003은 얇은 전선들 중 4개를 잘 찾아서 납땜질 하면 되고..
- PMS7003은 작은 PCB 어댑터가 붙어있어서 암-수 핀헤더 케이블 4개가 있으면 편하긴 한데...선이 길어서 그냥 암 부분만 꼽고 나머지는 길이에 맞춰 잘라서 PCB에 납땜질...
3. 펌웨어 올리기.
우선은 무대포로 AirGradient에서 말한 제품과 다른 미세먼지 측정기를 구매한터라.. 아차 싶었다... 뭐 구글링하면 뭔가 나오지 않을까 하면서, 아두이노로 시도를 했다.
에러만 뿜뿜하더라.
와이파이가 없다고 해서 라이브러리 추가.. 등등..하고 나니...
미세먼지 측정기에서 막힘....
그러던 차에 ESPHome으로 연결해서 쓸 건데 왜 이 짓거리를 하고 있지?
1. ESPHome 새로운 기기 추가
그냥 암거나 눌러서 해주자. 어차피 수정할 꺼니까.
기기를 추가하고 yaml을 수정하자.
x
esphome
name air-gradient-library
platform ESP8266
board d1_mini
# Enable logging
logger
# Enable Home Assistant API
api
ota
# Create a switch for safe_mode in order to flash the device
# Solution from this thread:
# https://community.home-assistant.io/t/esphome-flashing-over-wifi-does-not-work/357352/1
switch
platform safe_mode
name"Flash Mode (Safe Mode)"
wifi
networks
ssid !secret wifi_ssid
password !secret wifi_password
reboot_timeout 15min
# Enable fallback hotspot (captive portal) in case wifi connection fails
captive_portal
i2c
sda D2
scl D1
font
file"font/arial.ttf"
id COMIC
size12
display
platform ssd1306_i2c
id oled
model"SSD1306 64x48"
pages
id page1
lambda -
it.printf(0, 0, id(COMIC), "Temp %.0f", id(temp).state);
it.printf(0, 24, id(COMIC), "Hmdty %.0f", id(humidity).state);
id page2
lambda -
it.printf(0, 0, id(COMIC), "PM %.0f", id(pm25).state);
it.printf(0, 24, id(COMIC), "CO2 %.0f", id(co2).state);
# Maybe add a page later
interval
interval 3s
then
display.page.show_next oled
component.update oled
uart
rx_pin D5
tx_pin D6
baud_rate9600
id uart1
rx_pin D4
tx_pin D3
baud_rate9600
id uart2
sensor
platform sht3xd
temperature
id temp
name"Library Temperature"
humidity
id humidity
name"Library Humidity"
address 0x44
update_interval 5s
platform pmsx003
type PMSx003
uart_id uart1
pm_2_5
id pm25
name"Library PM2.5"
platform senseair
uart_id uart2
co2
id co2
name"Library CO2 Value"
update_interval 60s
원래의 소스 : https://github.com/ajfriesen/ESPHome-AirGradient
arial.ttf 폰트가 가독성이 좀 깔끔하더라. 뭐 어차피 64
HomeAssistant의 File Editor를 쓰던지 SMB로 연결하던지 /config/esphome/font 폴더에 해당 폰트를 넣어주자.
눈이...그리 좋지 못한 관계로 페이지를 나누고 (온도와 습도), (PM2.5, CO2 농도)가 3초간격으로 바꾸면서 표시되게 수정했다.
PC와 연결해서 ESPHome에서 설치를 진행하자. 처음이니 Plug into this computer 를 선택해서 설치하자. 시간 좀 걸린다.
작동 잘한다.
충격...
왜 머리 좀 쓸라하면 머리가 멍한지 알아냈다... 1000ppm이 실내 환기 요구 이산화탄소 농도라는데 1500ppm을 가뿐히 넘긴다...
환기를 열심히 시키면 8~900ppm 정도 나오는 듯...
그래도 자고 일어나서 확인하면 세 곳 전부 5~600ppm으로 떨어져 있긴 하더라? 그럼 뭐해...난 올빼미족이라... (이틀간 산소발생기를 검색한 건 비밀...)
걍 증류수 사다가 건전지로...? 그럼 수소는....? 그냥 환기나 시키자... ㅜ.ㅜ
그런데 신기한 점이 주방에서 향을 피우면(으응?) 집안 곳곳의 미세먼지 농도가 3분도 안 되어 치솟는데 반해, 이산화탄소 농도는 신기하게 구역별로 딱히 변함이 없다? 신기하리 만치 침실, 거실, 서재, 주방쪽 창문에 단 강제 환기용 공기청정기가 거의 동시에 미친듯이 돌기 시작하는데... 농도는 흠....얘들도 나처럼 게으른가 보다? 향은 열심히 열일을 하는데...
후기
2개 더 추가하기로 했다. 냉정히 생각해보면 딱히 수치를 안다고 뭘 할 수 있는 것도 없는데...PCB 기판을 보니 아직 센서 한개는 더 달 수 있는 듯 한데..뭐 나중에 기회가 되면 포름알데히드 감지 센서, 일산화탄소 감지 센서 등등 필요한거 사서 달면 될 듯?
지금은 세 기기 전부 전원에 직접 연결을 해놨지만, 샤오미 10000mAh로 돌려보니 3~4일은 너끈히 돌아가는 듯 하다.
단점은..케이스 ..... 3D 프린터로 출력하라고 파일까지 제공을 하던데..이걸 위해서 3D프린터는 오버고....또한 업체에 돈주고 하기고 그렇고 참 계륵이다.
지금은 그냥 작은 종이 박스 잘라다가 칼로 구멍뚫어 고정해놨는데.. 딱히 외관상 좀 이상할 뿐이지...뭐...
재활용분리를 큰 종이박스에 비닐 넣어서 하는 나로서는 그닥....;;;
아마 나중에 시간나면 아크릴판이나 우드락? 폼보드? 이런걸로 딱 맞춰서 만들어 볼지도 모르겠다..
사이즈는 대략 6cm
중요한 가격은... 개당 케이스 없이 5~6만원이 들었다. HA와 실시간 연동인 점이 좋지만..전원 공급이 뭔가 아쉽다...
아마 시간이 지나면 ESP8266 칩셋이 Zigbee를 달고 나오지 않을까? 아..다른 측정 장치들 때문에 무용지물이긴 하곘다...
후기 2
아두이노는 아닌 듯...
코드도 모르지만, 존내 복잡해 보여서 이걸 어찌해볼 엄두도 나지 않고......
냥아치 자동 장난감을 만들어 볼까 했지만 포기...
ESPHome 개발자는 진심 천재인 듯....
IoT에 빠진 걸 참 다행으로 여겨야할 것 같다...
이제 남은 게 뭐 있지....
- 세탁완료하면 건조기로 이동
- 건조기 다 돌면 알아서 종류별로 개주고
- 요리해주고
- 알아서 식기세척기에 넣어주고
- 알아서 식기 정리 해주고
테슬라 봇인가?
'My Space > Home Assistant' 카테고리의 다른 글
HomeAssistant 4.0 & 4.1 에서 Local Tuya 오류 임시해결법 (0) | 2022.04.09 |
---|---|
샤오미 게이트웨이3 문제 해결법 (HomeAssistant Ver.2022.3.3) (0) | 2022.03.11 |
ESPHome을 접하다? (0) | 2022.01.20 |
게으름의 끝은? (0) | 2022.01.20 |
Local Tuya 사용법 (0) | 2022.01.02 |