Mục lục:
- Bước 1: Vật liệu
- Bước 2: Kết nối
- Bước 3: In 3D
- Bước 4: Mã
- Bước 5: Cơ sở dữ liệu
- Bước 6: Kết nối với Wi-Fi
- Bước 7: Kết hợp mọi thứ lại với nhau
- Bước 8: Khởi động
Video: AirPi - Cảm biến chất lượng không khí: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Bạn đã bao giờ tự hỏi tại sao mình lại bị đau đầu? Và nếu điều này là do chất lượng không khí xấu? Với thiết bị này, bạn có thể kiểm tra xem có đúng như vậy không. Thiết bị này đo giá trị CO2, giá trị TVOC, nhiệt độ và độ ẩm. Bạn có thể xem chất lượng không khí trực tiếp trên màn hình LCD và thấy chỉ báo rõ ràng nếu nó trở nên nguy hiểm. Bằng cách này, bạn có thể mở cửa sổ kịp thời.
Nếu bạn nhập quảng cáo IP - được hiển thị khi bạn khởi động thiết bị trong trình duyệt của mình - trang web sẽ mở ra. Bạn có thể thấy nhiều thông tin về môi trường trong nhà, cùng với biểu đồ số phút / giờ qua. Ngoài ra còn có một chỉ báo trực tiếp và một số thông tin và mẹo trên bảng điều khiển.
Dự án này được thực hiện bởi một sinh viên tại Howest Kortrijk, NMCT (New Media and Communication Technology).
Bước 1: Vật liệu
Đây là tất cả mọi thứ tôi đã mua để tạo ra dự án này. Đây là một dự án tương đối rẻ, tùy thuộc vào chi phí của bản in 3D. Nếu bạn có thể in nó ở trường, điều này có thể rất rẻ. Nếu không, nó phụ thuộc vào nơi bạn in nó và chất liệu bạn in nó. Bạn sẽ nhận thấy rằng tôi đã mua rất nhiều với số lượng lớn, đơn giản là vì rất khó để tìm thấy điện trở hoặc đèn led riêng lẻ và điều này làm cho nó thậm chí còn rẻ hơn. Nếu bạn có thời gian, bạn có thể đặt hầu hết các mặt hàng trên aliexpress.com, việc giao hàng có thể mất một lúc, nhưng bằng cách này bạn có thể hạn chế chi phí của mình.
Nếu không có bản in, số tiền tôi chi cho dự án này là € 81, 80.
Đây là những tài liệu bạn cần:
Mạch:
- Raspberry Pi 3
- Thẻ SD 8GB (tối thiểu)
- Cảm biến chất lượng không khí CCS811
- Cảm biến nhiệt độ và độ ẩm DHT22
- Chiết áp (LCD tương phản)
- LCD 16x2
- Dây nhảy từ nữ đến nữ
- Đèn LED xanh và đỏ
- Điện trở (2x470ohm và 1 4700ohm)
Trường hợp:
- In 3D
- Vít
- Keo 2 thành phần (hoặc keo nóng khác)
- công cụ cắt chỉ
Chỉ khi bạn đang sử dụng PCB:
- Hàn sắt
- Flux (làm cho nó dễ dàng hơn)
- Tin
- Thử nghiệm pcb 2x4cm
Bước 2: Kết nối
Kết nối các dây như trên. Bạn có thể thấy một mạch điện trong tệp fritzing. Nó không phải là một mạch quá phức tạp, nhưng nếu bạn muốn làm cho nó nhỏ nhất có thể của tôi, bạn chắc chắn muốn có một Bảng mạch PCB thử nghiệm. Hệ thống dây sẽ giống nhau, ngoại trừ GND và Vin sẽ được kết nối với bảng mạch PCB. Các cảm biến sẽ được kết nối bằng dây nhảy cái hoặc dây đực có hàn. Đừng quên hàn điện trở trên cảm biến DHT22.
Tôi cũng khuyên bạn nên sử dụng cáp ngắn, 10cm nên làm. Nếu không hộp sẽ chứa đầy cáp hơn nữa. Bạn không cần những cái quá dài vì kích thước của bản in càng nhỏ càng tốt.
Bước 3: In 3D
Ý nghĩ đầu tiên nảy ra trong đầu tôi khi tôi nghĩ về một chiếc ốp lưng là một bản in 3D. Vì bố tôi đã in ra những món đồ khác và ông ấy tự thiết kế chúng. Chúng tôi đã cùng nhau tạo ra thiết kế này và suy nghĩ về mọi khía cạnh. Nó phải được làm mát đủ tốt, mọi thứ có thể được vặn vào vị trí và nếu không, nó có thể được đẩy vào vị trí.
Chúng tôi thậm chí đã vẽ mọi thành phần để kiểm tra xem mọi thứ có phù hợp hay không. Tệp này có sẵn cho mọi người và chúng tôi rất muốn nghe một số phản hồi. Chúng tôi rất hài lòng với kết quả.
Bước 4: Mã
Mã cho dự án này có thể được tìm thấy trên Github. Nếu bạn đã sử dụng các chân khác (ví dụ: một chân GPIO khác cho đèn LED, bạn sẽ phải điều chỉnh các biến này. Sẽ có hai tập lệnh python hoạt động, web.py cho trang web và sensor.py để đọc các cảm biến và cập nhật cơ sở dữ liệu. Chúng tôi sẽ nhập lớp LCD từ lcd.py.
Với một pi raspberry được định cấu hình, bạn có thể bắt đầu. Trước hết, bạn sẽ cần cập nhật và nâng cấp tất cả các gói:
sudo apt-get update && sudo apt-get nâng cấp
Sau đó, bạn sẽ cần cài đặt các gói sau:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Bây giờ, hãy tạo một môi trường ảo:
me @ my-rpi: ~ $ python3 -m pip cài đặt - nâng cấp pip setuptools wheel virtualenv
me @ my-rpi: ~ $ mkdir project1 && cd project1 me @ my-rpi: ~ / project1 $ python3 -m venv --system-site-pack env me @ my-rpi: ~ / project1 $ source env / bin / kích hoạt (env) me @ my-rpi: ~ / project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Vì điều này được thực hiện, bạn có thể sao chép mã từ GitHub của tôi vào môi trường ảo của bạn. Điều này có thể được thực hiện theo nhiều cách.
Trong thư mục conf, bạn có thể tìm thấy bốn tệp mà bạn sẽ phải điều chỉnh nếu cần. Bạn chắc chắn sẽ phải thay đổi người dùng và thư mục trung gian trong mọi tệp. Ini uWSGI sẽ ổn miễn là bạn không thay đổi mã của tôi, hãy đảm bảo thay đổi người dùng và virtualenv nếu cần.
Vì cảm biến CCS811 được cố ý sử dụng cho arduino, điều này không thể giao tiếp qua bus i2c với tốc độ của raspberry pi. Bạn sẽ phải giảm tốc độ xuống tốc độ truyền là 10000 (tôi đã sử dụng 9600) trong tệp cấu hình.
Bạn cũng sẽ phải lấy thư viện của cảm biến adafruit. Tôi có thể giải thích điều này ở đây nhưng có một hướng dẫn hoàn hảo giải thích tất cả những điều này rất tốt.
Bởi vì chúng tôi muốn các tập lệnh python tự động chạy khi mâm xôi được kết nối, bạn sẽ phải sử dụng các dịch vụ. Họ sẽ ổn nếu bạn giữ mã của tôi. Tất cả những gì bạn cần làm để chúng chạy là kích hoạt chúng. Trước khi bạn làm điều đó, có một điều cuối cùng.
Vì chúng tôi đang sử dụng máy chủ web nginx, chúng tôi sẽ phải hủy kích hoạt mặc định và thay thế nó bằng cấu hình của riêng chúng tôi. Để thực hiện việc này, các bước sau phải được thực hiện theo:
- sao chép conf / nginx vào * các trang web có sẵn *
- Xóa liên kết đến cấu hình mặc định
- Thêm liên kết vào cấu hình mới
- Khởi động lại nginx để lưu các thay đổi
me @ my-rpi: ~ / project1 $ sudo cp conf / project1 - *. service / etc / systemd / system /
me @ my-rpi: ~ / project1 $ sudo systemctl daemon-reload me @ my-rpi: ~ / project1 $ sudo systemctl start project1- * me @ my-rpi: ~ / project1 $ sudo systemctl status project1- *
Nginx và mysql nên chạy mọi lúc. Họ khởi động cùng với pi mâm xôi. Chưa có tập lệnh web và tập lệnh cảm biến.
Để thực hiện việc này, bạn vẫn cần bật hai dịch vụ này bằng các lệnh sau:
sudo systemctl cho phép project1-flask.service
sudo systemctl cho phép project1-sensor.service
Bước 5: Cơ sở dữ liệu
Cơ sở dữ liệu của tôi bao gồm ba bảng. Người dùng không có mối quan hệ với các bảng khác. Điều này chỉ được sử dụng để đăng nhập và cấp quyền truy cập vào trang web. Khi thiết bị được bật, giá trị CO2 và giá trị TVOC sẽ được ghi vào cơ sở dữ liệu sau mỗi 50 giây. Nhiệt độ và độ ẩm cứ sau 5 phút. Bằng cách này, chúng ta có một cái nhìn tổng quan rõ ràng về quá khứ.
Tệp SQL có thể được tìm thấy tại đây, nhưng để lấy cơ sở dữ liệu trên raspberry pi, bạn nên làm theo các bước sau:
Sau khi cài đặt các gói ở bước trước, mariadb / mysql sẽ chạy ngay lập tức. Bạn có thể kiểm tra điều này với dòng này:
me @ my-rpi: ~ $ sudo systemctl trạng thái mysql
Để tạo cơ sở dữ liệu và người dùng, bạn chỉ cần chạy sql-scripts trong mã từ GitHub. Nếu bạn đã làm điều này một cách chính xác, bạn sẽ thấy các bảng của mình bằng cách sử dụng lệnh này:
me @ my-rpi: ~ $ echo 'hiển thị bảng;' | mysql project1 -t -u project1-admin -p
Bây giờ chúng ta đã sẵn sàng, bạn có thể kiểm tra điều này mà không cần hộp đựng để đảm bảo mọi thứ hoạt động. Trừ khi bạn kết nối với wifi, bạn sẽ cần kết nối nó bằng cáp ethernet và chạy nó theo cách thủ công.
Bước 6: Kết nối với Wi-Fi
Mở tệp cấu hình wpa-supplicant trong nano (không thực sự quan trọng, chỉ cần đảm bảo bạn có thể làm việc với trình soạn thảo văn bản).
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Đi tới cuối tệp và thêm thông tin sau (thay thế tên ssid và tên mật khẩu bằng tên của bạn):
mạng = {
ssid = "ssid-name" psk = "password-name"}
Để tạo mật khẩu được mã hóa, bạn có thể sử dụng wpa_passphrase và chỉ cần sao chép nó vào psk wpa_supplicant.conf để làm cho mọi thứ an toàn hơn.
wpa_passphrase "ssid-name" "password-name"
Nếu bạn muốn nó tự động kết nối với mạng Wi-Fi này và có những cái khác trong tệp cấu hình, hãy đảm bảo bạn thay đổi mức độ ưu tiên lên mức cao hơn bằng cách thêm dòng này vào mạng trong tệp cấu hình:
ưu tiên = 2
Đừng quên cấu hình lại giao diện với:
wpa_cli -i wlan0 cấu hình lại
Bây giờ bạn đã hoàn tất và kết nối với mạng wifi.
Bước 7: Kết hợp mọi thứ lại với nhau
Vì mọi thứ đều được nối dây và hàn nên chúng ta có thể đi vào trường hợp. Điều này được thiết kế để bạn có thể mở vỏ mà không cần bất kỳ dây lỏng nào. Điều này có nghĩa là mọi thứ được gắn vào phần dưới cùng. Điều đầu tiên cần làm là điều chỉnh một chút đối với mâm xôi. Nó có lỗ ở mọi góc, nhưng những lỗ này không lớn như chúng nên làm. Đường kính phải đủ để lắp một con vít 3mm bên trong, chúng tôi phải đánh bóng các lỗ để chúng rộng hơn một chút.
Điều thứ hai cần làm là cắt một sợi vít vào mỗi lỗ. Điều này nghe có vẻ khó nhưng có thể dễ dàng thực hiện với các công cụ phù hợp. Tôi khuyên bạn nên làm điều này tại một cửa hàng phần cứng địa phương, chỉ cần yêu cầu một công cụ cắt chỉ. Vì bố tôi là một thợ kim hoàn nên ông ấy đã có các công cụ để làm việc này tại nơi làm việc. Tôi có thể tải lên một tệp stl mới để nó được in sau này, nhưng điều này sẽ cần một máy in rất chính xác.
Bước thứ ba là vặn pi vào phần dưới cùng. Bạn sẽ cần 4 vít dài 7mm với đường kính 3 mm. Sau đó, bạn có thể nhét bo mạch PCD vào vị trí được cung cấp ở trên cùng của phần dưới cùng. Cảm biến CCS811 có thể được gắn vào vị trí được cung cấp ở phía bên trái và DHT11 có thể được gắn vào tấm bên phải. Cả hai đều được cách ly và thông gió đủ, nhưng sau đó chúng tôi nhận thấy bên trong vẫn còn nóng. Thêm về điều đó sau này.
Sau đó, bạn cần gắn đèn LED vào ống của chúng. Chúng tôi đã làm điều này với keo 2 thành phần nhưng bạn có thể làm theo cách bạn muốn. Hãy chắc chắn rằng chúng dính vào đó.
Bây giờ bạn có thể gắn màn hình LCD, bạn sẽ cần những con vít có cùng đường kính với những cái trước, nhưng dài hơn một chút. Của tôi là 1 cm. Nếu bốn con vít được vặn vào, chỉ còn một việc cần làm. Đính kèm phần trên cùng. Tất cả những gì bạn cần là bốn con vít, có cùng đường kính và chúng là 2cm. Bây giờ mọi thứ đã sẵn sàng và bạn có thể khởi động nó.
Bước 8: Khởi động
Quá trình khởi động của dự án này rất dễ dàng:
- Gắn cáp nguồn vào bên trái của hộp đựng. Nó không nhìn thấy rõ nhưng bạn có thể nhìn thấy qua lỗ thông hơi. Nếu bạn có nó một lần thì điều này sẽ không còn là vấn đề nữa.
- Hãy cho nó một thời gian để khởi động.
- Địa chỉ IP sẽ hiển thị trên màn hình trong 10 giây. Điều duy nhất bạn cần làm là đảm bảo rằng bạn đã kết nối với cùng một mạng và nhập địa chỉ IP vào thanh địa chỉ của trình duyệt.
- Bây giờ bạn đang ở trên trang web. Bạn chưa có tài khoản nên hãy tạo một tài khoản.
- Nếu bạn đã đăng ký, hãy đăng nhập.
- Xong! Bạn có thể xem tất cả dữ liệu trên trang web và màn hình LCD hiển thị chất lượng không khí hiện tại.
Vì độ ấm tăng lên, chúng tôi đã đặt các cảm biến ở dưới cùng của vỏ máy. Bằng cách này, nhiệt độ sẽ không ảnh hưởng lớn đến các giá trị đã đăng ký. Vì vậy, để có các phép đo tối ưu, hãy dựng thiết bị lên hoặc bạn có thể đơn giản là treo thiết bị lên tường.
Đề xuất:
Máy đo chất lượng không khí trong nhà: 5 bước (có hình ảnh)
Máy đo chất lượng không khí trong nhà: Dự án đơn giản để kiểm tra chất lượng không khí trong ngôi nhà của bạn. và hít thở không khí trong lành
Màn hình LED trạng thái chất lượng không khí PurpleAir: 4 bước
Màn hình LED trạng thái chất lượng không khí PurpleAir: Với trận cháy rừng gần đây ở California, chất lượng không khí ở San Francisco đã bị ảnh hưởng rất nhiều. Chúng tôi thấy mình kiểm tra bản đồ PurpleAir nhiều lần trên điện thoại hoặc máy tính xách tay của mình để cố gắng xem khi nào không khí đủ an toàn để mở chiến thắng
Đo lường chất lượng không khí: 17 bước
Đo Chất lượng Không khí: Chất lượng không khí và các hạt mịn: Các hạt lơ lửng (ký hiệu " PM " cho " Vật chất hạt ") nói chung là các hạt rắn mịn được mang theo trong không khí (Wikipedia). Các hạt mịn xâm nhập sâu vào phổi. Họ có thể gây ra trong
SENSLY HAT CHO THIẾT BỊ PHÁT HIỆN KHÍ & CHẤT LƯỢNG KHÔNG KHÍ RASPBERRY PI V1.1: 9 Bước
SENSLY HAT CHO THIẾT BỊ PHÁT HIỆN KHÍ & CHẤT LƯỢNG KHÔNG KHÍ RASPBERRY PI V1.1: Sensly là một cảm biến ô nhiễm di động có khả năng phát hiện mức độ ô nhiễm trong không khí bằng cách sử dụng các cảm biến khí trên máy bay để thu thập thông tin về các loại khí khác nhau hiện có. Thông tin này có thể được cung cấp trực tiếp vào điện thoại thông minh của bạn để
Giám sát chất lượng không khí được cung cấp năng lượng bằng hạt: 7 bước
Giám sát chất lượng không khí được cung cấp năng lượng bằng hạt: Chất lượng không khí. Bạn có thể nghĩ về nó nhiều hơn bây giờ khi không khí sạch của chúng ta đã biến thành một đám mây vĩnh viễn trên bầu trời. Kinh quá. Một điều bạn có thể kiểm soát là chất lượng không khí bên trong nhà của bạn. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách tạo ra một không khí