فهرست مطالب:

اتوماسیون خانه سبز: 11 مرحله
اتوماسیون خانه سبز: 11 مرحله

تصویری: اتوماسیون خانه سبز: 11 مرحله

تصویری: اتوماسیون خانه سبز: 11 مرحله
تصویری: سریال نوستالژیک 💚 خانه سبز 💚 با بازی خسرو شکیبایی و رامبد جوان ◀ قسمت 16 2024, جولای
Anonim
اتوماسیون خانه سبز
اتوماسیون خانه سبز

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

مرحله 1: اجزای مورد نیاز

اجزای مورد نیاز
اجزای مورد نیاز
اجزای مورد نیاز
اجزای مورد نیاز
اجزای مورد نیاز
اجزای مورد نیاز

برخی از اجزای ضروری مورد نیاز در زیر ذکر شده است

1. تمشک PI مدل B

2. هیئت توسعه NodeMCU

3. ماژول ESP8266 Wifi

4. سنسور رطوبت

5. سنسور دما و رطوبت DHT11

6. رله تک کاناله 5 ولت

7. پمپ آب غوطه ور 5 ولت

8. تخته نان

9. ماژول منبع تغذیه برد نان

مرحله 2: زبان و پروتکل

زبان و پروتکل
زبان و پروتکل
زبان و پروتکل
زبان و پروتکل
زبان و پروتکل
زبان و پروتکل
  • زبان C برای کنترل کننده های میکرو استفاده می شود.
  • MQTT Messaging: MQTT مخفف MQ Telemetry Transport است. این یک پروتکل پیام رسانی بسیار ساده و سبک برای انتشار/اشتراک ، طراحی شده برای دستگاه های محدود و پهنای باند کم ، شبکه های با تاخیر زیاد یا غیرقابل اعتماد است. اصول طراحی به حداقل رساندن پهنای باند شبکه و منابع مورد نیاز دستگاه و در عین حال تلاش برای اطمینان از قابلیت اطمینان و تا حدی اطمینان از تحویل است. این اصول همچنین باعث می شود که پروتکل ایده آل دنیای در حال ظهور "ماشین به ماشین" (M2M) یا "اینترنت اشیاء" دستگاه های متصل باشد و برای برنامه های تلفن همراه که پهنای باند و قدرت باتری در اولویت است.
  • برنامه پایتون برای خودکار کردن جریان آب و اتصال به پایگاه داده استفاده می شود.

مرحله 3: کارگزار Eclipse Mosquitto MQTT

کارگزار Eclipse Mosquitto MQTT
کارگزار Eclipse Mosquitto MQTT

در اینجا من از Mosquitto MQTT Broker برای ارتباط آسان پیام بین گره ها استفاده کردم.

Eclipse Mosquitto یک کارگزار پیام باز (دارای مجوز EPL/EDL) است که نسخه های پروتکل MQTT نسخه های 5.0 ، 3.1.1 و 3.1 را پیاده سازی می کند. Mosquitto سبک وزن است و برای استفاده در همه دستگاه ها از رایانه های تک برد کم مصرف تا سرورهای کامل مناسب است.

پروتکل MQTT یک روش سبک برای انجام پیام ها با استفاده از مدل انتشار/اشتراک ایجاد می کند. این امر آن را برای پیام های اینترنت اشیاء مانند سنسورهای کم مصرف یا دستگاه های تلفن همراه مانند تلفن ها ، رایانه های جاسازی شده یا کنترلرهای میکرو مناسب می کند.

پروژه Mosquitto همچنین یک کتابخانه C برای پیاده سازی سرویس گیرندگان MQTT و سرویس گیرندگان بسیار معروف mosquitto_pub و mosquitto_sub خط فرمان MQTT ارائه می دهد.

مرحله 4: جریان داده ها در کل پروژه

در تصویر بالا گره ها هستند

  1. NodeMCU
  2. تمشک PI
  3. ESP8266

NodeMCU بخش سنجش خانه سبز است و ESP8266 قسمت فعال کننده است که در صورت نیاز زمین به آب با توجه به حسگرها ، آب را تأمین می کند.

Raspberry PI شامل Mosquitto Broker و یک سرویس گیرنده Python است که پیامهای دریافتی از کارگزار MQTT را مشترک می کند و داده ها را در یک سرور SQL ذخیره می کند.

مرحله 5: اتصال سنسورها با NodeMCU

اتصال سنسورها با NodeMCU
اتصال سنسورها با NodeMCU

سنسور دما و رطوبت DHT11 و سنسور رطوبت آب قادر به کار با ولتاژ 3.3 ولت هستند.

NodeMCU نمی تواند بیش از 3.3 ولت را تأمین کند. بنابراین سنسورها می توانند مستقیماً با برد میکروکنترلر NodeMCU متصل شوند.

مرحله 6: اتصال پمپ آب شناور با ESP8266

اتصال پمپ آب شناور با ESP8266
اتصال پمپ آب شناور با ESP8266
اتصال پمپ آب شناور با ESP8266
اتصال پمپ آب شناور با ESP8266

از پمپ آب شناور برای تأمین آب در هر زمان که مورد نیاز است استفاده می شود.

پمپ آب برای کار به منبع تغذیه 5 ولت نیاز دارد.

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

در اینجا منبع تغذیه خارجی به برد ESP8266 ، رله و پمپ آب شناور ارائه می شود.

اتصال سخت افزاری کامل من در تصویر بالا است.

مرحله 7: نصب Mosquitto Broker و اجرای برنامه پایتون در رزبری پای

در ادامه مراحل نصب کارگزار Mosquitto در Raspberry PI آمده است

ترمینال را باز کرده و دستورات زیر را تایپ کنید

sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa

sudo apt-get update

sudo apt-get mosquitto را نصب کنید

sudo apt-get mosquitto-client را نصب کنید

باید به طور خودکار پشه را شروع کند.

برای توقف و شروع سرویس ، باید از آن استفاده کنم

sudo service stop mosquitto

sudo service start پشه

اکثر سایتهایی که از آنها استفاده کردم از فرمت آنها کشف کردم.

sudo /etc/init.d/mosquitto متوقف شود

مرحله 8: MQTT چگونه کار می کند؟

MQTT چگونه کار می کند؟
MQTT چگونه کار می کند؟

MQTT یکی از پرکاربردترین پروتکل ها در پروژه های اینترنت اشیا است. این مخفف عبارت Message Queuing Telemetry Transport است.

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

مانند هر پروتکل اینترنتی دیگر ، MQTT بر اساس سرویس گیرنده و سرور است. به همین ترتیب ، سرور شخصی است که مسئول رسیدگی به درخواست های مشتری برای دریافت یا ارسال داده ها بین یکدیگر است. سرور MQTT یک کارگزار نامیده می شود و سرویس گیرندگان به سادگی دستگاه های متصل هستند. بنابراین:

* هنگامی که یک دستگاه (مشتری) می خواهد داده ها را به کارگزار ارسال کند ، ما این عملیات را "انتشار" می نامیم.

* هنگامی که یک دستگاه (مشتری) می خواهد داده ها را از کارگزار دریافت کند ، ما این عملیات را "اشتراک" می نامیم.

مرحله 9: برنامه نویسی NodeMCU و ESP8266

در زیر کد منبع برای برد میکروکنترلر NodeMCU و ESP8266 آمده است

مرحله 10: طراحی یک صفحه وب و اتصال به پایگاه داده SQL

صفحه وب با استفاده از زبان های HTML ، CSS و PHP طراحی شده است.

PHP برای استخراج قرائت سنسور از پایگاه داده و نمایش آن در صفحه HTML استفاده می شود.

یک برنامه پایتون به عنوان قلب این پروژه استفاده می شود.

کارهایی که برنامه پایتون انجام می دهد به شرح زیر است.

  1. مشترک موضوعی است که در آن سنسور قرائت سنسور را ارسال می کند.
  2. این دستور روشن/خاموش پمپ آب را به کارگزار MQTT منتشر می کند.
  3. این سنسور خوانده شده را در پایگاه داده SQL ذخیره می کند.

در مورد من ، برنامه پایتون و پایگاه داده SQL در یک لپ تاپ وجود دارد. صفحه وب از طریق میزبان محلی اجرا می شود.

در زیر کد منبع برنامه پایتون من آمده است.

مرحله 11: کار کامل

کار کامل
کار کامل

در ادامه مراحلی که این فرآیند طی می شود آورده شده است.

  1. NodeMCU به عنوان بخش سنجش عمل می کند و دما ، رطوبت و سطح رطوبت خاک را می خواند.
  2. این مطالب را با موضوع "موضوع 1" برای کارگزار MQTT ارسال می کند.
  3. در لپ تاپ برنامه پایتون در حال اجرا است و با کارگزار MQTT در موضوع "موضوع 1" مشترک می شود.
  4. هنگامی که NodeMCU خوانش ها را ارسال می کند ، Mosquitto MQTT Broker بلافاصله داده ها را به برنامه پایتون ارسال می کند.
  5. برنامه پایتون سپس محاسبه می کند که آیا آب مورد نیاز در خانه سبز وجود دارد. سپس اطلاعات خوانده شده را در پایگاه داده SQL ذخیره می کند.
  6. در صورت نیاز به آب در خانه سبز ، برنامه پایتون پیام روشن/خاموش پمپ آب را به کارگزار Mosquitto MQTT با موضوع "موضوع 2" منتشر کند.
  7. ESP8266 به عنوان محرک عمل می کند. در موضوع "موضوع 2" که برنامه پایتون در حال انتشار پیام است ، مشترک می شود. هنگامی که برنامه پایتون پیامی را منتشر می کند ، پیام بلافاصله به ESP8266 منتقل می شود. با توجه به پیام روشن/خاموش ، پمپ آب شناور را روشن/خاموش می کند.
  8. آخرین مرحله برای نمایش خوانش های زنده در صفحه وب. صفحه وب داده ها را از پایگاه داده SQL دریافت می کند که در آن برنامه پایتون داده ها را مستقیماً ذخیره می کند و قرائت ها را در صفحه نمایش می دهد.

توصیه شده: