Isi kandungan:

IDC2018IOT Sistem Makanan, Air dan Monitor Haiwan Peliharaan yang Disambungkan: 7 Langkah
IDC2018IOT Sistem Makanan, Air dan Monitor Haiwan Peliharaan yang Disambungkan: 7 Langkah

Video: IDC2018IOT Sistem Makanan, Air dan Monitor Haiwan Peliharaan yang Disambungkan: 7 Langkah

Video: IDC2018IOT Sistem Makanan, Air dan Monitor Haiwan Peliharaan yang Disambungkan: 7 Langkah
Video: Night 2024, November
Anonim
Image
Image
IDC2018IOT Sistem Makanan, Air dan Monitor Haiwan Peliharaan yang Terhubung
IDC2018IOT Sistem Makanan, Air dan Monitor Haiwan Peliharaan yang Terhubung

Pengenalan

Sama ada anda seorang pelajar yang berada dalam tekanan, orang yang rajin bekerja, atau jauh dari rumah selama lebih dari beberapa jam sehari. Sebagai pemilik haiwan peliharaan yang prihatin, kami ingin memastikan orang yang kami sayangi kekal sihat, diberi makan dan tentu saja TIDAK berbaring di sofa (anda bajingan!). Sudah tiba masanya untuk berhenti meminta bantuan, atau bahkan membayar perkhidmatan tersebut.

Dengan projek yang hebat ini, kami berhasrat untuk memberi anda kemampuan untuk melakukannya sendiri (saya dengar sekarang ini adalah perkara penting). Kami akan membina penyelesaian untuk memantau haiwan kesayangan kami dengan lebih baik, dan bahkan mengambil tindakan ketika berada di pejabat, sekolah atau hanya bergaul dengan rakan-rakan kami atau yang lain.

Sistem ini akan membolehkan anda memberi makan haiwan kesayangan anda dari jauh sambil mengawal jumlah makanan yang anda tuangkan dari bekas, mengisi mangkuk air setiap kali ia kosong. Sebagai tambahan, kita sekarang dapat memantau paras air mangkuk secara real time, mengukur kandungan bekas makanan dan yang paling penting menonton haiwan peliharaan secara langsung dengan menggunakan modul kamera sederhana.

Tentang kita

Tomer Maimon, Gilad Ram dan Alon Shprung. Tiga pelajar Sains Komputer yang bersemangat IDC Herzeliya. Ini adalah projek Instructables pertama kami sebagai sebahagian daripada bengkel IoT - kami harap anda dapat membuatnya menarik dan menyeronokkan untuk dibina!

Langkah 1: Memahami Senibina:

Memahami Senibina
Memahami Senibina
Memahami Senibina
Memahami Senibina

Kita boleh membahagikan sistem ini kepada dua bahagian utama:

  1. Saluran Data Masuk:

    • Sensor air - mengambil sampel paras air di dalam mangkuk peliharaan, data dihantar dari unit Node-MCU ke pelayan Blynk dan akhirnya disajikan melalui Pet Dashboard.
    • Sensor Sonar - mengambil sampel kandungan makanan, data dihantar dari unit Arduino (dengan pelanjutan pelindung Ethernet) ke pelayan Blynk dan akhirnya disajikan melalui Pet Dashboard.
    • Modul Kamera Pi - sentiasa mengambil sampel bingkai kawasan haiwan peliharaan, Pi mengehoskan pelayannya sendiri yang menyediakan makanan langsung ke Dashboard haiwan peliharaan.
  2. Aliran Perintah:

    • Feed Button (Dashboard) - mengemas kini nilai pin maya melalui Blynk, fungsi yang berkaitan dipicu pada papan Arduino, Servo kemudian bergerak untuk membolehkan makanan melewati penutup.
    • Give Water (Dashboard) - secara aktif mengemas kini nilai pin maya melalui Blynk, fungsi yang berkaitan dipicu pada papan Node-MCU, relay dihidupkan ke ON, pam air akan mula mengalirkan air ke mangkuk haiwan kesayangan.
    • Pet Live Feed (Dashboard) - tertanam di dalam dashboard, dan menyajikan data langsung melalui pelayan termos yang berjalan pada peranti Pi.

Langkah 2: Senarai Bahagian

Senarai Bahagian
Senarai Bahagian
Senarai Bahagian
Senarai Bahagian
Senarai Bahagian
Senarai Bahagian

Untuk mula mengerjakan sistem ini, anda memerlukan bahagian berikut (atau serupa):

  1. Fizikal:

    • Bekas Makanan: Kami menggunakan paip dua sisi industri 45cm, yang kami beli di sebuah department store rumah. Penting untuk mempunyai 2 jalan keluar. Satu untuk mengukur kandungan, dan keluar kedua untuk mekanisme buka / tutup.
    • Pita Saluran: Untuk menjaga kesatuan;)
    • Jumper Wires: Semakin meriah, selalu ada kebaikan jika ada yang tidak kena.
    • Kabel Ethernet: Untuk menghubungkan Arduino kami (dengan perisai ethernet) ke internet.
    • Tukang Berkebun: Digunakan sebagai bekas untuk air dan pam air.
    • Tiub Air Pendek: Disambungkan ke pam dan menuangkan air ke mangkuk haiwan kesayangan.
  2. Sensor:

    • Sensor Tahap Air WINGONEER: Ukur paras air di dalam mangkuk haiwan kesayangan.
    • Sonar Sensor - Ukur jarak paras makanan dari penutup atas di dalam bekas.
    • TONGLING Relay: Membolehkan kita menghidupkan / mematikan pam air yang mengalirkan air.
    • Modul Kamera Pi: Disambungkan ke peranti Pi raspberry, dan menyiarkan gambar kawasan haiwan peliharaan.
    • Servo Generik: Mengunci dan membuka kunci bekas makanan.
  3. Peranti / Papan Elektronik:

    • Arduino Uno: Mengawal pelaksanaan unit bekas makanan.
    • Arduino Ethernet Shield: Menyediakan sambungan internet ke papan kami.
    • NodeMCU (ESP-8266): Mengawal unit air, baik untuk mengukur dan menuangkan air. Papan ini mempunyai keupayaan untuk menyambung melalui WiFi.
    • Raspberry Pi 3 - menghoskan pelayan kamera dan menyediakan makanan langsung ke papan pemuka haiwan kesayangan.
    • VicTsing 80 GPH Submersible Water Pump: Mengalirkan air dari tong berkebun ke mangkuk, bersama dengan tabung air.

Langkah 3: Pendawaian dan Menempatkan Perkara Bersama

Pendawaian dan Menempatkan Perkara Bersama
Pendawaian dan Menempatkan Perkara Bersama
Pendawaian dan Menempatkan Perkara Bersama
Pendawaian dan Menempatkan Perkara Bersama
Pendawaian dan Menempatkan Perkara Bersama
Pendawaian dan Menempatkan Perkara Bersama

Pendawaian

Sebelum kita memulakan, disarankan untuk meletakkan Arduino / Node-MCU di papan roti untuk memudahkan pemasangan semua wayar dan meletakkannya di mana-mana lokasi fizikal. Di samping itu, disarankan untuk menggunakan wayar panjang untuk mengelakkan kesalahan yang disebabkan oleh pemutusan kabel. Kami menyediakan gambarajah pendawaian untuk Node-MCU (Unit Air) dan Arduino (Unit Makanan).

  1. Unit Makanan (Arduino):

    • Sensor Sonar:

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

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

    • Sensor Tahap Air:

      • S (Biru) = A0
      • + (Merah) = 3v3
      • - (Hitam) = GND
    • Relay (berwayar elektrik ke pam air):

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

    • Sensor Kamera:

      • Sambungkan ke port kamera tunggal Pi (kabel fluks)
      • Sekiranya anda ingin mengetahui lebih lanjut mengenai Pi dengan modul kamera - Pautan

Memasang Bahagian Bersama

Di bahagian ini, anda dipersilakan untuk menyesuaikan dan mengubahsuai projek ini untuk "menjadikannya milik anda". Tetapi kami akan memberi anda gambar dan keterangan untuk menyusun semula versi produk kami.

  1. Unit Makanan (Arduino): Bekasnya agak lurus ke depan, kami akan menumpukan pada pembuatan dua penutup.

    • Tudung atas: Potong 2 lubang pada penutup agar sensor Sonar masuk (lihat gambar yang dilampirkan).
    • Tudung bawah + Mekanisme: Mulakan dengan mengambil salah satu alat plastik (disediakan dengan sensor servo) dan bina bentuk "Sledge Hammer" menggunakan pita saluran / tongkat kayu (kami hanya menggunakan pita). Seterusnya, pasangkan servo. Sekarang, kita memerlukan 2 lubang pada penutupnya sendiri. Yang pertama harus membolehkan servo sesuai dengan mekanisme yang kita bina di tempat di "bahagian dalam" penutup. Potong lubang lain berdasarkan sisi "kepala tukul" yang anda hasilkan. Dengan cara ini, setiap kali servo dibuka, ekor tukul akan menyapu makanan ke arah pintu keluar dan mencegah dari kepingan besar untuk tersekat.
  2. Unit Air (Node-MCU): Sambungkan tiub air ke pam air, sekarang letakkan di dalam tin berkebun (pastikan anda JANGAN meletakkan bahagian yang salah dengan relay dan wayar elektrik di dalam air).
  3. Unit Kamera: Yang perlu anda lakukan ialah meletakkan Pi dengan modul kamera di lokasi pilihan anda.

Langkah 4: Siapkan Blynk

Persediaan Blynk
Persediaan Blynk
Persediaan Blynk
Persediaan Blynk

Semua keupayaan jarak jauh dalam projek ini berdasarkan Blynk. Perkhidmatan ini pada dasarnya memberi kami Pelayan Web dan RESTful API percuma untuk berkomunikasi dengan peranti Arduino / Node-MCU kami melalui internet menggunakan protokol HTTP. Blynk membolehkan kami menentukan pin maya, yang akan digunakan sebagai alamat untuk melaksanakan fungsi tertentu yang berkaitan dengan menuangkan air, memberi makan dan mengambil sampel sensor yang berbeza (kami melakukan bahagian itu untuk anda, yang perlu anda lakukan adalah mendapatkan token aplikasi anda sendiri, yang akan dijelaskan seterusnya).

Cara Mendapatkan Token Pengesahan Blynk Saya

  1. Muat turun aplikasi Blynk melalui AppStore / PlayStore untuk peranti mudah alih anda.
  2. Daftar untuk perkhidmatan ini (ia boleh digunakan secara percuma).
  3. Mulakan projek baru, pastikan untuk memilih peranti yang betul (dalam kes kita ESP8266).
  4. Selepas dibuat, e-mel dengan TOKEN OTENTIK akan dihantar - Simpan token untuk langkah seterusnya.

Catatan: Blynk dapat digunakan sepenuhnya melalui aplikasi, tetapi kami memutuskan untuk melaksanakan papan pemuka kami sendiri.

Akhirnya, untuk meneruskan ke langkah seterusnya, anda harus memuat turun & memasang perpustakaan Blynk - Pautan (lompat ke bahagian 3)

Langkah 5: Konfigurasikan Bekas Makanan, Pam Air & Kamera Langsung

Konfigurasikan Bekas Makanan, Pam Air & Kamera Langsung
Konfigurasikan Bekas Makanan, Pam Air & Kamera Langsung
Konfigurasikan Bekas Makanan, Pam Air & Kamera Langsung
Konfigurasikan Bekas Makanan, Pam Air & Kamera Langsung

Pada ketika ini, kami selesai mengumpulkan semua bahagian dan mengumpulkan blynkAuthAppToken kami (lihat langkah 3).

Kami memberi anda semua kod yang anda perlukan untuk menjalankan projek ini, yang harus anda lakukan adalah mengubah beberapa pemboleh ubah dalam kod tersebut, yang akan menjadikannya sistem peribadi anda sendiri.

Pertama sekali, mulakan dengan memuat turun Arduino IDE (jika anda belum melakukannya) - Pautan

Bekas Makanan Arduino

  1. Sediakan IDE ke papan Arduino: Alat -> Papan -> Arduino / Genuino Uno
  2. Pastikan anda memasang perpustakaan ini: Sketsa -> Sertakan Perpustakaan -> Uruskan Perpustakaan

    Relay (Oleh Rafael)

  3. Buka fail lakaran PetFeeder.ino, konfigurasikan parameter berikut (lihat gambar terlampir untuk bantuan):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Susun & Muat naik lakaran ke peranti Arduino anda.

Unit Air Node-MCU

  1. Sediakan IDE ke papan Node-MCU:

    Lihat bahagian pertama arahan ini untuk penjelasan terperinci

  2. Pastikan anda memasang perpustakaan ini: Sketsa -> Sertakan Perpustakaan -> Uruskan Perpustakaan

    Pengurus WiFi (Oleh tzapu)

  3. Buka fail lakaran PetFeeder.ino, konfigurasikan parameter berikut (lihat gambar terlampir untuk bantuan):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "YOUR_WIFI_SSID"; // Pada dasarnya ia adalah nama rangkaian WiFi anda
    • lulus = "YOUR_WIFI_PASSWORD"; // jika anda tidak mempunyai kata laluan, gunakan string kosong ""
  4. Susun & Muat naik lakaran ke peranti Node-MCU anda.

Modul Pi Live Camera

  1. Sambungkan modul kamera pi
  2. Jalankan "sudo raspi-config" dan tetapkan pilihan "kamera" aktifkan.
  3. Uji kamera menggunakan arahan "raspistill" untuk menangkap gambar

    r aspistill -o image.jpg

  4. Tetapkan pelayan kamera web Flask:

    • Pasang semua keperluan menggunakan pip install -r requirements.txt
    • Gunakan python untuk menjalankan camera_server.py
    • Lihat di 127.0.0.1:5000/video_feed
  5. Tetapkan pelayan web Flask untuk dijalankan semasa boot:

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

      python /camera_server.py

Langkah 6: Cara Menggunakan Panel Kawalan

Cara Menggunakan Panel Kawalan
Cara Menggunakan Panel Kawalan

Persediaan

Bahagian ini agak mudah, yang harus anda lakukan ialah memasukkan fail "blynk app token" ke "index.js" seperti berikut:

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

Penggunaan

  1. Buka papan pemuka dengan mengklik dua kali pada fail "index.html".
  2. Papan pemuka akan mengambil sampel sistem secara automatik setiap 10 minit.
  3. Langkah-langkah Bekas Air & Makanan boleh diambil secara manual.
  4. Butang "Beri Air" dan "Umpan" digunakan untuk membekalkan makanan & air kepada haiwan kesayangan anda secara aktif.
  5. Bahagian bawah papan pemuka, akan memberikan suapan langsung dari modul kamera jika anda mengikuti arahan langkah sebelumnya dengan teliti.

Catatan: Sekiranya anda ingin menyesuaikan berapa kali bekas makanan dibuka semasa anda memberi makan, buka fail "index.js" dan ubah "nilai" pada baris seterusnya dari "3" ke sebilangan nombor pilihan anda:

ambil (baseURL + '/ kemas kini / V1? nilai = 3');

Langkah 7: Cabaran, Had dan Rancangan Masa Depan

Cabaran

Cabaran utama bagi kami dalam projek ini, adalah berkaitan dengan merancang mekanisme buka / tutup bekas makanan dan membuat kod serentak yang stabil untuk mengawal dan mengukur unit makanan. Saya percaya kami mencuba sekurang-kurangnya 4 versi berbeza sehingga kami berpuas hati. Kebimbangan utama adalah makanan yang menghalang jalan keluar. Untuk mengelakkannya, kami memilih reka bentuk Sledge-Hammer, dengan cara ini setiap kali kami membuka bekas, ekor "tukul" menyapu makanan ke arah pintu keluar. Lebih-lebih lagi, menggunakan tiub dua sisi menjadikan kehidupan kita lebih mudah semasa membina bekas makanan. Objek sedemikian sangat sesuai untuk meletakkan mekanisme keluar di satu sisi, dan sensor jarak di sisi lain untuk mengukur kandungannya.

Had

Pada fasa projek ini, terdapat sedikit batasan pada sistem:

  1. Ini tidak automatik sepenuhnya, yang bermaksud bahawa memberi makan dan menuangkan air dilakukan secara manual melalui papan pemuka pemantauan tanpa penjadual pintar (yang dapat ditambahkan pada masa akan datang, atau dilaksanakan oleh anda!).
  2. Papan pemuka berjalan secara tempatan dari komputer riba anda sendiri, agar lebih mudah diakses, ia boleh dihoskan di platform popular seperti "Heroku".
  3. Kami menggunakan modul kamera yang sangat mudah, yang dapat diganti dengan modul yang jauh lebih rumit untuk membolehkan kualiti gambar lebih baik dan kemungkinan penambahan saluran komunikasi dengan haiwan kesayangan anda (menggunakan pembesar suara).

Rancangan masa hadapan

Sekiranya kita mempunyai masa dan anggaran untuk terus mengembangkan sistem ini, kita mempunyai beberapa idea dan kemungkinan jadual:

  1. Menambah sistem penjadualan automatik untuk makan haiwan peliharaan - 2 ~ 3 hari bekerja.
  2. Membangun laman web untuk membolehkan pengguna sistem kami membuat papan pemuka yang disesuaikan yang dihoskan dalam talian dan dapat diakses dari mana-mana peranti yang disambungkan - 1-2 bulan bekerja.
  3. Mengusahakan versi perindustrian untuk sistem ini, yang membolehkan lebih banyak pemilik haiwan peliharaan dapat mengawal dan berkomunikasi dengan lebih baik dengan haiwan kesayangan mereka secara dalam talian, kami mendapat banyak minat dari rakan-rakan yang melihat hasil Instruktif ini. Oleh itu, jika anda mempunyai kesungguhan untuk mengambil projek ke peringkat seterusnya - anda mempunyai sokongan penuh!

Kami harap anda seronok membaca (dan semoga membina!) Projek ini:)

Disyorkan: