Mục lục:

Dò tìm tắc nghẽn cống: 11 bước (có hình ảnh)
Dò tìm tắc nghẽn cống: 11 bước (có hình ảnh)

Video: Dò tìm tắc nghẽn cống: 11 bước (có hình ảnh)

Video: Dò tìm tắc nghẽn cống: 11 bước (có hình ảnh)
Video: Bệnh phổi tắc nghẽn mãn tính (COPD) có nguy hiểm không và cách điều trị 2024, Tháng bảy
Anonim
Image
Image

Đừng để cống bị tắc làm bạn chậm lại! Trở về sau kỳ nghỉ của chúng tôi, tôi và vợ tôi đã rất ngạc nhiên bởi nước bao phủ khắp sàn căn hộ của chúng tôi, và chúng tôi phát hiện ra nó thậm chí không phải là nước sạch, nó cống ở khắp mọi nơi. Sau khi thông tắc cống và lau sàn, tôi có câu hỏi này: tại sao chúng ta không trang bị hệ thống báo động cho những trường hợp tắc cống tiềm ẩn? Hệ thống thoát nước bị tắc không chỉ có thể khiến ngôi nhà của bạn ngừng hoạt động mà còn tiêu tốn thêm chi phí từ túi tiền của bạn, trung bình 206 đô la là chi phí thông tắc cống bị tắc, theo Homevisor, bên cạnh chi phí tiềm ẩn của thảm bị hư hỏng, đồ nội thất bằng gỗ, … v.v. Ý tưởng của chúng tôi là cho phép các chủ sở hữu nhà cũng như các doanh nghiệp như bộ phận bảo trì thành phố / hợp chất và các nhà cung cấp dịch vụ chuyên biệt có một hệ thống hiệu quả và thông minh để cảnh báo những người phụ trách sớm nhất có thể để hành động, góp phần làm phong phú các thành phố thông minh với một đặc tính.

Mặc dù việc phát hiện tắc nghẽn có thể được thực hiện thông qua một số kỹ thuật, chẳng hạn như sử dụng cảm biến khí hoặc cơ chế bên trong, nhóm của chúng tôi đã tập trung vào việc sử dụng âm thanh làm đầu vào của chúng tôi, vì chúng tôi biết rằng tiếng gõ vào ống ở nơi nó mở ra là âm thanh khác với âm thanh đã xảy ra. khi bị đóng cửa. Theo khái niệm đơn giản này, nếu chúng ta có thể đào tạo một mô hình các mẫu âm thanh xảy ra trên bề mặt ống trong quá trình tắc nghẽn cũng như các mẫu âm thanh đó xảy ra trong các đường ống đã mở, thì chúng ta có thể áp dụng mô hình để chủ động phát hiện khi tắc nghẽn bắt đầu tạo ra và sau đó chúng ta gọi một số hóa đơn.

Tín dụng cho

  • Mohamed Hassan
  • Ahmed Emam

Dự án chi tiết 3 giai đoạn được thực hiện trong dự án này: Thu thập dữ liệu, Tìm hiểu và dự đoán.

Trước khi áp dụng hệ thống này trong cuộc sống thực, chúng tôi cần tạo một môi trường mô phỏng có hiệu lực, nơi chúng tôi có đường ống, nước chảy và bằng cách nào đó để mô phỏng tắc nghẽn. Vì vậy, chúng tôi có một ống, một vòi nước với nguồn nước làm việc này trong bồn tắm và sử dụng bề mặt bồn tắm để đóng ống đại diện cho tắc nghẽn. Trong video này, chúng tôi giải thích cách chúng tôi xây dựng môi trường và cách chúng tôi thu thập dữ liệu để đào tạo mô hình.

Và trong video tiếp theo này, cho thấy cách chúng tôi đã thực hiện kiểm tra hệ thống và mô hình, ở chế độ mở, sau đó ở chế độ tắc nghẽn và quay lại chế độ mở, tuy nhiên

Vì vậy, chúng ta hãy khám phá cách triển khai của chúng tôi từng bước:

Bước 1: Thử nghiệm

Cuộc thí nghiệm
Cuộc thí nghiệm
Cuộc thí nghiệm
Cuộc thí nghiệm
Cuộc thí nghiệm
Cuộc thí nghiệm
Cuộc thí nghiệm
Cuộc thí nghiệm

Trong trường hợp này, chúng tôi sử dụng một ống nước nhỏ kết nối với phần cứng và cảm biến âm thanh của chúng tôi. Phần cứng đọc giá trị cảm biến và gửi lại cho Đám mây. Quá trình này được thực hiện trong 10 phút đối với ống bị tắc, sau đó thêm 10 phút đối với ống không bị tắc.

Bước 2: 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

I- Arduino

Để phát hiện tiếng nước bên trong đường ống chúng ta cần một bộ cảm biến âm thanh. Tuy nhiên Raspberry Pi 3 không có Analog GPIO. Để xử lý vấn đề này, chúng tôi sử dụng Arduino vì Arduino có GPIO tương tự. Vì vậy, chúng tôi kết nối cảm biến Grove Sound với lá chắn Grove Arduino và kết nối Shield với Arduino UNO 3. Sau đó, chúng tôi kết nối Arduino & Raspberry bằng cáp USB. Để biết thêm thông tin về cảm biến Grove Sound, bạn có thể kiểm tra bảng dữ liệu của nó. Bạn có thể tìm thấy trong bảng dữ liệu một mã mẫu cách đọc các giá trị cảm biến. Mã mẫu được sử dụng gần như sẽ thay đổi nhỏ. Trong đoạn mã dưới đây, chúng tôi kết nối cảm biến với A0 trong tấm chắn. Để viết trên serial, chúng ta sử dụng hàm Serial.begin (). Để giao tiếp với Raspberry tốc độ truyền được đặt thành 115200 Dữ liệu sẽ được gửi đến Raspberry nếu nó lớn hơn ngưỡng nhất định để cắt nhiễu Nhiều thử nghiệm đã được thực hiện để chọn giá trị ngưỡng & độ trễ mong muốn. Ngưỡng được tìm thấy là 400 và giá trị Độ trễ là 10 mili giây. Ngưỡng đã được chọn để lọc tiếng ồn bình thường và đảm bảo rằng chỉ dữ liệu có ý nghĩa mới được gửi đến đám mây. Thời gian đã được chọn để đảm bảo rằng cảm biến có thể phát hiện bất kỳ thay đổi nào trong âm thanh dòng chảy bên trong ống ngay lập tức.

II- Raspberry Pi 3 Để tải xuống những thứ Android trên Raspberry, bạn có thể tải xuống phiên bản mới nhất từ Android Things Console. Trong dự án này, chúng tôi sử dụng phiên bản: OIR1.170720.017. Làm theo các bước trong trang Raspberry để cài đặt hệ điều hành trên mâm xôi, đối với windows bạn có thể sử dụng các bước này Sau khi cài đặt, bạn có thể kết nối Raspberry với máy tính bằng USB. Sau đó, trong bảng điều khiển máy tính của bạn, sử dụng lệnh dưới đây để lấy IP Raspberry

nmap -sn 192.168.1. *

Sau khi nhận được IP, hãy kết nối với Raspberry của bạn bằng lệnh dưới đây

kết nối adb

Để kết nối Raspberry của bạn với Wifi (thêm SSID và mật khẩu của bạn)

adb am startervice

-n com.google.wifisetup /. WifiSetupService

-a WifiSetupService. Connect

-e ssid *****

-e cụm mật khẩu ****

Bước 3: Google Cloud - Đăng ký

Google Cloud - Đăng ký
Google Cloud - Đăng ký
Google Cloud - Đăng ký
Google Cloud - Đăng ký
Google Cloud - Đăng ký
Google Cloud - Đăng ký
Google Cloud - Đăng ký
Google Cloud - Đăng ký

Google cung cấp một cấp miễn phí cho tất cả người dùng trong một năm với mức trần là 300 đô la, Cảm ơn Google:). Theo dõi màn hình để tạo dự án mới trong Google Cloud

Bước 4: Google Cloud - Pub / Sub

Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub
Google Cloud - Pub / Sub

Google Cloud Pub / Sub là dịch vụ nhắn tin thời gian thực được quản lý hoàn toàn cho phép bạn gửi và nhận tin nhắn giữa các ứng dụng độc lập.

Bước 5: Google Cloud - IOT Core

Google Cloud - IOT Core
Google Cloud - IOT Core
Google Cloud - IOT Core
Google Cloud - IOT Core
Google Cloud - IOT Core
Google Cloud - IOT Core

II- Dịch vụ IOT CoreA được quản lý hoàn toàn để kết nối, quản lý và nhập dữ liệu từ các thiết bị phân tán toàn cầu một cách dễ dàng và an toàn. IOT Core vẫn là bản Beta, để có quyền truy cập vào đó, bạn cần phải đưa ra yêu cầu với Justification tới Google. Chúng tôi đã đưa ra yêu cầu, lời biện minh của chúng tôi là cuộc thi này. Google đã chấp thuận, Cảm ơn Google một lần nữa:). Raspberry sẽ gửi dữ liệu cảm biến đến IOT Core sẽ chuyển tiếp các bài đọc đến chủ đề PubSub đã tạo ở bước trước

Bước 6: Google Cloud - Chức năng đám mây

Google Cloud - Chức năng đám mây
Google Cloud - Chức năng đám mây
Google Cloud - Chức năng đám mây
Google Cloud - Chức năng đám mây

Chức năng đám mây là một môi trường không máy chủ để xây dựng và kết nối các dịch vụ đám mây. Kích hoạt cho chức năng này là chủ đề PubSup đã tạo ở bước 1.;; Chức năng này sẽ được kích hoạt khi giá trị mới được viết trong PubSup và ghi nó vào Cloud DataStore với Loại "SoundValue"

Bước 7: Google Cloud - Cloud DataStore

Google Cloud Datastore là một cơ sở dữ liệu tài liệu NoSQL được xây dựng để tự động mở rộng quy mô, hiệu suất cao và dễ phát triển ứng dụng. Mặc dù giao diện Cloud Datastore có nhiều tính năng giống như cơ sở dữ liệu truyền thống, nhưng với tư cách là cơ sở dữ liệu NoSQL, nó khác với chúng ở cách nó mô tả mối quan hệ giữa các đối tượng dữ liệu. Không cần bất kỳ thiết lập nào vì khi Chức năng đám mây ghi các giá trị cảm biến vào DataStore, dữ liệu sẽ được thêm vào DataStore

Bước 8: Google Cloud - BigQuery

Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery

Chúng tôi thu thập một mẫu 10 phút từ đường ống bình thường và 10 phút từ đường ống bị tắc với chênh lệch chính xác là 1 giờ giữa 2 lần lặp lại. Sau khi tải dữ liệu DataStore về và thực hiện một số thao tác để thêm phân loại cho từng hàng. Bây giờ chúng tôi có 2 tệp csv một cho mỗi danh mục. Phương pháp hay nhất là trước tiên hãy tải tệp CSV dữ liệu lên Bộ nhớ đám mây. Trong màn hình bên dưới, chúng tôi tạo một nhóm mới và tải lên 2 tệp CSV vì nhóm này sẽ chỉ được sử dụng để phân tích, không cần chọn Nhóm nhiều khu vực Sau đó, tạo Tập dữ liệu mới và bảng mới trong BigQuery và tải lên 2 tệp CSV từ nhóm lên cái bàn mới

Bước 9: Google Cloud - Data Studio

Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio

Sau đó, chúng tôi sử dụng Data Studio để rút ra một số thông tin chi tiết. Data Studio sẽ đọc dữ liệu từ bảng BigQuery. Từ biểu đồ, chúng ta có thể thấy sự khác biệt giữa 2 loại về số đo từ xa và tổng giá trị mỗi phút. Dựa trên những hiểu biết này, chúng ta có thể thiết kế một mô hình đơn giản, đường ống được coi là bị tắc nếu trong 3 phút liên tiếp, số giá trị đo từ xa cao hơn ngưỡng nhiễu (400) nhiều hơn 350 đo từ xa. và trong 3 phút liên tiếp, số lượng giá trị đo từ xa cao hơn ngưỡng tia lửa (720) là hơn 10 đo từ xa.

Bước 10: Giai đoạn dự đoán

Giai đoạn dự đoán
Giai đoạn dự đoán

Chúng tôi đề cập đến một số đọc, khi nó vượt quá một giá trị nhất định (THRESHOLD_VALUE) được đặt thành 350 sẽ lọc tiếng ồn và giảm tốc độ dòng nước trong ống, khỏi được coi là một số đọc

Phân tích dữ liệu cho thấy ở chế độ mở, số lần đọc ít hơn 100, nhưng ở chế độ tắc nghẽn, giá trị cao hơn nhiều (đạt 900 mỗi phút), nhưng trong một số trường hợp hiếm hoi cũng ít hơn 100. Tuy nhiên, những trường hợp này không lặp lại do đó. và trong ba phút kết quả, tổng số lần đọc luôn vượt quá 350. Có chế độ mở trong cùng ba phút sẽ có tổng số ít hơn 300, chúng tôi có thể tự tin đặt quy tắc này: Quy tắc số 1 Đối với ba phút ở dạng thô, nếu tổng số lần đọc > 350, sau đó một tắc nghẽn được phát hiện. Chúng tôi nhận thấy giá trị tối đa đạt được ở chế độ mở không vượt quá một giá trị nhất định (SPARK_VALUE) được tìm thấy là 770, vì vậy chúng tôi đã thêm quy tắc này: Quy tắc số 2 Nếu giá trị đọc> 350 thì phần lớn đã phát hiện thấy tắc nghẽn.

Kết hợp cả hai quy tắc, đã cho chúng tôi một cách dễ dàng để triển khai logic phát hiện, như được hiển thị. Lưu ý rằng mã dưới đây đã được triển khai trên Arduino, sau đó đánh giá các phép đo từ xa nhận được dựa trên mô hình của chúng tôi và gửi đến mâm xôi nếu đường ống bị tắc hoặc bị hở.

Bước 11: Mã

Tất cả mã cho Arduino, Raspberry & Chức năng đám mây có thể được tìm thấy trên Github.

Để biết thêm thông tin, bạn có thể kiểm tra liên kết này

Đề xuất: