Daftar Isi:

Sistem Makanan, Air, dan Monitor Terhubung IDC2018IOT: 7 Langkah
Sistem Makanan, Air, dan Monitor Terhubung IDC2018IOT: 7 Langkah

Video: Sistem Makanan, Air, dan Monitor Terhubung IDC2018IOT: 7 Langkah

Video: Sistem Makanan, Air, dan Monitor Terhubung IDC2018IOT: 7 Langkah
Video: Sistem Monitoring Kondisi Air di Aquarium Berbasis IoT Internet Of Things 2024, November
Anonim
Image
Image
Sistem Makanan, Air, dan Monitor Terhubung IDC2018IOT
Sistem Makanan, Air, dan Monitor Terhubung IDC2018IOT

pengantar

Apakah Anda seorang pelajar di bawah tekanan, orang yang bekerja keras, atau hanya jauh dari rumah selama lebih dari beberapa jam sehari. Sebagai pemilik hewan peliharaan yang peduli, kami ingin memastikan orang yang kami cintai tetap sehat, diberi makan dan tentu saja TIDAK berbaring di sofa (bajingan!). Sudah waktunya untuk berhenti meminta bantuan, atau bahkan membayar untuk layanan semacam itu.

Dengan proyek keren ini, kami bertujuan untuk memberi Anda kemampuan untuk melakukannya sendiri (saya dengar itu sekarang). Kami akan membangun solusi untuk memantau hewan peliharaan kami dengan lebih baik, dan bahkan mengambil tindakan saat berada di kantor, sekolah atau hanya bergaul dengan teman atau orang penting lainnya.

Sistem ini akan memungkinkan Anda memberi makan hewan peliharaan Anda dari jarak jauh sambil mengontrol jumlah makanan yang Anda tuangkan dari wadah, mengisi mangkuk air setiap kali kosong. Selain itu, kita sekarang dapat memantau ketinggian air mangkuk secara real time, mengukur isi wadah makanan, dan yang terpenting menonton hewan peliharaan secara langsung dengan menggunakan modul kamera sederhana.

Tentang kami

Tomer Maimon, Gilad Ram dan Alon Shprung. Tiga mahasiswa Ilmu Komputer yang bersemangat dari IDC Herzeliya. Ini adalah proyek Instructables pertama kami sebagai bagian dari lokakarya IoT - kami harap Anda akan menganggapnya menarik dan menyenangkan untuk dibuat!

Langkah 1: Memahami Arsitektur:

Memahami Arsitektur
Memahami Arsitektur
Memahami Arsitektur
Memahami Arsitektur

Kita dapat membagi sistem ini menjadi dua bagian utama:

  1. Saluran Data Masuk:

    • Sensor air - pengambilan sampel ketinggian air di dalam mangkuk hewan peliharaan, data dikirim dari unit Node-MCU ke server Blynk dan akhirnya disajikan melalui Dasbor Hewan Peliharaan.
    • Sensor sonar - pengambilan sampel konten wadah makanan, data ditransmisikan dari unit Arduino (dengan ekstensi perisai Ethernet) ke server Blynk dan akhirnya disajikan melalui Dasbor Hewan Peliharaan.
    • Modul Kamera Pi - terus-menerus mengambil sampel bingkai dari area hewan peliharaan, Pi menghosting servernya sendiri yang menyediakan umpan langsung ke Dasbor hewan peliharaan.
  2. Alur Perintah:

    • Tombol Umpan (Dasbor) - memperbarui nilai pin virtual melalui Blynk, fungsi yang relevan dipicu di papan Arduino, Servo kemudian bergerak untuk memungkinkan makanan melewati tutupnya.
    • Berikan Air (Dasbor) - secara aktif memperbarui nilai pin virtual melalui Blynk, fungsi yang relevan dipicu pada papan Node-MCU, relai diaktifkan, pompa air akan mulai mengalirkan air ke mangkuk hewan peliharaan.
    • Umpan Langsung Hewan Peliharaan (Dasbor) - tertanam di dalam dasbor, dan menyajikan data langsung melalui server labu yang berjalan di perangkat Pi.

Langkah 2: Daftar Bagian

Daftar Bagian
Daftar Bagian
Daftar Bagian
Daftar Bagian
Daftar Bagian
Daftar Bagian

Untuk mulai mengerjakan sistem ini, Anda memerlukan bagian berikut (atau serupa):

  1. Fisik:

    • Wadah Makanan: Kami menggunakan pipa dua sisi industri 45cm, yang kami beli di department store rumah. Sangat penting untuk memiliki 2 pintu keluar. Satu untuk mengukur konten, dan keluar kedua untuk mekanisme buka/tutup.
    • Lakban: Untuk menyatukan semuanya;)
    • Kabel Jumper: Semakin banyak semakin meriah, selalu baik untuk memiliki beberapa tambahan jika terjadi kesalahan.
    • Kabel Ethernet: Untuk menghubungkan Arduino kami (dengan pelindung ethernet) ke internet.
    • Gardening Can: Digunakan sebagai wadah air dan pompa air.
    • Tabung Air Pendek: Terhubung ke pompa dan menuangkan air ke mangkuk hewan peliharaan.
  2. Sensor:

    • Sensor Ketinggian Air WINGONEER: Ukur ketinggian air di dalam mangkuk hewan peliharaan.
    • Sensor Sonar - Ukur jarak level makanan dari tutup atas di dalam wadah.
    • TONGLING Relay: Memungkinkan kita untuk menghidupkan/mematikan pompa air yang mengalirkan air.
    • Modul Kamera Pi: Terhubung ke perangkat Pi raspberry, dan mengalirkan gambar dari area hewan peliharaan.
    • Servo Generik: Mengunci dan Membuka kunci wadah makanan.
  3. Perangkat / Papan Elektronik:

    • Arduino Uno: Mengontrol implementasi unit wadah makanan.
    • Arduino Ethernet Shield: Menyediakan koneksi internet ke board kami.
    • NodeMCU(ESP-8266): Mengontrol unit air, baik untuk mengukur maupun menuangkan air. Papan ini memiliki kemampuan untuk terhubung melalui WiFi.
    • Raspberry Pi 3 - menghosting server kamera dan menyediakan umpan langsung ke dasbor hewan peliharaan.
    • Pompa Air Submersible VicTsing 80 GPH: Mengalirkan air dari kaleng berkebun ke mangkuk, bersama dengan tabung air.

Langkah 3: Menghubungkan dan Menempatkan Benda Bersama

Menghubungkan dan Menempatkan Benda Bersama
Menghubungkan dan Menempatkan Benda Bersama
Menghubungkan dan Menempatkan Benda Bersama
Menghubungkan dan Menempatkan Benda Bersama
Menghubungkan dan Menempatkan Benda Bersama
Menghubungkan dan Menempatkan Benda Bersama

Pengkabelan

Sebelum kita mulai, disarankan untuk menempatkan Arduino / Node-MCU di papan tempat memotong roti agar lebih mudah untuk menyatukan semua kabel dan menempatkannya di lokasi fisik mana pun. Selain itu, disarankan untuk menggunakan kabel yang panjang untuk mencegah kesalahan yang berasal dari pelepasan kabel. Kami memberi Anda diagram pengkabelan untuk Node-MCU (Unit Air) dan Arduino (Unit Makanan).

  1. Unit Makanan (Arduino):

    • Sensor sonar:

      • GND (Hitam) = GND
      • VCC (Merah) = 5V
      • Trigonometri (Ungu) = 3
      • Gema (Biru) = 4
    • Servo:

      • GND (Hitam) = GND
      • VCC (Merah) = 5V
      • Sinyal (Kuning) = 9
  2. Satuan Air (Node):

    • Sensor Ketinggian Air:

      • S (Biru) = A0
      • + (Merah) = 3v3
      • - (Hitam) = GND
    • Relay (kabel listrik ke pompa air):

      • IN (Kuning) = D1
      • VCC (Merah) = Vin
      • GND (Hitam) = GND
  3. Unit Kamera (Pi):

    • Sensor Kamera:

      • Hubungkan ke port kamera tunggal Pi (kabel fluks)
      • Jika Anda ingin mempelajari lebih lanjut tentang Pi dengan modul kamera - Tautan

Merakit Bagian Bersama

Di bagian ini, Anda dipersilakan untuk menyesuaikan dan memodifikasi proyek ini untuk "menjadikannya milik Anda". Tetapi kami akan memberi Anda gambar dan deskripsi untuk merekonstruksi versi produk kami.

  1. Unit Makanan (Arduino): Wadahnya cukup lurus ke depan, kami akan fokus membuat dua tutupnya.

    • Tutup atas: Potong 2 lubang di tutupnya agar sensor Sonar dapat masuk (lihat gambar terlampir).
    • Tutup bawah + Mekanisme: Mulailah dengan mengambil salah satu attachment plastik (disediakan dengan sensor servo) dan buat bentuk "Sledge Hammer" menggunakan lakban / tongkat kayu (kami hanya menggunakan selotip). Selanjutnya, pasang servonya. Sekarang, kita membutuhkan 2 lubang pada tutupnya sendiri. Yang pertama harus memungkinkan servo untuk menyesuaikan dengan mekanisme yang kami buat yang ditempatkan di "sisi dalam" tutupnya. Potong lubang lain berdasarkan sisi "kepala palu" yang Anda buat. Dengan cara ini, setiap kali servo terbuka, ekor palu akan menyapu makanan ke arah pintu keluar dan mencegah potongan besar saling menempel.
  2. Unit Air (Node-MCU): Cukup sambungkan tabung air ke pompa air, sekarang letakkan di dalam kaleng berkebun (pastikan Anda TIDAK menempatkan bagian yang salah dengan relai dan kabel listrik di dalam air).
  3. Unit Kamera: Yang perlu Anda lakukan hanyalah menempatkan Pi dengan modul kamera di lokasi pilihan Anda.

Langkah 4: Siapkan Blynk

Siapkan Blynk
Siapkan Blynk
Siapkan Blynk
Siapkan Blynk

Semua kemampuan jarak jauh dalam proyek ini didasarkan pada Blynk. Layanan ini pada dasarnya memberi kami Web-Server dan RESTful API gratis untuk berkomunikasi dengan perangkat Arduino/Node-MCU kami melalui internet menggunakan protokol HTTP. Blynk memungkinkan kami untuk menentukan pin virtual, yang akan digunakan sebagai alamat untuk menjalankan fungsi spesifik yang terkait dengan menuangkan air, memberi makan, dan mengambil sampel berbagai sensor (kami melakukan bagian itu untuk Anda, yang perlu Anda lakukan hanyalah mendapatkan token aplikasi Anda sendiri, yang akan dijelaskan selanjutnya).

Cara Mendapatkan Token Otentikasi Blynk Saya

  1. Unduh aplikasi Blynk melalui AppStore / PlayStore untuk perangkat seluler Anda.
  2. Mendaftar untuk layanan ini (gratis untuk digunakan).
  3. Mulai proyek baru, pastikan untuk memilih perangkat yang benar (dalam kasus kami ESP8266).
  4. Setelah pembuatan, email dengan AUTHENTICATION TOKEN akan dikirim - Simpan token untuk langkah selanjutnya.

Catatan: Blynk dapat digunakan sepenuhnya melalui aplikasi, tetapi kami memutuskan untuk menerapkan dasbor khusus kami sendiri.

Terakhir, untuk melanjutkan ke langkah berikutnya, Anda harus mengunduh & menginstal perpustakaan Blynk - Tautan (lewati ke bagian 3)

Langkah 5: Konfigurasikan Wadah Makanan, Pompa Air & Kamera Langsung

Konfigurasikan Wadah Makanan, Pompa Air & Kamera Langsung
Konfigurasikan Wadah Makanan, Pompa Air & Kamera Langsung
Konfigurasikan Wadah Makanan, Pompa Air & Kamera Langsung
Konfigurasikan Wadah Makanan, Pompa Air & Kamera Langsung

Pada titik ini, kami selesai merakit semua bagian bersama-sama dan mendapatkan blynkAuthAppToken kami (lihat langkah 3).

Kami menyediakan semua kode yang Anda butuhkan untuk menjalankan proyek ini, yang harus Anda lakukan hanyalah mengubah beberapa variabel dalam kode, yang akan menjadikannya sistem pribadi "milik Anda".

Pertama-tama, mulailah dengan mengunduh Arduino IDE (jika Anda belum melakukannya) - Tautan

wadah makanan arduino

  1. Siapkan IDE ke papan Arduino: Alat -> Papan -> Arduino/Genuino Uno
  2. Pastikan Anda telah menginstal perpustakaan ini: Sketsa -> Sertakan Perpustakaan -> Kelola Perpustakaan

    Relay (Oleh Rafael)

  3. Buka file sketsa PetFeeder.ino, konfigurasikan params berikut (lihat gambar terlampir untuk bantuan):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Kompilasi & Unggah sketsa ke perangkat Arduino Anda.

Unit Air Node-MCU

  1. Siapkan IDE ke papan Node-MCU:

    Lihat bagian pertama instruksi ini untuk penjelasan rinci

  2. Pastikan Anda telah menginstal perpustakaan ini: Sketsa -> Sertakan Perpustakaan -> Kelola Perpustakaan

    Manajer WiFi (Oleh tzapu)

  3. Buka file sketsa PetFeeder.ino, konfigurasikan params berikut (lihat gambar terlampir untuk bantuan):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "ANDA_WIFI_SSID"; // Pada dasarnya itu adalah nama jaringan WiFi Anda
    • pass = "ANDA_WIFI_PASSWORD"; // jika Anda tidak memiliki kata sandi, gunakan string kosong ""
  4. Kompilasi & Unggah sketsa ke perangkat Node-MCU Anda.

Modul Kamera Pi Langsung

  1. Hubungkan modul kamera pi
  2. Jalankan " sudo raspi-config " dan atur opsi "kamera" aktifkan.
  3. Uji kamera menggunakan perintah "raspistill" untuk mengambil gambar

    r aspistill -o image.jpg

  4. Setel server kamera web Flask:

    • Instal semua persyaratan menggunakan pip install -r requirements.txt
    • Gunakan python untuk menjalankan camera_server.py
    • Lihat di 127.0.0.1:5000/video_feed
  5. Setel server web Flask untuk berjalan saat boot:

    • Tambahkan baris berikut ke /etc/rc.local (sebelum baris keluar):

      python /camera_server.py

Langkah 6: Cara Menggunakan Panel Kontrol

Cara Menggunakan Panel Kontrol
Cara Menggunakan Panel Kontrol

Mempersiapkan

Bagian ini cukup sederhana, yang harus Anda lakukan adalah memasukkan "blynk app token" ke file "index.js" sebagai berikut:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // gunakan token yang sama dari langkah sebelumnya.

Penggunaan

  1. Buka dasbor dengan mengklik dua kali pada file "index.html".
  2. Dasbor akan mengambil sampel sistem secara otomatis setiap 10 menit.
  3. Tindakan Wadah Air & Makanan dapat dilakukan secara manual.
  4. Tombol "Beri Air" dan "Umpan" digunakan untuk secara aktif menyediakan makanan & air bagi hewan peliharaan Anda.
  5. Bagian bawah dashboard, akan menyajikan live feed dari modul kamera jika Anda mengikuti petunjuk langkah sebelumnya dengan seksama.

Catatan: Jika Anda ingin menyesuaikan berapa kali wadah makanan terbuka saat Anda memberi makan, buka file "index.js" dan ubah "nilai" pada baris berikutnya dari "3" ke nomor pilihan Anda:

fetch(baseURL + '/update/V1?value=3');

Langkah 7: Tantangan, Batasan, dan Rencana Masa Depan

Tantangan

Tantangan utama bagi kami dalam proyek ini, terkait dengan merancang mekanisme buka/tutup wadah makanan dan membuat kode bersamaan yang stabil untuk mengontrol dan mengukur unit makanan. Saya percaya kami mencoba setidaknya 4 versi berbeda sampai kami puas. Perhatian utama adalah makanan yang menghalangi jalan keluar. Untuk mencegahnya, kami memilih desain Sledge-Hammer, dengan cara ini setiap kali kita membuka wadah, ekor "palu" menyapu makanan ke arah pintu keluar. Selain itu, menggunakan tabung dua sisi membuat hidup kita lebih sederhana saat membangun wadah makanan. Objek tersebut sangat cocok untuk menempatkan mekanisme keluar di satu sisi, dan sensor jarak di sisi lain untuk mengukur isinya.

Batas

Pada fase proyek ini, ada beberapa batasan pada sistem:

  1. Ini tidak sepenuhnya otomatis, artinya memberi makan dan menuangkan air dilakukan secara manual melalui dasbor pemantauan tanpa penjadwal cerdas (yang dapat ditambahkan di masa mendatang, atau diterapkan oleh Anda!).
  2. Dasbor berjalan secara lokal dari laptop Anda sendiri, agar lebih mudah diakses dapat di-host di platform populer seperti "Heroku".
  3. Kami menggunakan modul kamera yang sangat sederhana, yang dapat diganti dengan modul yang jauh lebih rumit untuk memungkinkan kualitas gambar yang lebih baik dan kemungkinan penambahan saluran komunikasi dengan hewan peliharaan Anda (menggunakan speaker).

Rencana masa depan

Jika kami memiliki waktu dan anggaran untuk terus mengembangkan sistem ini, kami memiliki beberapa ide dan kemungkinan jadwal dalam pikiran:

  1. Menambahkan sistem penjadwalan otomatis untuk memberi makan hewan peliharaan - 2 ~ 3 hari kerja.
  2. Membangun situs web untuk memungkinkan pengguna sistem kami membuat dasbor khusus yang dihosting secara online dan dapat diakses dari perangkat apa pun yang terhubung - pengerjaan 1-2 bulan.
  3. Bekerja pada versi industri untuk sistem ini, memungkinkan lebih banyak pemilik hewan peliharaan untuk lebih mengontrol dan berkomunikasi dengan hewan peliharaan mereka secara online, kami mendapat banyak minat dari teman-teman yang melihat hasil dari Instruksi ini. Jadi, jika Anda memiliki semangat waktu untuk membawa proyek ke tingkat berikutnya - Anda memiliki dukungan penuh!

Kami harap Anda menikmati membaca (dan semoga membangun!) proyek ini:)

Direkomendasikan: