فهرست مطالب:

IDC2018IOT GarbageCan-Online: 7 مرحله
IDC2018IOT GarbageCan-Online: 7 مرحله

تصویری: IDC2018IOT GarbageCan-Online: 7 مرحله

تصویری: IDC2018IOT GarbageCan-Online: 7 مرحله
تصویری: Hide a vehicle in a discreet location to be used as a getaway vehicle 2024, جولای
Anonim
Image
Image
قطعات مورد نیاز
قطعات مورد نیاز

معرفی

همه می دانند وقتی سطل زباله را بدون حذف آن در سطل زباله به مدت طولانی رها می کنیم ، چه اتفاقی می افتد. خوب ، واضح ترین چیز این است که هیچ جایی برای زباله های بیشتر وجود ندارد ، اما همچنین شروع به بوی بد می کند و بسیار ناخوشایند می شود.

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

سیستم با اعلان تلفن یا هشدار داشبورد به شما هشدار می دهد که باید سطل زباله را خالی کنید. این سیستم میزان پر بودن سطل زباله ، و همچنین دما و رطوبت اندازه گیری شده در داخل آن را در نظر می گیرد. همه ما با فوریت تخلیه سطل زباله در روزهای گرم و مرطوب آشنا هستیم…

ویژگی های اصلی

  1. داشبورد نظارت:

    • بخش اصلی:

      • سطح پر بودن هر سطل زباله
      • دما و رطوبت هر سطل زباله.
    • بخش آمار:

      • کاملترین سطل زباله
      • داغترین سطل زباله
  2. سیستم هشدارها و اعلان ها:

    • رویدادهای زیر پشتیبانی می شود:

      • سطل زباله پر است
      • خطای سنسور رخ داد.
    • هشدارهای پری میزان پر بودن سطل زباله ، و همچنین درجه حرارت و رطوبت سطل زباله را در نظر می گیرد.
    • هشدارها را می توان از طریق اعلان های تلفن و هشدارهای داشبورد ارسال کرد.
    • هر کانال هشدار را می توان از طریق داشبورد روشن و خاموش کرد.
  3. مقیاس پذیری:

    • با استفاده از دکمه کالیبراسیون ، می توان سیستم را با سطل زباله های مختلف با ظرفیت های مختلف تنظیم کرد.
    • این امکان وجود دارد که سطل زباله بیشتری نسبتاً راحت اضافه کنید. می توان همان سیستم را روی سطل زباله جدید مونتاژ کرد ، شناسه سطل زباله را تنظیم و آن را کالیبره کرد (فشار یک دکمه). داشتن بیش از 3 سطل زباله مستلزم گسترش داشبورد (انجام کار آسان) است.

ما که هستیم؟

این پروژه (با عشق و فداکاری) توسط Rom Cyncynatus و Daniel Alima - دانش آموزان IDC Herzliya به عنوان آخرین پروژه برای دوره IoT ما ایجاد شده است. امیدواریم کار ما برای شما مفید واقع شود و از استفاده از آن لذت ببرید!

مرحله 1: قطعات مورد نیاز

به منظور ساختن سیستم ، شما باید اجزا و قطعات زیر را بدست آورید:

  1. سطل زباله (ترجیحا با درپوش): از این دستگاه برای … خوب استفاده می کنید. ؛)
  2. Breadboard: برای اتصال همه اجزای مختلف بدون استفاده از لحیم کاری.
  3. NodeMCU (ESP-8266): مسئول خواندن سنسورها و ارسال اطلاعات به ابر است.
  4. سنسور IR فاصله - Sharp 0A41SK: این سنسور میزان زباله (سطح پر بودن) داخل قوطی را اندازه گیری می کند.
  5. سنسور دما و رطوبت - DHT11: این سنسور دما و رطوبت داخل سطل زباله را اندازه گیری می کند.
  6. سوئیچ لحظه ای: برای کالیبراسیون سنسور فاصله با توجه به اندازه سطل زباله استفاده می شود.
  7. فویل آلومینیومی: برای تشکیل یک آشکارساز برای وضعیت درب - چه باز باشد چه بسته باشد - استفاده می شود.
  8. سیم های بلوز: مقدار زیادی و در طول و رنگ های مختلف تهیه کنید. همه چیز را به هم متصل خواهد کرد
  9. نوار چسب: ما باید چیزها را در جای خود وصل کنیم.
  10. کابل Micro-USB: برای اتصال NodeMCU به کامپیوتر برای برنامه نویسی و بعداً برای منبع تغذیه.
  11. منبع تغذیه USB (شارژر تلفن هوشمند): هنگامی که روی سطل زباله نصب می شود ، نیرو را به NodeMCU می رساند.

مرحله 2: سیم کشی و مونتاژ

سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ
سیم کشی و مونتاژ

سیم کشی

NodeMCU را روی تخته نان بگذارید تا بتوانید بعداً آن را به سطل زباله خود وصل کنید و کابل USB را به آن وصل کنید. سپس ، از تصویر نمودار سیم کشی در بالا برای اتصال اجزای مختلف به NodeMCU دیدن کنید. مطمئن شوید که از سیم های بلند برای سنسورها و سیم های وضعیت استفاده می کنید تا نصب سیستم و استفاده از سطل زباله به همراه آن راحت باشد.

  • سنسور IR فاصله - شارپ 0A41SK:

    • Vin (قرمز) Vin
    • GND (سیاه) GND
    • Vout (زرد) A0
  • سنسور دما و رطوبت - DHT11:

    • Vin (قرمز) 3V3
    • GND (سیاه) GND
    • DATA (زرد) D4
  • سوئیچ لحظه ای:

    • پین 1 D3
    • Pin2 GND
  • سیم در وضعیت درب (باز کردن / بستن):

    • سیم 1 D2
    • Wire2 GND

مونتاژ

مونتاژ سیستم روی سطل زباله بسیار ساده است. Breadboard را به سطل زباله وصل کنید ، ترجیحاً نزدیک درب آن. برای محکم نگه داشتن آن از نوار یا کراوات کابل استفاده کنید. سپس:

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

مرحله 3: MQTT ، Node-RED و IFTTT را راه اندازی کنید

MQTT ، Node-RED و IFTTT را تنظیم کنید
MQTT ، Node-RED و IFTTT را تنظیم کنید
MQTT ، Node-RED و IFTTT را تنظیم کنید
MQTT ، Node-RED و IFTTT را تنظیم کنید
MQTT ، Node-RED و IFTTT را تنظیم کنید
MQTT ، Node-RED و IFTTT را تنظیم کنید

بیشتر منطق پروژه در واقع در ابر اجرا می شود. NodeMCU داده ها را به سرور MQTT ارسال می کند ، و Node-RED آن را مصرف می کند و منطق خود را بر روی آن اعمال می کند (در مورد معماری در آینده بیشتر). در نهایت ، برای انتقال اعلان های فشار (هشدار) به تلفن هوشمند خود ، از IFTTT استفاده کردیم.

ما به ترتیب از سرویس های CloudMQTT و FRED به عنوان سرورهای MQTT و Node-RED خود استفاده می کنیم و برای اعلان های فشار از IFTTT استفاده می کنیم.

  1. با برنامه رایگان در CloudMQTT ثبت نام کنید. به اعتبار خود در سرور MQTT (نام کاربری و رمز عبور) توجه کنید.
  2. ثبت نام در IFTTT یک اپلت جدید از "اعلان برنامه Webhooks IFTTT" ایجاد کنید. از "اعلان تلفن همراه" به عنوان نام رویداد WebHookds استفاده کنید. برای اطلاع از جزئیات ریز ریز ، با تصویر بالا مشورت کنید. به کلید API سازنده خود توجه کنید.
  3. برنامه IFTTT را در تلفن خود بارگیری کرده و با اعتبار خود وارد سیستم شوید. این به شما امکان می دهد اعلان های فشار را دریافت کنید.
  4. با برنامه رایگان در FRED ثبت نام کنید.
  5. پس از راه اندازی نمونه FRED ، جریانهای پیوست شده را وارد آن کنید (دکمه 3 بار وارد کردن از کلیپ بورد). فقط محتویات هر فایل (widgest.json ، alerts.json ، statistics.json) را بچسبانید و آن را وارد کنید.
  6. یکی از گره های MQTT (یکی کافی است) را ویرایش کنید تا اعتبارنامه CloudMQTT خود را به روز کنید.
  7. برای به روز رسانی کلید API سازنده IFTTT ، گره IFTTT را ویرایش کنید.

مرحله 4: برنامه نویسی کالیبراسیون NodeMCU و سطل زباله

وقتی همه چیز به هم متصل شد ، باید NodeMCU را با نرم افزار مناسب (طرح) برنامه ریزی کنیم تا در واقع از تمام مواردی که به آن متصل است استفاده کند و با اینترنت ارتباط برقرار کند.

  1. Arduino IDE را از اینجا بارگیری و نصب کنید.
  2. نوع برد NodeMCU را همانطور که در ابتدای دستورالعمل زیر توضیح داده شده نصب و تنظیم کنید.
  3. کتابخانه های زیر را نصب کنید (Sketch Include Library Manage Libraries…):

    1. کتابخانه Adafruit MQTT (توسط Adafruit)
    2. کتابخانه حسگر DHT (توسط Adafruit)
    3. SharpIR (توسط Giuseppe Masino)
    4. EEPROMA هر چیزی - توضیح در اینجا.
  4. فایل GarbageCanOnline.ino را باز کنید و موارد زیر را به روز کنید:

    1. اعتبارنامه WiFi شما (WLAN_SSID ، WLAN_PASS)
    2. اعتبارنامه CloudMQTT شما (MQTT_USERNAME ، MQTT_PASSWORD)
    3. اگر این سطل زباله دوم یا بیشتر است ، شناسه سطل زباله را تغییر دهید (GARBAGECAN_ID)
  5. طرح به روز شده را در NodeMCU خود بارگذاری کنید.
  6. پنجره مانیتور سریال (Ctrl+M) را باز کنید و مطمئن شوید که داده های حسگر را در CloudMQTT منتشر می کند.
  7. اکنون ، هنگامی که درب بسته است و سطل زباله خالی است ، دکمه کالیبراسیون را برای کالیبراسیون ظرفیت سطل زباله طولانی فشار دهید.
  8. سطل زباله آماده است شما می توانید آن را از رایانه خود جدا کرده و با استفاده از منبع تغذیه USB آن را در محل تعیین شده خود وصل کنید.

مرحله 5: استفاده از سیستم

استفاده از سیستم
استفاده از سیستم
استفاده از سیستم
استفاده از سیستم
استفاده از سیستم
استفاده از سیستم

اگر به این حد رسیده اید ، همه چیز باید آماده باشد. اجازه دهید به بررسی اجمالی جنبه های مختلف استفاده از سیستم بپردازیم.

ما فرض می کنیم که شما فقط یک سطل زباله متصل دارید ، اما بعداً به راحتی می توانید آن را جمع کنید!

ابتدا به داشبورد اصلی توجه کنید. شما باید در صفحه اصلی باشید و میزان پر شدن سطوح زباله ، دما و رطوبت را مشاهده کنید. با استفاده از کلیدهای سمت چپ می توانید اعلان های تلفن و هشدارهای داشبورد را کنترل کنید.

هنگامی که مقدار زباله در سطل زباله تغییر می کند ، تغییرات سنج را مطابق آن مشاهده می کنید. این امر در مورد نمودارهای دما و رطوبت نیز صادق است.

هنگامی که سطح پری به 85-90 reaches می رسد (آستانه دقیق بستگی به دما و رطوبت دارد) ، یا خطای سنسور رخ می دهد ، از طریق روش (های) دلخواه خود اعلانی دریافت خواهید کرد. هر ساعت یکبار در هر سطل زباله به شما اطلاع داده می شود.

در نمای Statistics ، می توانید کاملترین و آشپزخانه ترین سطل زباله را مشاهده کنید. اگر بخواهیم بگوییم عنوان ناخوشایند

مرحله 6: درک جریان

درک جریان
درک جریان
درک جریان
درک جریان
درک جریان
درک جریان
درک جریان
درک جریان

همانطور که احتمالاً تاکنون متوجه شده اید ، این سیستم دارای "قطعات متحرک" زیادی است. ما سعی خواهیم کرد نحوه ارتباط چیزها با یکدیگر را روشن کنیم.

اول ، ما سطل زباله خود را با NodeMCU و سنسورهای آن داریم. ما می توانیم تعداد زیادی از اینها را داشته باشیم - فقط "کپی" یکدیگر.

NodeMCU سنسورهای مختلف قرار گرفته در سطل زباله را اندازه گیری می کند و داده ها را در سرور MQTT (پروتکل MQTT) منتشر می کند. می توانید سرور MQTT را مبادله اطلاعات بزرگی بدانید که بسیاری از سطل های زباله می توانند اطلاعات خود را به آن گزارش دهند.

موجودیت دیگری که به سرور MQTT متصل می شود Node-RED است. Node-RED به پیامهای مختلفی که از سطل زباله (های) حامل داده های حسی می آید گوش می دهد و منطق خود را بر روی آن اعمال می کند. با استفاده از "جریان" اطلاعات کار می کند. هر بار که یک پیام دریافت می شود ، بر اساس نوع آن (موضوع MQTT) ، زنجیره های خاصی از عملیات را وارد می کند که در نهایت ویژگی های مختلف سیستم (به روز رسانی داشبورد ، ارسال هشدارها و غیره) فعال می شود. که Node-RED "مغز" سیستم است. به همه آنچه در همه جا اتفاق می افتد آگاه است و می تواند بر این اساس اقدامات لازم را انجام دهد.

در داخل Node-RED ما 3 جریان اصلی اطلاعات را ایجاد کرده ایم:

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

برای اینکه Node-RED اعلان فشار ارسال کند ، به سرویسی به نام IFTTT (با پروتکل HTTP) متصل می شود. این یک رویداد IFTTT خاص را با متن اعلان مربوطه فعال می کند و IFTTT اعلان را به تلفن هوشمند ما (پروتکل های HTTP و XMPP) ارسال می کند.

برای درک بهتر (الف) ساختار کلی سیستم ، و (ب) 3 اطلاعات مختلف در داخل Node-RED ، از تصاویر بالا مشورت کنید

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

چالش ها

چالش های اصلی در این پروژه بیشتر مدیریت خدمات MQTT و Node-RED بود. ما ابتدا از AdafruitIO استفاده کردیم ، اما پیاده سازی MQTT سفارشی آن برای ما خوب نبود. کار با "فیدهای" آن در داخل Node-RED راحت نبود. بنابراین ما در نهایت CloudMQTT را انتخاب کردیم که بر اساس سرور Mosquitto MQTT ساخته شده است و بسیار استانداردتر است. سپس به سراغ مدیریت Node-RED رفتیم که بسیار چالش برانگیز بود ، بیشتر به این دلیل که Node-RED یک جانور است. به عنوان مثال ، از نظر ما بسیار جامع تر و حرفه ای تر از IFTTT است. ما مجبور شدیم نحوه استفاده از رویکرد طراحی مبتنی بر جریان را برای ساختن ویژگی های مورد نیاز سیستم تنظیم کنیم و بیاموزیم. علاوه بر این ، یکی از بزرگترین مزایای آن پشتیبانی از کد جاوا اسکریپت است ، اما مدتی طول کشید تا به عنوان برنامه نویس جاوا اسکریپت استفاده نکنیم. با وجود همه این موارد ، ما واقعاً از کار با این ابزار خاص لذت بردیم و به نظر ما بسیار جالب و مفید بود.

محدودیت ها

در مورد محدودیت ها ، اولین مورد این واقعیت است که ما فقط از خدمات رایگان استفاده می کنیم ، و آنها اجازه نمی دهند در مقیاس کامل انجام شود. طرح رایگان CloudMQTT اجازه نمی دهد بیش از 5 اتصال موازی داشته باشیم ، بدین معنا که ما می توانیم فقط 4 سطل زباله و Node-RED داشته باشیم. برنامه رایگان FRED Node-RED فقط 24 ساعت استفاده مستقیم را امکان پذیر می کند ، پس از آن باید به صورت دستی وارد سیستم شوید و تایمر را تنظیم مجدد کنید. با این حال ، این مسائل را می توان با اجرای این خدمات به صورت محلی یا پرداخت کمی اضافی برای رفع محدودیت ها به راحتی حل کرد. دومین محدودیت این واقعیت است که وقتی فردی چهارمین سطل زباله را به بعد اضافه می کند ، مجبور است جریان ابزارک ها را در Node-RED به صورت دستی ویرایش کند تا ویدجت های مناسب آن را اضافه کند.

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

ما ایده هایی برای تقویت بیشتر سیستم و گسترش آن داشتیم:

  1. به سراغ خدمات ابری غیر رایگان بروید. (یک روز کار).
  2. افزودن کمپرسور زباله به سطل زباله ، در نتیجه دفعات تخلیه آن کاهش می یابد. (4 ماه کار)
  3. کار با سطل های زباله شهری و صنعتی برای بهبود کارایی کامیون های شهری که سطل زباله را در شهر حمل می کنند. این بدان معناست که داشبورد و سیستم اطلاع رسانی را تا حد زیادی بهبود بخشید تا رانندگان کامیون بتوانند هنگام حمل سطل زباله مسیر خود را بسیار بهتر برنامه ریزی کنند. (6 ماه کار).
  4. افزودن قابلیت های بازیافت به سطل زباله ، مانند توانایی ریختن محلول های بیولوژیکی ویژه در زباله و کمک به بازیافت آن تا زمانی که هنوز در سطل زباله است. این می تواند به عنوان مثال برای تولید کمپوست برای باغ ها در داخل کشور استفاده شود ، اما به وضوح می تواند در قوطی های صنعتی نیز استفاده شود. (6 ماه کار).

توصیه شده: