فهرست مطالب:

IDC2018IOT سیستم تغذیه ، آب و مانیتور حیوان خانگی متصل: 7 مرحله
IDC2018IOT سیستم تغذیه ، آب و مانیتور حیوان خانگی متصل: 7 مرحله

تصویری: IDC2018IOT سیستم تغذیه ، آب و مانیتور حیوان خانگی متصل: 7 مرحله

تصویری: IDC2018IOT سیستم تغذیه ، آب و مانیتور حیوان خانگی متصل: 7 مرحله
تصویری: TOP 5 IoT PROJECTS || IoT Final Year Project Ideas || Electronic Engineering Project Ideas. 2024, جولای
Anonim
Image
Image
IDC2018IOT سیستم تغذیه ، آب و مانیتور حیوان خانگی متصل شده است
IDC2018IOT سیستم تغذیه ، آب و مانیتور حیوان خانگی متصل شده است

معرفی

چه دانش آموزی تحت فشار باشید ، فردی سخت کوش باشید ، یا به سادگی بیش از چند ساعت در روز در خارج از خانه باشید. ما به عنوان صاحبان حیوانات خانگی دلسوز ، می خواهیم مطمئن شویم که عزیزانمان سالم ، تغذیه شده و البته روی مبل دراز نمی کشند (ای حرامزاده!). زمان آن رسیده است که درخواست نعمت یا حتی پرداخت هزینه چنین خدماتی را متوقف کنید.

هدف ما از انجام این پروژه جالب این است که به شما این توانایی را بدهیم که خودتان انجام دهید (من شنیدم که اکنون یک چیز است). ما راه حلی برای نظارت بهتر بر حیوانات خانگی خود ایجاد می کنیم و حتی در هنگام حضور در دفتر ، مدرسه یا صرف معاشرت با دوستان یا افراد مهم دیگر اقدام می کنیم.

این سیستم به شما این امکان را می دهد که حیوان خانگی خود را از راه دور تغذیه کنید ، در حالی که میزان غذایی که از ظرف می ریزید را کنترل کنید ، هر زمان که کاسه آب خالی شد ، آن را پر کنید. علاوه بر این ، اکنون می توانیم سطح آب کاسه را در زمان واقعی کنترل کنیم ، محتوای ظرف غذا را اندازه گیری کنیم و از همه مهمتر با استفاده از یک ماژول دوربین ساده ، حیوان خانگی را به طور زنده تماشا کنیم.

درباره ما

Tomer Maimon ، Gilad Ram و Alon Shprung. سه دانشجوی پرشور علوم کامپیوتر از IDC Herzeliya. این اولین پروژه Instructables ما به عنوان بخشی از کارگاه اینترنت اشیا است - امیدواریم ساخت آن برای شما جالب و سرگرم کننده باشد!

مرحله 1: درک معماری:

آشنایی با معماری
آشنایی با معماری
آشنایی با معماری
آشنایی با معماری

ما می توانیم این سیستم را به دو قسمت اصلی تقسیم کنیم:

  1. کانال های داده ورودی:

    • سنسور آب - نمونه برداری از سطوح آب داخل کاسه حیوانات خانگی ، داده ها از واحد Node -MCU به سرور بلینک منتقل می شود و در نهایت از طریق داشبورد حیوان خانگی ارائه می شود.
    • سنسور سونار - نمونه برداری از محتوای ظرف غذا ، داده ها از واحد آردوینو (با پسوند سپر اترنت) به سرور بلینک منتقل می شود و در نهایت از طریق داشبورد حیوان خانگی ارائه می شود.
    • ماژول دوربین Pi - به طور مداوم فریم های منطقه حیوان خانگی را نمونه گیری می کند ، Pi میزبان سرور خود است که خوراک زنده را به داشبورد حیوانات خانگی ارائه می دهد.
  2. جریان فرمان:

    • دکمه تغذیه (داشبورد) - به روز رسانی مقدار پین مجازی از طریق Blynk ، عملکرد مربوطه روی برد Arduino فعال می شود ، سپس سروو در حال حرکت است تا غذا از درب آن عبور کند.
    • Give Water (داشبورد) - مقدار پین مجازی را از طریق Blynk به روز می کند ، عملکرد مربوطه در برد Node -MCU فعال می شود ، رله به ON روشن می شود ، پمپ آب جریان آب را به کاسه حیوان خانگی شروع می کند.
    • Pet Live Feed (داشبورد) - در داشبورد تعبیه شده است و داده های زنده را از طریق سرور فلاسک که روی دستگاه Pi اجرا می شود ، ارائه می دهد.

مرحله 2: لیست قطعات

لیست قطعات
لیست قطعات
لیست قطعات
لیست قطعات
لیست قطعات
لیست قطعات

برای شروع کار بر روی این سیستم ، به قطعات زیر (یا مشابه) نیاز دارید:

  1. فیزیکی:

    • ظرف غذا: ما از لوله صنعتی دو طرفه 45 سانتی متری استفاده کردیم که آن را در فروشگاه بزرگ خانگی خریداری کردیم. داشتن 2 خروجی مهم است. یکی برای اندازه گیری محتوا ، و دوم خروجی برای مکانیسم باز/بسته.
    • نوار چسب: برای نگه داشتن همه چیز در کنار هم ؛)
    • Jumper Wires: هرچه بیشتر خوب باشد ، همیشه خوب است که اگر مشکلی پیش آمد ، مقداری اضافی داشته باشید.
    • کابل اترنت: برای اتصال Arduino (با سپر اترنت) به اینترنت.
    • باغبانی قوطی: به عنوان ظرف آب و پمپ آب استفاده می شود.
    • لوله کوتاه آب: به پمپ متصل شده و آب را به کاسه حیوان خانگی می ریزد.
  2. سنسورها:

    • سنسور سطح آب WINGONEER: سطح آب داخل کاسه حیوان خانگی را اندازه گیری کنید.
    • سنسور سونار - فاصله سطح غذا را از درب بالایی داخل ظرف اندازه بگیرید.
    • رله TONGLING: به ما امکان می دهد پمپ آب را که جریان آب را روشن می کند روشن یا خاموش کنید.
    • ماژول دوربین Pi: به دستگاه تمشک Pi متصل شده و تصاویر منطقه حیوان خانگی را پخش می کند.
    • سرو ژنریک: قفل و قفل ظرف غذا را باز می کند.
  3. دستگاهها / تابلوهای الکترونیکی:

    • Arduino Uno: اجرای واحد ظروف غذا را کنترل می کند.
    • Arduino Ethernet Shield: اتصال به اینترنت را به برد ما ارائه می دهد.
    • NodeMCU (ESP-8266): واحد آب را برای اندازه گیری و ریختن آب کنترل می کند. این برد قابلیت اتصال از طریق WiFi را دارد.
    • Raspberry Pi 3 - میزبان سرور دوربین است و خوراک زنده را به داشبورد حیوانات خانگی ارائه می دهد.
    • VicTsing 80 GPH Submersible Pump Water: آب را از قوطی باغبانی به همراه لوله آب به کاسه منتقل می کند.

مرحله 3: سیم کشی و چیدمان همه چیز با هم

سیم کشی و چیدمان اشیاء با هم
سیم کشی و چیدمان اشیاء با هم
سیم کشی و چیدمان اشیاء با هم
سیم کشی و چیدمان اشیاء با هم
سیم کشی و چیدمان اشیاء با هم
سیم کشی و چیدمان اشیاء با هم

سیم کشی

قبل از شروع ، توصیه می شود که Arduino / Node-MCU را روی یک تخته نان قرار دهید تا بتوانید همه سیم ها را کنار هم قرار دهید و آن را در هر مکان فیزیکی قرار دهید. علاوه بر این ، توصیه می شود از سیم های بلند برای جلوگیری از خطاهای ناشی از جدا شدن کابل استفاده کنید. ما نمودار سیم کشی Node-MCU (واحد آب) و Arduino (واحد غذا) را در اختیار شما قرار دادیم.

  1. واحد غذا (آردوینو):

    • سنسور سونار:

      • GND (سیاه) = GND
      • VCC (قرمز) = 5 ولت
      • Trig (بنفش) = 3
      • اکو (آبی) = 4
    • سروو:

      • GND (سیاه) = GND
      • VCC (قرمز) = 5 ولت
      • سیگنال (زرد) = 9
  2. واحد آب (گره):

    • سنسور سطح آب:

      • S (آبی) = A0
      • + (قرمز) = 3v3
      • - (سیاه) = GND
    • رله (سیم کشی برق به پمپ آب):

      • IN (زرد) = D1
      • VCC (قرمز) = Vin
      • GND (سیاه) = GND
  3. واحد دوربین (Pi):

    • سنسور دوربین:

      • اتصال به پورت تک دوربین Pi (کابل شار)
      • اگر به دنبال کسب اطلاعات بیشتر در مورد Pi با ماژول دوربین هستید - پیوند

مونتاژ قطعات با هم

در این قسمت ، شما می توانید این پروژه را سفارشی و تغییر دهید تا "متعلق به شما" باشد. اما ما تصاویر و توضیحاتی را برای بازسازی نسخه محصول ارائه می دهیم.

  1. واحد غذا (آردوینو): ظرف تقریباً رو به جلو است ، ما روی ساختن دو درپوش تمرکز می کنیم.

    • درب بالا: 2 سوراخ در درب بریزید تا سنسور Sonar جا بیفتد (به تصویر پیوست مراجعه کنید).
    • درب پایین + مکانیزم: با برداشتن یکی از ضمیمه های پلاستیکی (همراه با سنسور سرو) شروع کنید و با استفاده از نوار چسب / چوب های چوبی (فقط از نوار استفاده کردیم) شکل "Sledge Hammer" را بسازید. در مرحله بعد ، سروو را وصل کنید. اکنون ، ما به 2 سوراخ روی خود درب نیاز داریم. اولین مورد باید اجازه دهد سروو در مکانیزمی که ما در "داخلی" درپوش قرار داده ایم ، در s. سوراخ دیگری را بر اساس کناره "سر چکش" که ایجاد کرده اید ، برش دهید. به این ترتیب ، هرگاه سروو باز می شود ، دم چکش غذا را به سمت خروجی جارو می کند و از گیر افتادن قطعات بزرگ به هم جلوگیری می کند.
  2. واحد آب (Node-MCU): به سادگی لوله آب را به پمپ آب وصل کنید ، حالا آن را داخل قوطی باغبانی قرار دهید (مطمئن شوید که قسمت اشتباه را با رله و سیمهای برق داخل آب قرار ندهید).
  3. واحد دوربین: تنها کاری که باید انجام دهید این است که Pi را با ماژول دوربین در محلی که شما انتخاب می کنید قرار دهید.

مرحله 4: Blynk را تنظیم کنید

راه اندازی Blynk
راه اندازی Blynk
راه اندازی Blynk
راه اندازی Blynk

تمام قابلیت های از راه دور در این پروژه بر اساس Blynk است. این سرویس اساساً یک وب سرور رایگان و API RESTful برای ارتباط با دستگاه های Arduino/Node-MCU ما از طریق اینترنت با استفاده از پروتکل HTTP در اختیار ما قرار می دهد. Blynk به ما اجازه می دهد تا پین های مجازی را تعریف کنیم ، که به عنوان نشانی ای برای اجرای عملکردهای خاص مربوط به ریختن آب ، تغذیه و نمونه برداری از حسگرهای مختلف مورد استفاده قرار می گیرد (ما آن قسمت را برای شما انجام دادیم ، تنها کاری که باید انجام دهید این است که کد برنامه خود را دریافت کنید ، که در ادامه توضیح داده خواهد شد).

چگونه می توان رمز تأیید هویت Blynk خود را دریافت کرد

  1. برنامه Blynk را از طریق AppStore / PlayStore برای دستگاه تلفن همراه خود بارگیری کنید.
  2. برای این سرویس ثبت نام کنید (استفاده از آن رایگان است).
  3. یک پروژه جدید را شروع کنید ، مطمئن شوید که دستگاه صحیح را انتخاب کرده اید (در مورد ما ESP8266).
  4. پس از ایجاد ، ایمیلی با AUTHENTICATION TOKEN ارسال می شود - رمز را برای مراحل بعدی ذخیره کنید.

توجه: Blynk را می توان به طور کامل از طریق برنامه استفاده کرد ، اما ما تصمیم گرفتیم داشبورد سفارشی خود را پیاده سازی کنیم.

در نهایت ، برای ادامه مرحله بعدی ، باید کتابخانه Blynk را بارگیری و نصب کنید - پیوند (رفتن به قسمت 3)

مرحله 5: ظروف غذا ، پمپ آب و دوربین زنده را پیکربندی کنید

ظرف غذا ، پمپ آب و دوربین زنده را پیکربندی کنید
ظرف غذا ، پمپ آب و دوربین زنده را پیکربندی کنید
ظرف غذا ، پمپ آب و دوربین زنده را پیکربندی کنید
ظرف غذا ، پمپ آب و دوربین زنده را پیکربندی کنید

در این مرحله ، ما مونتاژ تمام قطعات را با هم به پایان رساندیم و blynkAuthAppToken خود را گرفتیم (مرحله 3 را ببینید).

ما تمام کدهای مورد نیاز برای اجرای این پروژه را در اختیار شما قرار دادیم ، تنها کاری که باید انجام دهید این است که چند متغیر را در کد تغییر دهید ، که این امر به سیستم خصوصی "خود شما" تبدیل می شود.

اول از همه ، با بارگیری Arduino IDE (اگر هنوز آن را انجام نداده اید) - پیوند را شروع کنید

ظرف غذای آردوینو

  1. IDE را روی برد Arduino تنظیم کنید: Tools -> Board -> Arduino/Genuino Uno
  2. مطمئن شوید که این کتابخانه ها را نصب کرده اید: Sketch -> Include Library -> Manage Libraries

    رله (رافائل)

  3. فایل طرح PetFeeder.ino را باز کنید ، پارامترهای زیر را پیکربندی کنید (برای کمک به تصویر پیوست مراجعه کنید):

    author = "REPLACE_WITH_YOUR_BLYNK_TOKEN"؛

  4. طرح را کامپایل کرده و در دستگاه Arduino خود بارگذاری کنید.

واحد آب Node-MCU

  1. IDE را روی برد Node-MCU تنظیم کنید:

    برای توضیح بیشتر به قسمت اول این دستورالعمل مراجعه کنید

  2. مطمئن شوید که این کتابخانه ها را نصب کرده اید: Sketch -> Include Library -> Manage Libraries

    مدیر WiFi (توسط tzapu)

  3. فایل طرح PetFeeder.ino را باز کنید ، پارامترهای زیر را پیکربندی کنید (برای کمک به تصویر پیوست مراجعه کنید):

    • author = "REPLACE_WITH_YOUR_BLYNK_TOKEN"؛
    • ssid = "YOUR_WIFI_SSID"؛ // اساساً نام شبکه WiFi شماست
    • پاس = "YOUR_WIFI_PASSWORD" ؛ // اگر رمز عبور ندارید ، از رشته خالی "" استفاده کنید
  4. طرح را کامپایل کرده و در دستگاه Node-MCU بارگذاری کنید.

ماژول دوربین زنده Pi

  1. ماژول دوربین pi را وصل کنید
  2. "sudo raspi-config" را اجرا کرده و گزینه "camera" را فعال کنید.
  3. دوربین را با استفاده از دستور "raspistill" برای گرفتن عکس آزمایش کنید

    r aspistill -o image.jpg

  4. سرور دوربین وب Flask را تنظیم کنید:

    • تمام الزامات را با استفاده از pip install -r Requires.txt نصب کنید
    • برای اجرای camera_server.py از python استفاده کنید
    • آن را در 127.0.0.1:5000/video_feed بررسی کنید
  5. وب سرور Flask را برای اجرا در بوت تنظیم کنید:

    • خط زیر را به /etc/rc.local (قبل از خط خروج) اضافه کنید:

      python /camera_server.py

مرحله 6: نحوه استفاده از کنترل پنل

نحوه استفاده از کنترل پنل
نحوه استفاده از کنترل پنل

برپایی

این قسمت نسبتاً ساده است ، تنها کاری که باید انجام دهید این است که "برنامه برنامه blynk token" را در فایل "index.js" به صورت زیر وارد کنید:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // از همان رمز مراحل قبل استفاده کنید.

استفاده

  1. با دوبار کلیک روی فایل "index.html" داشبورد را باز کنید.
  2. داشبورد هر 10 دقیقه یکبار از سیستم نمونه برداری می کند.
  3. اقدامات ظرف آب و غذا را می توان به صورت دستی انجام داد.
  4. دکمه های "دادن آب" و "تغذیه" برای تامین فعال غذا و آب حیوان خانگی شما استفاده می شود.
  5. اگر دستورالعمل های مرحله قبل را به دقت دنبال کرده باشید ، قسمت پایینی داشبورد ، فید زنده از ماژول دوربین را نشان می دهد.

توجه: اگر می خواهید تعداد دفعات باز شدن ظرف غذا هنگام تغذیه را سفارشی کنید ، فایل "index.js" را باز کنید و "مقدار" را در خط بعدی از "3" به هر تعداد دلخواه خود تغییر دهید:

واکشی (baseURL + '/update/V1؟ value = 3')؛

مرحله 7: چالش ها ، محدودیت ها و برنامه های آینده

چالش ها

چالش های اصلی ما در این پروژه ، مربوط به طراحی مکانیسم باز/بسته شدن ظرف غذا و ایجاد یک کد همزمان پایدار برای کنترل و اندازه گیری واحد غذا بود. من معتقدم ما حداقل 4 نسخه مختلف را امتحان کردیم تا اینکه راضی شدیم. نگرانی اصلی این بود که غذا راه خروج را مسدود می کرد. به منظور جلوگیری از آن ، ما طرح Sledge-Hammer را انتخاب کردیم ، به این ترتیب هر زمان که ظرف را باز می کنیم ، دم "چکش" غذا را به سمت خروجی جارو می کند. علاوه بر این ، استفاده از لوله دو طرفه هنگام ساختن ظرف غذا زندگی ما را بسیار ساده تر کرد. چنین شیئی برای قرار دادن مکانیسم خروجی در یک طرف و سنسور فاصله در طرف دیگر برای اندازه گیری محتوای آن مناسب است.

محدودیت ها

در این مرحله از پروژه ، محدودیت های کمی برای سیستم وجود دارد:

  1. این کاملاً خودکار نیست ، به این معنی که تغذیه و ریختن آب به صورت دستی از طریق داشبورد نظارت بدون هیچ زمانبندی هوشمند انجام می شود (که می تواند در آینده اضافه شود یا توسط شما اجرا شود!).
  2. داشبورد به صورت محلی از لپ تاپ شخصی شما اجرا می شود ، به منظور دسترسی بیشتر می توان آن را بر روی سیستم عامل های محبوب مانند "Heroku" میزبانی کرد.
  3. ما از یک ماژول دوربین بسیار ساده استفاده کردیم که می توان آن را با یک ماژول بسیار پیچیده جایگزین کرد تا کیفیت تصویر بهتر و امکان افزودن کانال ارتباطی با حیوان خانگی شما (با استفاده از بلندگو) فراهم شود.

برنامه های آینده

اگر زمان و بودجه لازم برای توسعه این سیستم را داشتیم ، چند ایده و برنامه احتمالی در ذهن داشتیم:

  1. افزودن سیستم زمان بندی خودکار برای تغذیه حیوانات خانگی - 2 ~ 3 روز کار.
  2. ایجاد یک وب سایت برای کاربران سیستم ما برای ایجاد داشبورد سفارشی که به صورت آنلاین میزبانی می شوند و از هر دستگاه متصل قابل دسترسی هستند - 1-2 ماه کار.
  3. روی نسخه صنعتی این سیستم کار کنید و صاحبان حیوانات خانگی بیشتری را قادر به کنترل و ارتباط بهتر با حیوانات خانگی خود به صورت آنلاین کنید ، ما علاقه زیادی از دوستانی داشتیم که نتیجه این دستورالعمل را مشاهده کردند. بنابراین ، اگر اشتیاق زیادی برای پیشرفت پروژه به سطح بعدی دارید - از پشتیبانی کامل برخوردار هستید!

امیدواریم از خواندن (و امیدوارم ساختن!) این پروژه لذت برده باشید:)

توصیه شده: