Mục lục:

Hệ thống rác: 7 bước
Hệ thống rác: 7 bước

Video: Hệ thống rác: 7 bước

Video: Hệ thống rác: 7 bước
Video: Phần 1 : Đệ Tử Quét Rác Bị Cả Tông Môn Xem Thường, Sau Khi Mở Hệ Thống Ta Trở Nên Vô Địch. 2024, Tháng mười một
Anonim
Hệ thống rác
Hệ thống rác

Chúng tôi quyết định cố gắng tạo ra một cách để theo dõi chất đầy rác trong cộng đồng của khu phố hoặc một bộ cảm biến trong mỗi thùng rác trong khu phố để cố gắng làm cho việc xử lý rác hiệu quả hơn. Chúng tôi nghĩ rằng nếu cứ hai tuần lại có một chiếc xe tải đến để thu gom, thì điều gì sẽ xảy ra nếu tôi hoặc hàng xóm của tôi chỉ vứt đi một chút. Sẽ không hiệu quả nếu gửi một chiếc xe tải mà một nửa khu phố không gửi đầy thùng rác? Sẽ thật tuyệt nếu chúng ta có thể nhìn thấy thùng rác của người hàng xóm của chúng ta đổ đầy và sau đó sử dụng rác của họ nếu thùng rác của tôi đầy và thùng của họ trống và ngược lại. Chúng tôi quyết định sử dụng cảm biến siêu âm, HC-SR04 cùng với một pi mâm xôi để cố gắng giải quyết dự án này.

Quân nhu

Cảm biến siêu âm (HC-SR04)

Raspberry Pi (chúng tôi đã sử dụng Pi 4 Model B)

Breadboard

Cáp nhảy

Vài điện trở (3 x 1k ohm)

Bước 1: Kết nối HC-SR04

Kết nối HC-SR04
Kết nối HC-SR04

Vì chúng tôi đang sử dụng Raspberry Pi, chúng tôi cần sử dụng bộ chia điện áp để điều chỉnh điện áp đi vào các chân GPIO của Pi vì chúng chỉ cho phép 3.3v. HC-SR04 sử dụng 5V nhưng cần phải hạ xuống 3.3V khi kết nối với Pi. Kết nối các chân 5V và chân nối đất tương ứng và theo chương trình của bạn, hãy gắn các chân echo và trigger vào các chân kính. Trong chương trình của chúng tôi, chúng tôi đã sử dụng chân 23 và 24 tương ứng cho tiếng vọng và bộ kích hoạt.

Bước 2: Mosquitto và Paho MQTT

Trước khi bắt đầu lập trình trên Python để cảm biến siêu âm hoạt động với Pi, chúng ta nên cài đặt các ứng dụng này để cảm biến siêu âm giao tiếp với phần mềm lập trình Node-RED của chúng tôi. Mosquitto là nhà môi giới MQTT mà bạn có thể sử dụng trên Pi trong khi Paho MQTT là thư viện cho phép bạn viết mã bằng Python để cảm biến giao tiếp với nhà môi giới MQTT. Để cài đặt cả hai, bạn sẽ nhập các lệnh này trên thiết bị đầu cuối Pi của mình

cập nhật apt sudo

sudo apt install -y mosquitto mosquitto-client

sudo apt-get install python3-pip

sudo pip3 cài đặt paho-mqtt

Bước 3: Chương trình Python cho cảm biến siêu âm

Đây là chương trình mà tôi đã sử dụng để đọc dữ liệu đến từ cảm biến và cũng xuất bản cho nhà môi giới MQTT.

Bước 4: Nút-ĐỎ

Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED

Một số nút không được cài đặt sẵn trong chương trình, vì vậy bạn có thể cần phải cài đặt nó từ các bảng màu. Những thứ bạn cần cài đặt là node-red-dashboard và node-red-node-sqlite.

Đây là nơi chúng tôi bắt đầu sử dụng phần mềm lập trình và cảm biến của mình. Nút đầu tiên bạn cần là MQTT-in Node và nó cho phép chúng tôi sử dụng cảm biến đang chạy chương trình từ phía trên để gửi dữ liệu đến phần mềm này. Nút phạm vi mà chúng tôi đã sử dụng lật các giá trị chúng tôi có (tức là. 5cm đã đầy từ chương trình nên chúng tôi lật nó thành 100%). Tiếp theo nút phạm vi, chúng ta có 2 nút chức năng, một để hiển thị thông báo tới trang tổng quan của chúng tôi và một để hiển thị trực quan rằng rác đã đầy. Chương trình cho các nút chức năng được đính kèm.

Nếu có thể, dòng chảy này sẽ có thể được sử dụng cho nhiều cảm biến siêu âm. Tuy nhiên, đối với dự án của chúng tôi, chúng tôi phải thực hiện dữ liệu mô phỏng vì chúng tôi không thể sử dụng nhiều cảm biến hơn. Cách chúng tôi thực hiện điều này rất giống nhau nhưng chúng tôi có các nút mà người dùng có thể nhấp vào để thêm ngẫu nhiên 1-10 phần trăm rác trong mỗi trang phục. Chúng tôi đã sử dụng 2 nút, một để thêm rác và một để dọn. Tuy nhiên, thước đo, tin nhắn và chỉ báo vẫn hoàn toàn giống mã để đếm và giữ số lượng rác có một chút khác biệt.

Bước 5: Ghi dữ liệu

Dữ liệu ghi nhật ký
Dữ liệu ghi nhật ký
Dữ liệu ghi nhật ký
Dữ liệu ghi nhật ký
Dữ liệu ghi nhật ký
Dữ liệu ghi nhật ký

Chúng tôi quyết định rằng sẽ là một ý kiến hay để ghi lại mức độ đầy của quần áo khi xe tải đến để làm rỗng quần áo. Với sự trợ giúp của nút sqlite, chúng tôi có thể đọc và ghi dữ liệu và cũng lưu dữ liệu đó vào Pi. Bạn sẽ cần cài đặt nút này như tôi đã nói trước đây.

Các bước để tạo và ghi dữ liệu như sau:

1. Tạo cơ sở dữ liệu

2. Ghi dữ liệu

3. Kéo dữ liệu để hiển thị trên trang tổng quan của chúng tôi

4. Xóa và xóa dữ liệu

Cách hoạt động của SQL là bạn cần tạo thực thi chủ đề là TẠO BẢNG, CHÈN VÀO, CHỌN TỪ và XÓA TỪ. Sử dụng các nút dấu thời gian, chúng ta có thể thực thi các chủ đề cho nút sqlite thực hiện từng chức năng đó (tạo, chèn, chọn và xóa). Chúng tôi chỉ cần tạo cơ sở dữ liệu một lần và sau khi hoàn tất, chúng tôi có thể ghi dữ liệu vào nó. Sau khi cơ sở dữ liệu được tạo, chúng tôi có thể ghi dữ liệu và chúng tôi đã sử dụng lại thông tin nhập của người dùng để ghi lại khi xe tải đến. Chúng tôi đã tạo ra nó để bạn không thể ghi dữ liệu cho đến khi chiếc xe tải được phép đi đến, có 5 trang bị ở 80% công suất (được coi là đầy). Chúng tôi cũng đã sử dụng lại nút phạm vi để chia tỷ lệ 500 trở lại 0-100%. Sau đó, chúng tôi có tùy chọn xóa tất cả dữ liệu khỏi cơ sở dữ liệu nếu chúng tôi muốn. Nút bảng giao diện người dùng là một nút cho phép chúng tôi xem bảng theo cách được định dạng độc đáo trên trang tổng quan của chúng tôi.

Bước 6: Bố cục

Sau khi tất cả điều này hoàn thành, bạn có thể tạo một bố cục bạn muốn với sự trợ giúp của Node-RED. Trên tab bên, bạn sẽ có thể đặt chúng theo cách bạn muốn và có nhiều tùy chọn tùy chỉnh hơn mà bạn có. Cũng đính kèm là quy trình của tôi cho toàn bộ chương trình của tôi.

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

Sau khi hoàn thành dự án này, có những lĩnh vực mà chúng ta có thể thấy chương trình sẽ phát triển hơn nữa. Tôi chưa bao giờ tìm ra cách để ghi nhật ký tự động vì cách duy nhất chúng tôi có thể làm là ghi nhật ký theo khoảng thời gian và chúng tôi sẽ không cần bất kỳ số lặp lại nào nếu xe rác đến một lần. Tôi nghĩ điều này một phần là do cách chúng tôi quyết định làm cho nó phụ thuộc nhiều vào các nút chức năng và lập trình vì chúng tôi cảm thấy thoải mái hơn với việc lập trình đó. Sau khi khám phá sau khi chúng tôi hoàn thành, rõ ràng là có các nút được tạo ra cho mọi thứ và nó có thể khiến cuộc sống dễ dàng hơn rất nhiều nếu chúng tôi tìm thấy chức năng của các nút chuyển đổi và nút rbe trước đó. Ngoài ra còn có một nút được tạo cho các cảm biến siêu âm mà chúng tôi không thể làm việc. Nó sẽ làm cho mọi thứ dễ dàng hơn vì không cần MQTT hoặc chương trình Python vì nó chỉ là một nút với các chân kích hoạt và echo. Chúng tôi quyết định giải quyết vấn đề này bằng cách tạo chương trình Python như bạn đã thấy ở trên. Một mẹo rất lớn cho bất kỳ ai muốn tìm hiểu sâu về Node-RED là bạn nên sử dụng nhiều nút gỡ lỗi để tìm hiểu xem mỗi luồng có hoạt động hay không và xuất ra những gì bạn muốn / cần.

Đề xuất: