Daftar Isi:

Drain Clog Detector: 11 Langkah (dengan Gambar)
Drain Clog Detector: 11 Langkah (dengan Gambar)

Video: Drain Clog Detector: 11 Langkah (dengan Gambar)

Video: Drain Clog Detector: 11 Langkah (dengan Gambar)
Video: Cara membersihkan head printer epson L110, L210 2024, Juli
Anonim
Image
Image

Jangan biarkan saluran air yang tersumbat memperlambat Anda! Sepulang dari liburan kami, saya dan istri saya dikejutkan oleh air yang menutupi lantai apartemen kami, dan kami menemukan itu bahkan bukan air bersih, itu mengalir di mana-mana. Setelah membersihkan saluran pembuangan dan membersihkan lantai, saya memiliki pertanyaan ini: mengapa kita tidak memiliki sistem alarm untuk kemungkinan penyumbatan saluran air? Saluran air yang tersumbat tidak hanya dapat membuat rumah Anda terhenti, tetapi juga akan menghabiskan biaya tambahan dari kantong Anda, rata-rata $206 adalah biaya untuk membersihkan saluran air yang tersumbat menurut HomeAdvisor, selain biaya tersembunyi dari karpet yang rusak, perabotan kayu, … dll. Ide kami adalah untuk memungkinkan pemilik rumah serta perusahaan seperti departemen pemeliharaan kota/kompleks dan penyedia layanan khusus untuk memiliki sistem yang efisien dan cerdas yang memberi tahu siapa pun yang bertanggung jawab sedini mungkin untuk mengambil tindakan, yang berkontribusi dalam memperkaya kota pintar dengan fitur.

Ide Meskipun pendeteksian bakiak dapat dilakukan melalui beberapa teknik, seperti menggunakan sensor gas atau mekanisme internal, tim kami fokus menggunakan suara sebagai input kami, karena kami tahu bahwa ketukan pada tabung tempat dibukanya berbeda dengan suara yang terjadi. ketika sedang ditutup. Menurut konsep sederhana ini, jika kita dapat melatih sebuah model pola suara yang terjadi pada permukaan tabung selama penyumbatan serta pola-pola yang terjadi pada pipa yang terbuka, kita dapat menerapkan model tersebut untuk mendeteksi secara proaktif ketika penyumbatan mulai terbentuk, dan kemudian kita cincin beberapa tagihan.

Kredit untuk

  • Muhammad Hasan
  • Ahmad Emam

Proyek secara rinci3 fase dilaksanakan dalam proyek ini: Mengumpulkan data, Belajar & prediksi.

Sebelum menerapkan sistem ini dalam kehidupan nyata, kami perlu membuat lingkungan simulasi yang dipaksakan, di mana kami memiliki pipa, air yang mengalir, dan entah bagaimana untuk mensimulasikan penyumbatan. Jadi, kami mendapat tabung, selang air dengan sumber air melakukan ini di bak mandi, dan menggunakan permukaan bak untuk menutup tabung yang mewakili bakiak. Dalam video ini, kami menjelaskan bagaimana kami membangun lingkungan dan bagaimana kami mengumpulkan data untuk pelatihan model.

Dan di video berikutnya, menunjukkan bagaimana kami melakukan pengujian untuk sistem dan model, dalam mode terbuka, kemudian dalam mode clog dan kembali ke mode terbuka, namun

Jadi, mari jelajahi implementasi kami langkah demi langkah:

Langkah 1: Eksperimen

Percobaan
Percobaan
Percobaan
Percobaan
Percobaan
Percobaan
Percobaan
Percobaan

Dalam skenario ini kami menggunakan pipa air kecil yang terhubung ke perangkat keras dan sensor suara kami. Perangkat keras membaca nilai sensor dan mengirimkannya kembali ke Cloud. Ini telah dilakukan selama 10 menit untuk tabung yang tersumbat kemudian 10 menit lagi untuk tabung yang tidak tersumbat.

Langkah 2: Perangkat Keras

Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras

saya-arduino

Untuk mendeteksi suara air di dalam pipa kita membutuhkan sensor suara. Namun Raspberry Pi 3 tidak memiliki Analog GPIO. Untuk menangani masalah ini kami menggunakan Arduino karena Arduino memiliki GPIO analog. Jadi kami menghubungkan sensor Grove Sound ke Grove Arduino shield dan menghubungkan Shield ke Arduino UNO 3. Kemudian kami menghubungkan Arduino & Raspberry menggunakan kabel USB. Untuk mendapatkan informasi lebih lanjut tentang sensor Grove Sound, Anda dapat memeriksa lembar datanya. Anda dapat menemukan di lembar data kode contoh cara membaca nilai sensor. Kode Sampel hampir digunakan akan perubahan kecil. Dalam kode di bawah ini kami menghubungkan sensor ke A0 di perisai. Untuk menulis serial, kita menggunakan fungsi Serial.begin(). Untuk berkomunikasi dengan Raspberry baud rate diatur ke 115200Data akan dikirim ke Raspberry jika lebih besar dari ambang batas tertentu untuk memotong kebisingan Banyak percobaan telah dilakukan untuk memilih nilai ambang batas & penundaan yang diinginkan. Ambang batas ditemukan 400 & Nilai tunda menjadi 10 milidetik. Ambang telah dipilih untuk menyaring kebisingan normal & memastikan bahwa hanya data yang berarti yang akan dikirim ke awan. Penundaan telah dipilih untuk memastikan bahwa sensor telah mendeteksi perubahan aliran suara di dalam tabung dengan segera.

II- Raspberry Pi 3Untuk mengunduh Android Things di Raspberry, Anda dapat mengunduh versi terbaru dari Android Things Console. Dalam proyek ini kami menggunakan versi: OIR1.170720.017. ikuti langkah-langkah di situs Raspberry untuk menginstal sistem operasi pada raspberry, untuk windows Anda dapat menggunakan langkah-langkah ini Setelah instalasi Anda dapat menghubungkan Raspberry ke komputer Anda menggunakan USB. Kemudian di konsol komputer Anda gunakan perintah di bawah ini untuk mendapatkan Raspberry IP

nmap -sn 192.168.1.*

Setelah mendapatkan IP, sambungkan ke Raspberry Anda menggunakan perintah di bawah ini

adb terhubung

Untuk menghubungkan Raspberry Anda ke Wifi (tambahkan SSID & kata sandi Anda)

adb saya memulai layanan

-n com.google.wifisetup/. WifiSetupService

-a WifiSetupService. Connect

-e ssid *****

-e kata sandi ****

Langkah 3: Google Cloud - Pendaftaran

Google Cloud - Pendaftaran
Google Cloud - Pendaftaran
Google Cloud - Pendaftaran
Google Cloud - Pendaftaran
Google Cloud - Pendaftaran
Google Cloud - Pendaftaran
Google Cloud - Pendaftaran
Google Cloud - Pendaftaran

Google menawarkan tingkat gratis untuk semua pengguna selama satu tahun dengan plafon 300$, Terima kasih kepada Google:). Ikuti layar untuk membuat proyek baru di Google Cloud

Langkah 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 adalah layanan perpesanan real-time terkelola sepenuhnya yang memungkinkan Anda mengirim dan menerima pesan antar aplikasi independen.

Langkah 5: Google Cloud - Inti IOT

Google Cloud - Inti IOT
Google Cloud - Inti IOT
Google Cloud - Inti IOT
Google Cloud - Inti IOT
Google Cloud - Inti IOT
Google Cloud - Inti IOT

II- IOT CoreA layanan terkelola sepenuhnya untuk menghubungkan, mengelola, dan menyerap data dengan mudah dan aman dari perangkat yang tersebar secara global. IOT Core masih Beta, untuk mengaksesnya Anda perlu membuat permintaan dengan Justifikasi ke Google. Kami membuat permintaan, pembenaran kami adalah kontes ini. Google disetujui, Terima kasih kepada Google lagi:). Raspberry akan mengirimkan data sensor ke IOT Core yang akan meneruskan bacaan ke topik PubSub yang dibuat pada langkah sebelumnya

Langkah 6: Google Cloud - Fungsi Cloud

Google Cloud - Fungsi Cloud
Google Cloud - Fungsi Cloud
Google Cloud - Fungsi Cloud
Google Cloud - Fungsi Cloud

Cloud Functions adalah lingkungan tanpa server untuk membangun dan menghubungkan layanan cloud. Pemicu untuk fungsi ini adalah topik PubSup yang dibuat pada langkah 1.;; Fungsi ini akan dipicu ketika nilai baru ditulis di PubSup dan menulisnya di Cloud DataStore dengan Jenis "SoundValue"

Langkah 7: Google Cloud - Cloud DataStore

Google Cloud Datastore adalah database dokumen NoSQL yang dibuat untuk penskalaan otomatis, performa tinggi, dan kemudahan pengembangan aplikasi. Meskipun antarmuka Cloud Datastore memiliki banyak fitur yang sama seperti database tradisional, sebagai database NoSQL, antarmuka ini berbeda dari cara mendeskripsikan hubungan antara objek data. Tidak perlu pengaturan apa pun karena setelah Cloud Functions menulis nilai sensor ke DataStore, data akan ditambahkan ke DataStore

Langkah 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

Kami mengumpulkan sampel 10 menit dari pipa normal & 10 menit dari pipa tersumbat dengan perbedaan tepat 1 jam antara 2 iterasi. Setelah mengunduh data DataStore dan melakukan beberapa manipulasi untuk menambahkan klasifikasi untuk setiap baris. Sekarang kami memiliki 2 file csv satu untuk setiap kategori. Sebagai praktik terbaik, unggah file CSV data terlebih dahulu ke Cloud Storage. Di layar di bawah ini kami membuat bucket baru & mengupload 2 file CSV Karena bucket ini hanya akan digunakan untuk analisis, tidak perlu memilih Bucket multi-regional Kemudian buat Dataset & tabel baru di BigQuery dan upload 2 file CSV dari bucket ke meja baru

Langkah 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

Kemudian kami menggunakan Data Studio untuk menggambar beberapa wawasan. Data Studio akan membaca data dari tabel BigQuery. Dari grafik kita dapat melihat perbedaan antara 2 kategori dalam jumlah telemetri dan jumlah nilai per menit. Berdasarkan wawasan tersebut kita dapat merancang model sederhana, pipa dianggap tersumbat jika dalam 3 menit berturut-turut, jumlah nilai telemetri yang lebih tinggi dari ambang batas kebisingan (400) lebih dari 350 telemetri. dan dalam 3 menit berturut-turut, jumlah nilai telemetri yang lebih tinggi dari ambang batas percikan (720) lebih dari 10 telemetri.

Langkah 10: Fase Prediksi

Fase Prediksi
Fase Prediksi

Kami mengacu pada pembacaan, ketika melebihi nilai tertentu (THRESHOLD_VALUE) yang disetel ke 350 yang menyaring kebisingan dan menurunkan laju aliran air di dalam tabung, agar tidak dianggap sebagai pembacaan

Analisis data menunjukkan bahwa dalam mode terbuka jumlah pembacaan kurang dari 100, tetapi dalam mode clog, nilainya jauh lebih tinggi (mencapai 900 per menit), tetapi dalam kasus yang jarang juga kurang dari 100. Namun, kasus ini tidak berulang akibatnya, dan selama tiga menit berikutnya, jumlah total pembacaan selalu melebihi 350. Memiliki mode terbuka dalam tiga menit yang sama akan berjumlah kurang dari 300, kita dapat dengan yakin menerapkan aturan ini: Aturan # 1 Selama tiga menit secara mentah, jika total pembacaan > 350, maka penyumbatan terdeteksi. Kami menemukan nilai maksimum yang dicapai dalam mode terbuka tidak melebihi nilai tertentu (SPARK_VALUE) yang ditemukan 770, jadi kami menambahkan aturan ini: Aturan # 2 Jika nilai membaca > 350, maka sebagian besar penyumbatan terdeteksi.

Menggabungkan kedua aturan, memberi kami cara mudah untuk menerapkan logika deteksi, seperti yang ditunjukkan. Perhatikan bahwa kode di bawah ini digunakan pada Arduino yang kemudian mengevaluasi telemetri yang diterima berdasarkan model kami dan mengirim ke raspberry jika pipa tersumbat atau terbuka.

Langkah 11: Kode

Semua Kode untuk Arduino, Raspberry & Cloud Function dapat ditemukan di Github.

Untuk informasi lebih lanjut, Anda dapat memeriksa tautan ini

Direkomendasikan: