DIY máy đo chất lượng không khí hoạt động như thế nào?
Một hệ thống DIY máy đo chất lượng không khí về cơ bản gồm ba lớp: cảm biến thu thập dữ liệu môi trường, vi điều khiển xử lý và truyền dữ liệu, cuối cùng là nền tảng hiển thị hoặc tự động hóa. Với cấu hình sử dụng ESP32, ESPHome và Home Assistant, toàn bộ quá trình có thể vận hành chủ yếu trong mạng nội bộ, phù hợp với người muốn kiểm soát dữ liệu và chủ động mở rộng hệ thống.
ESP32 đóng vai trò bộ điều khiển trung tâm. Các cảm biến Sensirion đảm nhiệm việc đo bụi mịn, CO2, nhiệt độ, độ ẩm, VOC hoặc NOx tùy cấu hình. ESPHome biến dữ liệu thô thành các thực thể mà Home Assistant có thể ghi lịch sử, trực quan hóa trên dashboard và sử dụng làm điều kiện kích hoạt quạt thông gió, máy lọc không khí hoặc cảnh báo.
Điểm mạnh của một trạm đo tự chế không nằm ở việc có thật nhiều cảm biến, mà ở khả năng chọn đúng đại lượng cần theo dõi, bố trí cảm biến hợp lý và sử dụng dữ liệu để đưa ra hành động có ích.
Nên đo những chỉ số chất lượng không khí nào?
PM2.5 và các hạt bụi lơ lửng
PM2.5 là nhóm hạt có kích thước khí động học không lớn hơn 2,5 micromet. Trong một trạm giám sát không khí gia đình, đây là chỉ số quan trọng để quan sát biến động do khói, bụi, hoạt động nấu nướng hoặc nguồn ô nhiễm từ bên ngoài. SPS30 có thể cung cấp đồng thời các kênh PM1.0, PM2.5, PM4.0 và PM10.
CO2 trong không gian kín
Nồng độ CO2 là chỉ báo hữu ích cho mức độ thông thoáng của phòng có người sử dụng. SCD30 sử dụng nguyên lý NDIR để đo CO2 và đồng thời cung cấp nhiệt độ, độ ẩm. Trong thực tế, dữ liệu CO2 đặc biệt hữu ích khi xây dựng cảnh báo mở cửa, bật quạt thông gió hoặc điều khiển hệ thống HVAC.
VOC và NOx
Cảm biến khí thuộc dòng SGP của Sensirion có thể bổ sung góc nhìn về hợp chất hữu cơ dễ bay hơi. SGP40 tập trung vào tín hiệu VOC, trong khi SGP41 bổ sung khả năng tạo tín hiệu liên quan đến NOx. Đây không phải cảm biến định danh từng loại khí riêng lẻ; dữ liệu phù hợp hơn để quan sát xu hướng và phát hiện sự thay đổi của môi trường trong nhà.
Danh mục linh kiện cho trạm đo
- Vi điều khiển: ESP32 DevKit sử dụng module ESP32-WROOM hoặc bo ESP32 tương thích ESPHome. Nên chọn bo có cổng USB thuận tiện cho việc nạp firmware và cấp nguồn.
- Cảm biến bụi mịn: Sensirion SPS30 để theo dõi PM1.0, PM2.5, PM4.0 và PM10.
- Cảm biến CO2: Sensirion SCD30 sử dụng nguyên lý NDIR, đồng thời đo nhiệt độ và độ ẩm.
- Cảm biến VOC: Sensirion SGP40; có thể chọn SGP41 nếu muốn bổ sung tín hiệu NOx.
- Màn hình tùy chọn: OLED 0,96 inch, độ phân giải 128 x 64 pixel, thường sử dụng giao tiếp I2C.
- Phụ kiện: breadboard, dây jumper, header pin, dây USB phù hợp, nguồn ổn định và dụng cụ hàn nếu module chưa được gắn chân.
Chi phí thực tế phụ thuộc mạnh vào nhà cung cấp, phiên bản bo mạch và việc cảm biến là hàng chính hãng hay module tích hợp của bên thứ ba. Vì vậy, không nên xem mức giá tại một thời điểm cụ thể là thông số cố định của dự án.

So sánh vai trò của các cảm biến Sensirion
| Thiết bị | Đại lượng chính | Nguyên lý hoặc vai trò | Mức ưu tiên |
|---|---|---|---|
| Sensirion SPS30 | PM1.0, PM2.5, PM4.0, PM10 | Đo hạt bụi bằng phương pháp quang học | Cao nếu mục tiêu là giám sát bụi mịn |
| Sensirion SCD30 | CO2, nhiệt độ, độ ẩm | CO2 sử dụng nguyên lý NDIR | Cao trong phòng kín có người |
| Sensirion SGP40 | VOC | Tạo tín hiệu phục vụ đánh giá biến động VOC | Nâng cao |
| Sensirion SGP41 | VOC, NOx | Tạo tín hiệu phục vụ đánh giá VOC và NOx | Nâng cao |
| OLED 0,96 inch | Hiển thị dữ liệu | Hiển thị thông số tại thiết bị | Tùy chọn |
Kiểm tra điện áp và giao tiếp trước khi đấu nối
Đây là bước không nên bỏ qua. ESP32 sử dụng mức logic 3,3 V, trong khi yêu cầu cấp nguồn của từng cảm biến hoặc breakout board có thể khác nhau. Không nên mặc định rằng mọi chân nguồn đều có thể nối chung chỉ vì các thiết bị cùng sử dụng I2C.
Trước khi cấp điện, hãy đối chiếu datasheet của đúng phiên bản cảm biến và sơ đồ của breakout board đang sử dụng. Cần xác định điện áp cấp, mức logic SDA/SCL, điện trở pull-up có sẵn trên module hay không và dòng điện mà nguồn phải cung cấp. Với linh kiện không rõ nguồn gốc hoặc module chuyển đổi của bên thứ ba, sơ đồ chân trên PCB cần được ưu tiên kiểm tra thay vì suy đoán theo màu dây.
Hướng dẫn lắp ráp phần cứng
Bước 1: Xác định chân I2C trên ESP32
Trên nhiều bo ESP32 phổ biến, GPIO 21 thường được sử dụng làm SDA và GPIO 22 làm SCL. Tuy nhiên, đây không phải quy tắc bắt buộc cho mọi bo mạch. ESPHome cho phép khai báo chân I2C phù hợp với phần cứng thực tế, vì vậy hãy kiểm tra pinout của bo trước khi đấu dây.
Bước 2: Chuẩn bị cảm biến và breadboard
Nếu module chưa có header pin, hãy hàn chân cắm sao cho mối hàn chắc, không chạm giữa các pad. Breadboard phù hợp cho giai đoạn thử nghiệm; khi thiết bị vận hành lâu dài, nên chuyển sang PCB, perfboard hoặc đầu nối chắc chắn hơn để hạn chế tiếp xúc kém.
Bước 3: Đấu nguồn và đường truyền dữ liệu
Các thiết bị I2C có thể chia sẻ SDA và SCL khi địa chỉ của chúng không xung đột. Hãy nối GND chung giữa ESP32 và các module, sau đó cấp nguồn theo đúng yêu cầu của từng cảm biến. SPS30 cũng hỗ trợ các phương thức giao tiếp tùy cấu hình, vì vậy nên chọn I2C hoặc UART ngay từ giai đoạn thiết kế để việc đi dây và cấu hình firmware nhất quán.
Bước 4: Kiểm tra từng cảm biến trước khi ghép toàn hệ thống
Một cách triển khai ít lỗi là kết nối và kiểm tra từng module riêng lẻ. Sau khi ESPHome đọc ổn định một cảm biến, mới bổ sung cảm biến tiếp theo. Phương pháp này giúp khoanh vùng nhanh lỗi nguồn, địa chỉ I2C, dây tín hiệu hoặc cấu hình phần mềm.

Bố trí cảm biến quyết định chất lượng dữ liệu
Một cảm biến tốt vẫn có thể tạo dữ liệu thiếu đại diện nếu đặt sai vị trí. Không nên để trạm đo sát cửa gió điều hòa, máy lọc không khí, cửa sổ thường xuyên mở hoặc ngay cạnh khu vực nấu ăn nếu mục tiêu là đánh giá chất lượng không khí trung bình của căn phòng.
Cảm biến nhiệt độ và độ ẩm cũng cần tránh nguồn nhiệt từ ESP32, bộ nguồn và màn hình. Khi thiết kế vỏ, nên tạo khe thông gió tự nhiên và bố trí cảm biến khí hậu cách xa linh kiện tỏa nhiệt. SPS30 cần đường hút và thoát khí thông thoáng; không nên đặt mặt hút sát thành hộp.
Cấu hình ESPHome cho ESP32
Cài đặt và tạo thiết bị ESPHome
Nếu sử dụng Home Assistant OS, ESPHome có thể được quản lý thông qua môi trường bổ trợ tương ứng. Với máy chủ chạy Docker hoặc mô hình triển khai khác, ESPHome cũng có thể vận hành độc lập. Sau khi tạo thiết bị ESP32, khai báo Wi-Fi, API, OTA và bus I2C theo cấu hình phần cứng thực tế.
Nạp firmware lần đầu
Kết nối ESP32 với máy tính hoặc máy chủ bằng cáp USB có khả năng truyền dữ liệu. Tùy bo mạch, chip USB-to-Serial có thể là CP210x, CH340 hoặc loại khác; driver cần cài đặt phải tương ứng với phần cứng thực tế.
Sau lần nạp đầu tiên và khi thiết bị đã kết nối mạng ổn định, các bản cập nhật ESPHome tiếp theo có thể được triển khai qua OTA. Trong quá trình thử nghiệm, vẫn nên giữ khả năng kết nối USB để phục hồi thiết bị nếu cấu hình mạng hoặc firmware gặp lỗi.
Khai báo cảm biến và kiểm tra log
Không nên cấu hình toàn bộ hệ thống rồi mới kiểm tra. Hãy khai báo bus giao tiếp trước, xác nhận thiết bị xuất hiện đúng địa chỉ, sau đó thêm từng thành phần cảm biến. Log của ESPHome là công cụ quan trọng để phát hiện lỗi I2C, mất kết nối, giá trị bất thường hoặc chu kỳ cập nhật không phù hợp.

Tích hợp DIY máy đo chất lượng không khí vào Home Assistant
Khi ESP32 chạy ESPHome và cùng mạng với Home Assistant, thiết bị có thể được phát hiện để thêm vào hệ thống. Sau khi hoàn tất tích hợp, các giá trị PM2.5, CO2, nhiệt độ, độ ẩm, VOC hoặc NOx tương ứng có thể xuất hiện dưới dạng entity.
Lợi ích lớn nhất lúc này không chỉ là xem số đo tức thời. Home Assistant có thể lưu lịch sử, xây dashboard, tạo biểu đồ và kết hợp dữ liệu môi trường với các thiết bị khác trong nhà. Chẳng hạn, hệ thống có thể gửi thông báo khi CO2 duy trì ở mức cao hoặc điều khiển thiết bị thông gió dựa trên điều kiện đã thiết lập.
Hiệu chuẩn và kiểm chứng số liệu sau khi lắp
Không nên coi mọi giá trị xuất hiện trên dashboard là chính xác tuyệt đối ngay sau khi cấp nguồn. Một số cảm biến cần thời gian ổn định, đồng thời kết quả có thể chịu ảnh hưởng của vị trí lắp đặt, luồng khí, nhiệt từ bo mạch và điều kiện môi trường.
Với CO2, hãy đọc kỹ hướng dẫn hiệu chuẩn của đúng cảm biến trước khi sử dụng tính năng tự động hoặc hiệu chuẩn thủ công. Việc hiệu chuẩn sai điều kiện có thể khiến dữ liệu bị lệch thay vì chính xác hơn. Với bụi mịn, có thể đặt thiết bị cạnh một máy đo tham chiếu đáng tin cậy trong một khoảng thời gian để quan sát xu hướng và phát hiện sai lệch bất thường.
Đối với VOC và NOx, nên tập trung vào xu hướng tăng giảm và các sự kiện bất thường hơn là diễn giải tín hiệu như nồng độ tuyệt đối của một hóa chất cụ thể.
Gợi ý tự động hóa thực tế trong Home Assistant
- Cảnh báo thông gió: gửi thông báo khi CO2 vượt ngưỡng đã đặt trong một khoảng thời gian đủ dài, tránh cảnh báo liên tục do dao động ngắn.
- Điều khiển máy lọc: tăng chế độ lọc khi PM2.5 tăng và giảm công suất sau khi chất lượng không khí ổn định.
- Phát hiện sự kiện VOC: ghi nhận hoặc cảnh báo khi chỉ số VOC tăng mạnh so với mức nền của căn phòng.
- Dashboard môi trường: kết hợp PM2.5, CO2, nhiệt độ và độ ẩm trên cùng biểu đồ để tìm mối liên hệ giữa sinh hoạt, thông gió và chất lượng không khí.
Các lỗi thường gặp khi tự làm máy đo chất lượng không khí
ESP32 không phát hiện cảm biến I2C
Kiểm tra lại SDA, SCL, GND, điện áp cấp và địa chỉ thiết bị. Dây quá dài, tiếp xúc breadboard kém hoặc hệ thống pull-up không phù hợp cũng có thể khiến bus I2C hoạt động thiếu ổn định.
Số đo nhiệt độ cao hơn thực tế
Nguyên nhân phổ biến là cảm biến đặt quá gần ESP32, bộ ổn áp hoặc màn hình. Hãy tăng khoảng cách, cải thiện thông gió của vỏ và hạn chế truyền nhiệt trực tiếp từ PCB sang cảm biến.
PM2.5 thay đổi bất thường
Kiểm tra vị trí cửa hút, luồng gió và nguồn bụi cục bộ. Trạm đặt gần bếp, cửa sổ hoặc luồng khí từ máy lọc có thể phản ánh một vùng không khí rất nhỏ thay vì tình trạng chung của căn phòng.
Thiết bị thường xuyên mất kết nối Wi-Fi
Kiểm tra chất lượng nguồn cấp, cáp USB và cường độ tín hiệu Wi-Fi. Khi nhiều cảm biến cùng hoạt động, một nguồn 5 V thiếu ổn định có thể gây reset hoặc lỗi kết nối tưởng nhầm là vấn đề phần mềm.
Có nên tự DIY máy đo chất lượng không khí?
Nếu mục tiêu chỉ là xem nhanh một vài thông số, thiết bị thương mại có thể thuận tiện hơn. Nhưng nếu bạn muốn dữ liệu cục bộ, khả năng lựa chọn cảm biến, lưu lịch sử dài hạn và tự động hóa sâu với Home Assistant, giải pháp ESP32 kết hợp ESPHome có lợi thế rõ rệt.
Một dự án tốt nên bắt đầu với cấu hình vừa đủ, chẳng hạn ESP32 kết hợp SPS30 và SCD30, sau đó mới bổ sung VOC, NOx hoặc màn hình khi có nhu cầu thực tế. Cách triển khai theo từng lớp giúp giảm lỗi, dễ kiểm chứng dữ liệu và tránh biến một trạm đo hữu ích thành hệ thống quá phức tạp để bảo trì.
Trạm DIY phù hợp cho giám sát môi trường và tự động hóa gia đình, nhưng không nên được xem là thiết bị quan trắc được chứng nhận hoặc công cụ chẩn đoán y tế. Với các quyết định đòi hỏi độ chính xác pháp lý, an toàn hoặc chuyên môn, cần sử dụng thiết bị đạt chuẩn phù hợp.

