Mục lục:

Hệ thống kiểm soát và giám sát khí hậu trong nhà Raspberry Pi: 6 bước
Hệ thống kiểm soát và giám sát khí hậu trong nhà Raspberry Pi: 6 bước

Video: Hệ thống kiểm soát và giám sát khí hậu trong nhà Raspberry Pi: 6 bước

Video: Hệ thống kiểm soát và giám sát khí hậu trong nhà Raspberry Pi: 6 bước
Video: Lập trình nhúng là gì? Tìm hiểu về Internet vạn vật | IoT| TEK4.VN 2024, Tháng bảy
Anonim
Hệ thống kiểm soát và giám sát khí hậu trong nhà Raspberry Pi
Hệ thống kiểm soát và giám sát khí hậu trong nhà Raspberry Pi
Hệ thống kiểm soát và giám sát khí hậu trong nhà Raspberry Pi
Hệ thống kiểm soát và giám sát khí hậu trong nhà Raspberry Pi

Mọi người muốn được thoải mái trong ngôi nhà của họ. Vì khí hậu trong khu vực của chúng tôi có thể không phù hợp với bản thân, chúng tôi sử dụng nhiều thiết bị để duy trì một môi trường trong nhà lành mạnh: máy sưởi, máy làm mát không khí, máy tạo ẩm, máy hút ẩm, máy lọc, v.v. Ngày nay, chúng ta thường tìm thấy một số thiết bị được trang bị tự động chế độ cảm nhận môi trường và kiểm soát bản thân. Tuy vậy:

  • Nhiều người trong số họ được định giá quá cao / không đáng tiền.
  • Mạch điện của chúng dễ bị hỏng và khó thay thế hơn các bộ phận cơ khí thông thường
  • Các thiết bị phải được quản lý bởi ứng dụng của nhà sản xuất. Bạn thường có một vài thiết bị thông minh trong nhà và mỗi thiết bị đều có ứng dụng riêng. Giải pháp của họ là tích hợp ứng dụng vào các nền tảng như Alexa, Google Assistant và IFTTT để chúng tôi có bộ điều khiển "tập trung"
  • Quan trọng nhất, các nhà sản xuất có dữ liệu của chúng tôi và Google / Amazon / IFTTT / etc có dữ liệu của chúng tôi. Chúng tôi không. Bạn có thể không quan tâm đến sự riêng tư, nhưng đôi khi tất cả chúng ta có thể muốn xem xét độ ẩm trong phòng ngủ của bạn, chẳng hạn, để quyết định thời điểm mở cửa sổ.

Trong hướng dẫn này, tôi xây dựng một nguyên mẫu của Bộ điều khiển khí hậu trong nhà dựa trên Raspberry Pi tương đối thấp. RPi giao tiếp với các thiết bị ngoại vi thông qua giao diện SPI / I2C / USB:

  • Cảm biến khí quyển được sử dụng để thu thập nhiệt độ, độ ẩm và áp suất không khí.
  • Cảm biến Chất lượng không khí có độ chính xác cao cung cấp dữ liệu hạt vật chất trong khí quyển (PM2.5 và PM10) được sử dụng để tính toán Chỉ số Chất lượng Không khí (AQI)

Bộ điều khiển xử lý dữ liệu thu được và kích hoạt các hành động của thiết bị bằng cách gửi yêu cầu đến dịch vụ tự động hóa IFTTT Webhook, dịch vụ điều khiển các phích cắm WiFi Thông minh được hỗ trợ.

Nguyên mẫu được xây dựng theo cách để người ta có thể dễ dàng thêm các cảm biến, thiết bị và dịch vụ tự động hóa khác.

Bước 1: Phần cứng

Phần cứng
Phần cứng
Phần cứng
Phần cứng
Phần cứng
Phần cứng

Phần cứng được đề xuất để xây dựng cái này:

  1. Raspberry Pi (bất kỳ phiên bản nào) có WiFi. Tôi xây dựng điều này bằng cách sử dụng RPi B +. RPi ZeroW sẽ hoạt động tốt và có giá ~ 15 đô la
  2. Một cảm biến BME280 cho nhiệt độ, độ ẩm, áp suất không khí ~ 5 $
  3. Mô-đun cảm biến phát hiện chất lượng không khí Laser PM2.5 / PM10 A Nova SDS011 ~ 25 $
  4. Màn hình LED / LCD. Tôi đã sử dụng SSD1305 màn hình OLED 2,23 inch ~ 15 đô la
  5. Một số ổ cắm thông minh WiFi / ZigBee / Z-Wave. 10-20 đô la mỗi
  6. Máy lọc không khí, máy tạo ẩm, máy hút ẩm, máy sưởi, máy làm mát, … có công tắc cơ. Ví dụ: tôi đã sử dụng một máy lọc không khí giá rẻ để thực hiện hướng dẫn này

Tổng chi phí ở trên là <100 đô la, ít hơn nhiều so với, chẳng hạn như một chiếc máy lọc thông minh có thể dễ dàng có giá 200 đô la.

Bước 2: Kết nối Raspbery Pi

Lên dây cho Raspbery Pi
Lên dây cho Raspbery Pi

Sơ đồ mạch cho thấy cách đấu dây RPi với cảm biến BME280 sử dụng giao diện I2C và màn hình OLED HAT sử dụng giao diện SPI.

Waveshare OLED HAT có thể được gắn trên đầu GPIO, nhưng bạn cần một bộ chia GPIO để chia sẻ nó với các thiết bị ngoại vi khác. Nó có thể được cấu hình để sử dụng I2C bằng cách hàn các điện trở ở mặt sau.

Bạn có thể tìm thêm thông tin về SSD1305 OLED HAT tại đây.

Cả giao diện I2C và SPI đều cần được bật trong RPi với:

sudo raspi-config

Cảm biến bụi Nova SDS011 được kết nối với RPi qua cổng USB (với bộ chuyển đổi Serial-USB).

Bước 3: Thu thập dữ liệu từ các cảm biến

Dữ liệu khí quyển, trông khá đơn giản, được thu thập từ cảm biến BME280 từ tập lệnh python.

21-Tháng 11-20 19:19:25 - THÔNG TIN - bù_đọc (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, dấu thời gian = 2020-11-21 19: 19: 25.604317, nhiệt độ = 20,956 ° C, áp suất = 1019,08 hPa, độ ẩm = 49,23% rH)

Dữ liệu cảm biến Bụi cần xử lý thêm một chút. Mô-đun cảm biến hút một số mẫu không khí để phát hiện vật chất dạng hạt, vì vậy nó nên chạy một lúc (30 giây) để có kết quả đáng tin cậy. Từ quan sát của tôi, tôi chỉ xem xét giá trị trung bình của 3 mẫu cuối cùng. Quá trình này có sẵn trong tập lệnh này.

21-Tháng 11-20 19:21:07 - GỢI Ý - 0. PM2.5: 2.8, PM10: 5.9

21-Tháng 11-20 19:21:09 - GỢI Ý - 1. PM2.5: 2.9, PM10: 6.0 21-Tháng 11-20 19:21:11 - GỢI Ý - 2. PM2.5: 2.9, PM10: 6.0 21- Ngày 20 tháng 11 19:21:13 - GỢI Ý - 3. PM2.5: 2.9, PM10: 6.3 21-Tháng 11-20 19:21:15 - GỬI - 4. PM2.5: 3.0, PM10: 6.2 21-Tháng 11- 20 19:21:17 - GỢI Ý - 5. PM2.5: 2.9, PM10: 6.4 21-Tháng 11-20 19:21:19 - GỢI Ý - 6. PM2.5: 3.0, PM10: 6.6 21-Tháng 11-20 19: 21: 21 - GỢI Ý - 7. PM2.5: 3.0, PM10: 6.8 21-Tháng 11-20 19:21:23 - GỢI Ý - 8. PM2.5: 3.1, PM10: 7.0 21-Tháng 11-20 19:21: 25 - GỢI Ý - 9. PM2.5: 3.2, PM10: 7.0 21-ngày 20 tháng 11 19:21:28 - GỠ LỖI - 10. PM2.5: 3.2, PM10: 7.1 21-11-20 19:21:30 - GỠ LỖI - 11. PM2.5: 3.2, PM10: 6.9 21-Tháng 11-20 19:21:32 - GỢI Ý - 12. PM2.5: 3.3, PM10: 7.0 21-Tháng 11-20 19:21:34 - GỢI Ý - 13. PM2.5: 3.3, PM10: 7.1 21-ngày 20 tháng 11 19:21:36 - GỢI Ý - 14. PM2.5: 3.3, PM10: 7.1

Cảm biến bụi chỉ cung cấp chỉ số PM2.5 và PM10. Để tính AQI, chúng ta cần mô-đun python-aqi:

aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, Dust_data [0]), (aqi. POLLUTANT_PM10, Dust_data [1])])

Thu thập dữ liệu, hiển thị và kiểm soát thiết bị được thực hiện đồng thời và không đồng bộ. Dữ liệu được lưu trong cơ sở dữ liệu cục bộ. Chúng ta không cần chạy chúng thường xuyên nếu môi trường không thay đổi quá nhanh. Đối với tôi, khoảng thời gian 15 phút là đủ. Hơn nữa, mô-đun cảm biến bụi tích tụ bụi bên trong, vì vậy chúng ta không nên lạm dụng nó để tránh nhiệm vụ làm sạch.

Bước 4: Thiết lập dịch vụ tự động hóa tại nhà

Thiết lập dịch vụ tự động hóa tại nhà
Thiết lập dịch vụ tự động hóa tại nhà
Thiết lập dịch vụ tự động hóa tại nhà
Thiết lập dịch vụ tự động hóa tại nhà

Có rất nhiều nền tảng tự động hóa gia đình trên mạng và nên cài đặt nền tảng được hỗ trợ bởi ổ cắm thông minh mà bạn có. Nếu bạn quan tâm đến quyền riêng tư, bạn nên thiết lập hệ thống của riêng mình. Nếu không, bạn có thể sử dụng các nền tảng phổ biến được hầu hết các ổ cắm thông minh WiFi hỗ trợ: Trợ lý Google, Alexa hoặc IFTTT. Cố gắng chọn nền tảng socket có API để tương tác (Webhook hoàn hảo cho mục đích này)

Tôi sử dụng IFTTT trong hướng dẫn này vì nó rất dễ sử dụng ngay cả đối với người mới. Nhưng hãy lưu ý rằng: 1. có nhiều ổ cắm thông minh không hỗ trợ IFTTT và 2. Tại thời điểm tôi viết bài này, IFTTT chỉ cho phép bạn tạo 3 applet (tác vụ tự động hóa) miễn phí, chỉ đủ cho 1 thiết bị.

Đây là các bước:

1. Tạo hai ứng dụng phụ trong IFTTT, để bật và tắt thiết bị, sử dụng dịch vụ Webhook. Các chi tiết có thể được tìm thấy ở đây.

2. Sao chép khóa API và sao chép nó vào tập lệnh python. Tôi khuyên bạn nên giữ nó trong một tệp riêng biệt vì lý do bảo mật.

3. Xác định logic / tham số điều khiển trong tập lệnh chính.

Bước 5: Kết quả

Kết quả
Kết quả
Kết quả
Kết quả
Kết quả
Kết quả
Kết quả
Kết quả

OK, bây giờ chúng tôi kiểm tra hệ thống.

Màn hình OLED hiển thị Nhiệt độ, Độ ẩm và Chỉ số Chất lượng Không khí (AQI) được tính toán hiện tại. Nó cũng hiển thị giá trị tối thiểu và tối đa trong 12 giờ qua.

Dữ liệu chuỗi thời gian của AQI trong một vài ngày cho thấy điều gì đó thú vị. Lưu ý sự gia tăng trong mô hình AQI? Nó xảy ra hai lần một ngày, cao điểm nhỏ vào khoảng 12h và đỉnh cao vào khoảng 19h. Chà, bạn đoán rồi đấy, đó là khi chúng ta nấu ăn, phát tán rất nhiều hạt vật chất ra xung quanh. Thật thú vị khi thấy hoạt động hàng ngày của chúng ta ảnh hưởng đến môi trường trong nhà như thế nào.

Ngoài ra, con số tăng đột biến cuối cùng kéo dài ngắn hơn nhiều so với những lần trước. đó là khi chúng ta thêm máy lọc không khí vào hệ thống. Bộ điều khiển khí hậu RPi gửi yêu cầu PURIFIER_ON khi AQI> 50 và PURIFIER_OFF khi AQI <20. Bạn có thể thấy trình kích hoạt IFTTT Webhook tại thời điểm đó.

Bước 6: Kết luận

Đó là nó!

Dữ liệu thu thập được cũng có thể được sử dụng để điều khiển máy sưởi không khí, máy làm mát, máy tạo ẩm, … Bạn chỉ cần mua thêm ổ cắm thông minh và mọi thiết bị cũ sẽ trở nên "thông minh".

Nếu bạn muốn kiểm soát nhiều thiết bị, bạn có thể cần phải xem xét cẩn thận dịch vụ tự động hóa gia đình mà bạn muốn sử dụng. Tôi thực sự khuyên bạn nên thiết lập một nền tảng tự động hóa nhà mã nguồn mở, nhưng nếu nó quá phức tạp, có những giải pháp đơn giản hơn như Trợ lý Google và IFTTT Webhook hoặc sử dụng ổ cắm thông minh Zigbee.

Việc triển khai đầy đủ nguyên mẫu này có thể được tìm thấy trong kho lưu trữ Github:

github.com/vuva/IndoorClimateControl

Chúc vui vẻ !!!

Đề xuất: