Daftar Isi:

IDC2018IOT GarbageCan-Online: 7 Langkah
IDC2018IOT GarbageCan-Online: 7 Langkah

Video: IDC2018IOT GarbageCan-Online: 7 Langkah

Video: IDC2018IOT GarbageCan-Online: 7 Langkah
Video: Homeless boy Found alot of iphone and Money in Rubbish | Restore iphone X Bought from poor boy 2024, November
Anonim
Image
Image
Bagian yang Diperlukan
Bagian yang Diperlukan

pengantar

Semua orang tahu apa yang terjadi ketika kita meninggalkan sampah di tempat sampah terlalu lama tanpa membuangnya. Nah, hal yang paling jelas adalah bahwa tidak ada ruang untuk lebih banyak sampah, tetapi juga mulai bau, dan itu menjadi sangat tidak menyenangkan.

Dengan proyek ini, kami bertujuan untuk membantu Anda memantau tempat sampah Anda di sekitar rumah\ruang kerja\dll, sehingga Anda selalu tahu kapan mereka penuh, dan dapat mengambil tindakan segera dengan membuang sampah.

Sistem akan memberi tahu Anda melalui notifikasi telepon atau peringatan dasbor bahwa Anda harus mengosongkan tempat sampah. Sistem memperhitungkan tingkat kepenuhan tempat sampah, tetapi juga suhu dan kelembaban yang diukur di dalamnya. Kita semua akrab dengan urgensi mengosongkan tong sampah di hari yang panas dan lembab…

Fitur utama

  1. Dasbor Pemantauan:

    • Bagian utama:

      • Tingkat kepenuhan setiap tong sampah.
      • Suhu dan kelembaban setiap tong sampah.
    • Bagian Statistik:

      • Tempat sampah paling lengkap.
      • Tempat sampah terpanas.
  2. Sistem Peringatan & Pemberitahuan:

    • Acara berikut didukung:

      • Tempat sampah sudah penuh.
      • Terjadi kesalahan sensor.
    • Peringatan kepenuhan memperhitungkan tingkat kepenuhan tempat sampah, tetapi juga tingkat suhu dan kelembaban tempat sampah.
    • Peringatan dapat dikirim melalui pemberitahuan telepon dan peringatan dasbor.
    • Setiap saluran peringatan dapat dihidupkan dan dimatikan melalui dasbor.
  3. Skalabilitas:

    • Dengan menggunakan tombol kalibrasi, dimungkinkan untuk menyesuaikan sistem ke tong sampah yang berbeda dengan kapasitas yang bervariasi.
    • Dimungkinkan untuk menambahkan lebih banyak tong sampah dengan relatif mudah. Seseorang dapat merakit sistem yang sama pada tong sampah baru, mengatur ID tong sampah dan mengkalibrasinya (menekan tombol). Memiliki lebih dari 3 tong sampah akan membutuhkan perpanjangan Dasbor (tugas mudah untuk dilakukan).

Siapa kita?

Proyek ini dibuat (dengan cinta dan dedikasi!) oleh Rom Cyncynatus dan Daniel Alima - Siswa IDC Herzliya sebagai proyek akhir untuk kursus IoT kami. Kami harap Anda akan menemukan pekerjaan kami berguna, dan menikmati menggunakannya!

Langkah 1: Bagian yang Diperlukan

Untuk membangun sistem, Anda akan mendapatkan komponen dan suku cadang berikut:

  1. Tempat sampah (sebaiknya dengan penutup): Ini akan digunakan untuk … yah.. Anda tahu apa yang akan kita lakukan dengan yang satu ini, eh?;)
  2. Breadboard: Untuk menghubungkan semua komponen yang berbeda tanpa menggunakan solder.
  3. NodeMCU (ESP-8266): Bertugas membaca sensor dan mengirimkan informasi ke cloud.
  4. Distance IR Sensor - Sharp 0A41SK: Sensor ini akan mengukur jumlah sampah (Fullness level) di dalam kaleng.
  5. Sensor Suhu & Kelembaban - DHT11: Sensor ini akan mengukur suhu dan kelembaban di dalam tempat sampah.
  6. Sakelar Sesaat: Akan digunakan untuk mengkalibrasi sensor jarak sesuai dengan ukuran tempat sampah.
  7. Aluminium Foil: Akan digunakan untuk membentuk detektor status tutup - apakah dibuka atau ditutup.
  8. Kabel jumper: Dapatkan banyak, dan dengan panjang dan warna yang berbeda. Akan menghubungkan semuanya bersama-sama.
  9. Lakban: Kita harus menempelkan benda-benda pada tempatnya.
  10. Kabel Micro-USB: Untuk menghubungkan NodeMCU ke komputer Anda untuk pemrograman, dan kemudian untuk catu daya.
  11. USB Power Supply (pengisi daya smartphone): Akan memberikan daya ke NodeMCU saat dipasang di tong sampah.

Langkah 2: Pengkabelan & Perakitan

Pengkabelan & Perakitan
Pengkabelan & Perakitan
Pengkabelan & Perakitan
Pengkabelan & Perakitan
Pengkabelan & Perakitan
Pengkabelan & Perakitan

Pengkabelan

Tempatkan NodeMCU di papan tempat memotong roti agar nyaman untuk dipasang nanti ke tempat sampah Anda, dan sambungkan kabel USB ke sana. Kemudian, lihat gambar diagram pengkabelan di atas untuk menghubungkan komponen yang berbeda ke NodeMCU. Pastikan untuk menggunakan kabel panjang untuk sensor dan kabel status sehingga akan lebih mudah untuk menginstal sistem dan menggunakan tempat sampah dengannya.

  • Sensor IR Jarak - Tajam 0A41SK:

    • Vin (Merah) Vin
    • GND (Hitam) GND
    • Vout (Kuning) A0
  • Sensor Suhu & Kelembaban - DHT11:

    • Vin (Merah) 3V3
    • GND (Hitam) GND
    • DATA (Kuning) D4
  • Saklar Sesaat:

    • Pin1 D3
    • Pin2 GND
  • Kabel status tutup (buka\tutup):

    • Kawat1 D2
    • Kawat2 GND

perakitan

Merakit sistem di tempat sampah cukup sederhana. Pasang Breadboard ke tempat sampah, sebaiknya dekat dengan tutupnya. Gunakan selotip atau pengikat kabel untuk mengencangkannya ke tempatnya. Kemudian:

  1. Tempatkan sensor jarak IR di tengah tutupnya (dari sisi dalam!). Pastikan untuk mengamankannya dengan benar, atau Anda akan menemukan pembacaan yang salah!
  2. Tempatkan sensor suhu & kelembaban di suatu tempat di dalam tong sampah. Amankan dengan pita.
  3. Tutupi sisi tutup dan ujung tong sampah dengan aluminium foil. Pastikan ada kontak yang baik saat tutupnya ditutup. Ini akan memberi sinyal ke sistem bahwa tong sampah dibuka atau ditutup. Kemudian tempelkan masing-masing kabel status tutup di salah satu aluminium foil, dan kencangkan dengan selotip.

Langkah 3: Siapkan MQTT, Node-RED dan IFTTT

Siapkan MQTT, Node-RED dan IFTTT
Siapkan MQTT, Node-RED dan IFTTT
Siapkan MQTT, Node-RED dan IFTTT
Siapkan MQTT, Node-RED dan IFTTT
Siapkan MQTT, Node-RED dan IFTTT
Siapkan MQTT, Node-RED dan IFTTT

Sebagian besar logika proyek sebenarnya diimplementasikan di cloud. NodeMCU mengirimkan data ke server MQTT, dan Node-RED mengkonsumsinya dan menerapkan logikanya (lebih lanjut tentang arsitektur lebih jauh ke depan). Terakhir, untuk mengirimkan pemberitahuan push (peringatan) ke ponsel cerdas kami, kami menggunakan IFTTT.

Kami akan menggunakan layanan cloud CloudMQTT dan FRED sebagai server MQTT dan Node-RED kami masing-masing, dan kami akan menggunakan IFTTT untuk pemberitahuan push.

  1. Daftar ke CloudMQTT dengan paket gratis. Catat kredensial Anda ke server MQTT (nama pengguna dan kata sandi).
  2. Daftar ke IFTTT. Buat applet baru "Pemberitahuan aplikasi IFTTT Webhooks". Gunakan "Pemberitahuan Ponsel" sebagai nama acara WebHookds. Konsultasikan gambar di atas untuk detail seluk beluknya. Catat kunci API pembuat Anda.
  3. Unduh aplikasi IFTTT ke ponsel Anda dan masuk dengan kredensial Anda. Ini akan memungkinkan Anda untuk mendapatkan pemberitahuan push.
  4. Daftar ke FRED dengan paket gratis.
  5. Setelah Anda memiliki instans FRED dan berjalan, impor aliran terlampir ke dalamnya (tombol 3 Bar Impor Dari clipboard). Cukup tempelkan konten setiap file (widgest.json, alerts.json, Statistics.json) dan impor.
  6. Edit salah satu node MQTT (satu sudah cukup) untuk memperbarui kredensial CloudMQTT Anda.
  7. Edit simpul IFTTT untuk memperbarui kunci API pembuat IFTTT Anda.

Langkah 4: Program Kalibrasi Kapasitas NodeMCU dan Tempat Sampah

Setelah semuanya terhubung, kita perlu memprogram NodeMCU dengan perangkat lunak (sketsa) yang sesuai sehingga benar-benar dapat menggunakan semua hal yang terhubung dengannya, dan berkomunikasi dengan internet.

  1. Unduh dan instal Arduino IDE dari sini.
  2. Instal dan atur jenis papan NodeMCU seperti yang dijelaskan di awal instruksi berikut.
  3. Instal pustaka berikut (Sketsa Sertakan Pustaka Kelola Pustaka…):

    1. Adafruit MQTT Library (oleh Adafruit)
    2. Pustaka sensor DHT (Oleh Adafruit)
    3. SharpIR (oleh Giuseppe Masino)
    4. EEPROMANything - penjelasan di sini.
  4. Buka file GarbageCanOnline.ino, dan perbarui yang berikut:

    1. Kredensial WiFi Anda (WLAN_SSID, WLAN_PASS)
    2. Kredensial CloudMQTT Anda (MQTT_USERNAME, MQTT_PASSWORD)
    3. Jika ini adalah tong sampah kedua atau lebih, ganti ID tong sampah (GARBAGECAN_ID)
  5. Unggah sketsa yang diperbarui ke NodeMCU Anda.
  6. Buka jendela monitor serial (Ctrl+M) dan pastikan jendela tersebut berhasil memublikasikan data sensor ke CloudMQTT.
  7. Sekarang, ketika tutupnya ditutup dan tempat sampah kosong, tekan lama tombol kalibrasi untuk mengkalibrasi kapasitas tempat sampah.
  8. Tempat sampah sudah siap. Anda dapat memutuskan sambungannya dari komputer, dan menghubungkannya di lokasi yang ditentukan menggunakan catu daya USB.

Langkah 5: Menggunakan Sistem

Menggunakan Sistem
Menggunakan Sistem
Menggunakan Sistem
Menggunakan Sistem
Menggunakan Sistem
Menggunakan Sistem

Jika Anda telah mencapai sejauh ini, semuanya harus berjalan dan berjalan. Mari kita lakukan tinjauan singkat tentang berbagai aspek penggunaan sistem.

Kami berasumsi Anda hanya memiliki satu tong sampah yang terhubung, tetapi mudah untuk menambahkan lebih banyak lagi nanti!

Pertama, perhatikan dashboard utama. Anda harus berada di layar beranda, melihat kepenuhan tempat sampah, suhu, dan tingkat kelembaban. Anda dapat mengontrol notifikasi telepon dan peringatan Dasbor menggunakan sakelar di sebelah kiri.

Ketika jumlah sampah di dalam tong sampah berubah, Anda akan melihat pengukur berubah. Hal ini juga berlaku untuk grafik suhu dan kelembaban.

Ketika tingkat kepenuhan mencapai 85% -90% (ambang batas yang tepat tergantung pada suhu dan kelembaban), atau terjadi kesalahan sensor, Anda akan mendapatkan pemberitahuan melalui metode pilihan Anda. Anda akan diberi tahu setiap jam sekali per tong sampah.

Dalam tampilan Statistik, Anda akan dapat melihat tong sampah terlengkap saat ini, dan tong sampah terpanas. Judul yang tidak menarik, jika kita boleh mengatakan…

Langkah 6: Memahami Aliran

Memahami Arus
Memahami Arus
Memahami Arus
Memahami Arus
Memahami Arus
Memahami Arus
Memahami Arus
Memahami Arus

Seperti yang mungkin telah Anda perhatikan sekarang, sistem memiliki banyak "bagian yang bergerak". Kami akan mencoba mengklarifikasi bagaimana hal-hal terhubung satu sama lain.

Pertama, kita memiliki tong sampah dengan NodeMCU dan sensornya. Kita dapat memiliki banyak dari ini - hanya "salinan" satu sama lain.

NodeMCU mengukur berbagai sensor yang ditempatkan di tempat sampah, dan menerbitkan data ke server MQTT (protokol MQTT). Anda dapat menganggap server MQTT sebagai pertukaran informasi besar, tempat banyak tong sampah dapat melaporkan informasi mereka.

Entitas lain yang terhubung ke server MQTT adalah Node-RED. Node-RED mendengarkan berbagai pesan yang datang dari tong sampah yang membawa data sensoris, dan menerapkan logikanya di sana. Ia bekerja dengan memanfaatkan "arus" informasi. Setiap kali pesan diterima, berdasarkan jenisnya (topik MQTT), pesan tersebut memasuki rantai operasi tertentu yang pada akhirnya mengaktifkan berbagai fitur sistem (memperbarui dasbor, mengirim peringatan, dll.) Akan sangat tepat untuk mengatakannya bahwa Node-RED adalah "otak" dari sistem. Ia menyadari segala sesuatu yang terjadi di mana-mana, dan dapat mengambil tindakan yang sesuai.

Di dalam Node-RED kami telah membangun 3 aliran informasi utama:

  1. Widget - Informasi sensorik yang dimasukkan ke dalam Node-RED kemudian ditampilkan di dasbor melalui pengukur dan grafik.
  2. Peringatan - Informasi sensorik diproses untuk menyimpulkan apakah peringatan harus dipicu (di dasbor atau ke aplikasi ponsel cerdas). Tingkat kepenuhan, dengan suhu & kelembaban diperhitungkan untuk memutuskan untuk memberi tahu pengguna bahwa tong sampah sudah penuh. Juga, kesalahan sensorik dilaporkan oleh aliran yang sama.
  3. Statistik - Informasi sensorik dikumpulkan untuk menampilkan tong sampah terlengkap dan terpanas.

Agar Node-RED mengirim pemberitahuan push, ia terhubung ke layanan yang disebut IFTTT (dengan protokol HTTP). Ini mengaktifkan acara IFTTT tertentu dengan teks pemberitahuan yang relevan, dan IFTTT mengirimkan pemberitahuan ke ponsel cerdas kami (protokol HTTP & XMPP).

Lihat gambar di atas untuk lebih memahami (a) struktur umum sistem, dan (b) 3 aliran informasi berbeda di dalam Node-RED

Langkah 7: Tantangan, Keterbatasan, dan Rencana Masa Depan…

Tantangan

Tantangan utama dalam proyek ini sebagian besar menangani layanan MQTT dan Node-RED. Kami pertama kali menggunakan AdafruitIO, tetapi implementasi MQTT kustomnya tidak cukup baik bagi kami. Tidak nyaman bekerja dengan "umpan" di dalam Node-RED. Oleh karena itu, kami akhirnya memilih CloudMQTT, yang didasarkan pada server Mosquitto MQTT, dan jauh lebih standar. Kemudian kami beralih untuk menangani Node-RED, yang cukup menantang, terutama karena Node-RED adalah binatang buas. Misalnya, ini jauh lebih komprehensif dan profesional daripada IFTTT dalam sudut pandang kami. Kami harus menyesuaikan dan mempelajari cara menggunakan pendekatan desain berbasis aliran untuk membangun fitur sistem yang kami butuhkan. Selain itu, salah satu keuntungan terbesarnya adalah dukungan kode javascript, tetapi butuh beberapa saat untuk membiasakan diri karena kami bukan programmer javascript. Terlepas dari semua itu, kami sangat menikmati bekerja dengan alat khusus ini, dan kami merasa alat ini sangat menarik dan berguna.

Keterbatasan

Sehubungan dengan batasan, yang pertama adalah fakta bahwa kami hanya menggunakan layanan gratis, dan mereka tidak akan mengizinkannya untuk skala penuh. Paket gratis CloudMQTT tidak akan mengizinkan memiliki lebih dari 5 koneksi paralel, artinya kami hanya dapat memiliki 4 tong sampah dan Node-RED. Paket gratis FRED Node-RED hanya memungkinkan penggunaan 24 jam berturut-turut, setelah itu Anda harus masuk secara manual dan mengatur ulang penghitung waktu. Namun, masalah ini mudah dipecahkan dengan menjalankan layanan ini secara lokal, atau membayar sedikit ekstra untuk menghilangkan batasannya. Keterbatasan kedua adalah fakta bahwa ketika seseorang menambahkan tong sampah keempat dan seterusnya, ia harus secara manual mengedit aliran widget di Node-RED untuk menambahkan widget yang sesuai.

Rencana untuk Masa Depan

Kami memiliki beberapa ide untuk lebih meningkatkan sistem kami dan memperluasnya:

  1. Pindah ke layanan cloud non-gratis. (satu hari kerja).
  2. Menambahkan kompresor sampah ke tempat sampah, sehingga mengurangi frekuensi pengosongannya. (4 bulan kerja)
  3. Bekerja dengan tong sampah perkotaan dan industri untuk meningkatkan efisiensi truk kota yang menangani sampah di kota. Ini berarti akan sangat meningkatkan dasbor dan sistem notifikasi sehingga pengemudi truk dapat merencanakan rute mereka dengan lebih baik saat menangani sampah. (6 bulan kerja).
  4. Menambahkan kemampuan daur ulang ke tempat sampah, seperti kemampuan menuangkan larutan biologis khusus ke dalam sampah dan membantu mendaur ulangnya saat masih berada di dalam tempat sampah. Ini dapat digunakan di dalam negeri misalnya untuk menghasilkan kompos untuk kebun, tetapi jelas dapat digunakan juga pada kaleng industri. (6 bulan kerja).

Direkomendasikan: