برد ESP8266 برد Nodemcu خانه هوشمند نرم افزار cayenne

ساخت گلدان هوشمند با برد Node MCU و نرم افزار Cayenne بر پایه IoT

nodemcu-smart-pot-with-cayenne-app-tutorial-digispark
نوشته شده توسط محمد امین قیدرلوئی

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

 


۱- ماژول رطوبت خاک YL-100


در پروژه گلدان هوشمند NodeMcu  ورژن یک به همراه ماژول رطوبت خاک، جهت سنجش رطوبت خاک از ماژول Soil Moisture با ماژول راه انداز YL-100 استفاده کرده‌ایم. از ماژول رله Relay Module برای مدیریت پمپ آب استفاده کرده‌ایم. جهت مدیریت گلدان هوشمند از نرم افزار cayenne برای کنترل دستگاه و پایش اطلاعات به صورت اینترنتی استفاده کنیم. نرم افزار اینترنت اشیا cayenne کاملا از راه دور قابل کنترل است. به این صورت که به طور گرافیکی سطح رطوبت خاک را با درصد به ما نشان داده و دکمه‌ای جهت خاموش و روشن کردن دستی پمپ آب تعبیه شود. وظایفی تعریف می‌کنیم که در صورت خشک شدن خاک برای ما ایمیلی ارسال شده و هشدار می‌دهد که سطح رطوبت کم شده به طور خودکار به رله فرمان داده و آبیاری گلدان هوشمند انجام شود.

 

اتصالات :

  • پایه های سنسور را به ماژول رطوبت وصل می‌کنیم (ترتیب پایه ها مهم نیست)
  • Vcc ماژول رطوبت را به مثبت مدار متصل کرده
  • پایه Gnd ماژول رطوبت را به منفی مدار وصل مینیم
  • پایه AO ماژول رطوبت را به A0   nodeMcu متصل می‌کنیم
  • پایه IN ماژول رله را به D1 مدار وصل کرده
  • پایه های مثبت و منفی رله را متصل می‌کنیم

آموزش ساخت گلدان هوشمند با آردوینو و ربات تلگرام IoT - دیجی اسپارک

 


۲- نرم افزار اینترنت اشیا Cayenne


ابتدا باید در سایت Cayenne حساب کاربری ایجاد کنید  برای ورود به سایت اینجا را کلیک کنید و سپس روی Sign up کلیک کرده و حساب خود را ایجاد کنید.

شروع به کار با نرم افزار Cayenne ساخت گلدان هوشمند- دیجی اسپارک

در منو ایجاد پروژه روی All Devices کلیک کنید. سپس گزینه Generic Esp8266 جهت پردازش برای برد Nodemcu بر پایه ESP8266 را انتخاب کنید.

انتخاب برد در نرم افزار Cayenne ساخت گلدان هوشند - دیجی اسپارک

 

حال به شما username ، Password و Client ID را نمایش میدهد که این عبارات را باید در کد های آردوینو جایگذاری کنید. روش کار با نرم افزار آردوینو Arduino IDE پیشتر توسط همکارم توضیح داده شده است.

انتخاب برد آردوینو در نرم افزار Cayenne ساخت گلدان هوشند - دیجی اسپارک

 

حال در نرم افزار Arduino IDE کتابخانه‌های cayenne را اضافه کنید. جهت دانلود کتابخانه به بخش دانلود در صفحه محصول برد Nodemcu مراجعه کنید. اگر شیوه افزودن کتابخانه را نمی‌دانید به آموزش نصب کتابخانه در نرم افزار آردوینو Arduino IDE مراجعه کنید. کدهای گلدان هوشمند با Node mcu آردوینو در ادامه آموزش ارایه شده است. در نظر داشته باشید که باید نام مودم وایرلس، پسورد آن و سه عبارتی که از سایت دریافت کردید را در قسمت مربوطه کپی کنید. و سپس کدها را در آردوینو آپلود کنید. پس از اینکه کدها آپلود و برد به اینترنت متصل شد. سایت تغییر کرده و حالا شما می‌توانید تنظیمات مربوطه را روی سایت Cayenne انجام دهید.

تنظیمات نرم افزار Cayenne برای ساخت گلدان هوشمند آردوینو - دیجی اسپارک

 

اگر مراحل را به درستی انجام داده باشید مقدار رطوبت روی صفحه اصلی نمایان می‌شود. اکنون باید دکمه‌ای برای روشن و خاموش کردن پمپ آب گلدان هوشمند Nodemcu در نظر بگیریم. برای این کار روی overview و سپس بر روی Add new کلیک کنید. گزینه Device/widget را انتخاب کرده، حال در پایین منو روی Custom widgets کلیک کنید. گزینه button را پیدا کرده و اسم دلخواهی انتخاب کنید. دستگاه متصل را هم انتخاب کنید. در قسمت sensor اطلاعات را اینگونه تعریف کنید Data : Digital Actuator  , Unit : Digital(0/1) , Channel : 2 و آیکون دلخواه را برای دکمه انتخاب کنید. در نهایت روی Add Widget کلیک کرده تا دکمه روی صفحه اصلی ایجاد شود. حال مشاهده می‌کنید که اطلاعات گلدان هوشمند ، رطوبت و یک کلید دستی برای خاموش روشن کردن پمپ آب قرار داده شده است.

ساخت گلدان هوشمند با برد آردوینو و نرم افزار Cayenne - دیجی اسپارک

 

اکنون اگر بخواهیم به صورت اتوماتیک آبیاری انجام شود، بدین شکل در صورت رسیدن به یک سطح رطوبت خودکار روشن و پس از آبیاری کامل خاموش شود؛ باید یک دستور شرطی تعریف کنیم. به این شکل که ابتدا از منو Add new بر روی Trigger کلیک می‌کنیم. نام آن را انتخاب و سپس در قسمت if کانالی که نمایانگر سطح رطوبت است را انتخاب می‌کنیم. در قسمت then دکمه پمپ را اضافه کرده و به این صورت تعریف می‌کنیم. اگر سطح رطوبت خاک از ۳۰ درصد پایین تر آمد پمپ آب روشن شود. یک Trigger دیگر اضافه کرده با نام pomp off اکنون به این صورت تعریف می‌کنیم. اگر رطوبت از ۸۰ درصد بالاتر رفت پمپ خاموش شود. در ضمن امکان اطلاع رسانی در صورت خشک شدن کامل خاک هم وجود دارد.

ساخت گلدان هوشمند با برد آردوینو و نرم افزار Cayenne - دیجی اسپارک

 

با توجه به تعریف شرط‌ها اگر رطوبت بین ۳۰ تا ۸۰ باشد؛ به صورت دستی و دلخواه می‌توانیم رله گلدان هوشمند با Node mcu را روشن کنیم. اما در غیر اینصورت به صورت اتوماتیک فرمان داده می‌شود. *کد برنامه به شکلی نوشته شده که پس از اولین آبیاری کامل به طور خودکار دستگاه کالیبره شده و نیازی نیست حد بالا یا پایین را دستی تغییر دهیم* در ادامه کدهای آردوینو قرار گرفته‌اند.

 


۳- کدنویسی آردوینو گلدان هوشمند


کدها را از طریق کلیدهای میانبری که برای انتقال در نظر گرفته شده است، در نرم افزار آردوینو Arduino کپی و سپس اجرا کنید.

مهمان گرامی، جهت دسترسی به کدهای این پروژه، اسپارکر شوید.

 


وسایل مورد نیاز


برد وای فای NodeMcu v1.0

ماژول رطوبت خاک

پمپ آب ۱۲ ولت

ماژول رله

کابل اتصال

 

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک و دانشجوکیت  و digispark  و  daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

محمد امین قیدرلوئی

محمد امین قیدرلوئی متولد ۲۶ تیر ۱۳۷۳ دانشجو رشته شبکه
کار در زمینه :
طراحی سایت
برنامه نویسی جاوا
شبکه های سیسکو و میکروتیک
برنامه نویسی برد های امدد

تبادل نظر و رفع عیب با ثبت دیدگاه

۳۴ دیدگاه

  • سلام
    خیلی عالی بود، من اگر بخوام همینکارو با ماژول ESP8266 به صورت مجزا انجام بدم میشه؟ یعنی بدون برد میکروکنترلر دیگری

    • با سلام
      از آنجایی که تراشه برد مورد نظر شما با تراشه به کار رفته در این آموزش یکسان است. بله این امکان وجود خواهد داشت. البته بنده این مورد را به صورت عملی تست نکرده‌ام. همچنین لازم به ذکر است که کدهای این آموزش نیاز به تغییراتی دارند تا برای برد مورد نظر شما سازگاری داشته باشند.

    • سلام ممنون از توجه شما
      در صورت استفاده از حالت دیجیتال میتوانید به تعداد پین های دیجیتال این برد سنسور متصل کنید. هم چنین لازم به ذکر است که کدهای این آموزش نیاز به تغییراتی دارند تا حالت مورد نظر قابل استفاده باشد.

  • سلام.
    جناب قیدرلوئی من یک سنسور DHT11 رو هم به این کد ها اضافه کردم. الان دما و رطوبت رو هم دارم ولی رله کار نمی کنه. کانال ها رو هم چک کردم ولی نمی دونم مشکل از کجاست. ممنون می شم راهنماییم کنید.

    • با سلام
      ممنون از توجه شما
      دقت کنید که کانال سنسور جدید با کانال ورودی رله تداخلی نداشته باشد . همچنین در نظر داشته باشید که پس از تغییرات حاصل شده در پنل مدیریتی cayenne در قسمت add custom widget رله را با کانال جدید اضافه کنید.

  • با سلام
    در این پروژه از یه رله چهار کانال استفاده میکنم میشه برا کانال های دیگه هم مثل کلید پمپ آب کلید تعریف کنم ؟؟

  • ببخشید یه سوال دهنمو درگیر کرده آیا میشه بردnodemcuرو به چند تا سرویس اینترنت اشیا وصل کرد ؟
    اگه میشه چجوری
    مثلاً با آپلود چند کد باید این کار رو انجام داد یا با آپلود یه کد برای همه سرویس ها روی برد

    • با سلام
      بله میتوانید کد ها را کنار هم قرار داده و روی برد آپلود کنید . البته توجه داشته باشید این کار نیاز به داشتن مهارت در کد نویسی است و باید هر کد به ترتیب درست کنار هم قرار بگیرد.

  • ۱- با سلام پمپ اب براشلس ۳ تا سیم داره قرمز (+) و سیم سفید(پین میکرو ) و سیم مشکی (-) شیوه اتصال این سیم ها در مدار به چه شکلی است

    ۲- رله ۳ تا خروجی داره که به زبان چینی زیرش نوشته اگه میشه نام هرکدام از خروجی هارو بگید
    باتشکر

    • با سلام ممنون از توجه شما
      سیم مشکی پمپ را مستقیما به منفی منبع تغذیه متصل کنید.
      و سیم قرمز(+) پمپ را باید به com (پین میانی در رله) و سیم مثبت منبع تغذیه را به NO (پین سمت چپ رله) متصل کنید.

  • سلام جناب قیدرلوئی
    پمپ اب پس از وصل کردن به رله شروع به کار میکنه و قطع نمیشه حتا از داخل سایت هم قطع نمیشه باید چیکار کنیم

  • سلام و خسته نباشید .میخواستم سوال کنم که این وسایلش کجا گیرم میاد .اخه میخوام یکیش رو درست کنم نمیدونم کجا باید برم بگیرم.ممنون میشم راهنمایی کنید

    • سلام ممنون از توجه شما
      در قسمت وسایل مورد نیاز، هر قطعه به صورت لینک قرار داده شده که به سایت daneshjookit.com ارجاع داده میشود و میتوانید به صورت اینترنتی تهیه بفرمایید. (در صورت عدم موجودی تیکت ارسال کنید)

  • سلام ببخشید من پروژه رو راه اندازی کردم فقط دو تا مشکل وجود داره :
    ۱) رله در حالت عادی روشنه ( منظورم اینه که رله رو وقتی از طریق دکمه موجود در داشبورد cayenee خاموش میکنم ، رله روشن میشه و بالعکس . )
    ۲) وقتی با توجه به تریگر رطوبت از یه حدی پایینتر میاد رله روشن میشه هر چند ثانیه یکبار رله خاموش و دوباره روشن میشه ( تو قسمت لایو دیتا در cayenee هم که رفتم دیدم که اول رله رو ۰ میکنه وبعد ۱)
    ببخشید یه مقدار طولانی شد

    • با سلام ممنون از توجه شما
      ۱- میتوانید با عوض کردن پایه خروجی رله از NC به NO یا بلعکس تغییرات مد نظر را داشته باشید. در غیر اینصورت باید کد برنامه را تغییر دهید.
      ۲-به قسمت تعریف trigger توجه کنید اشتباه در انتخاب above یا below میتواند خروجی را تحت تاثیر قرار دهد.

      • ۱-بله میشه پایه خروجی رله رو عوض کرد ولی وقتی رله روشن باشه رله به مرور داغ میشه اگه امکانش هست بگید کدوم قسمت کد رو باید تغییر داد ؟( دیجیتال رایت رله رو در ووید ستاپ رو از HIGH به LOW تغییر دادم ولی مشکل حل نشد)
        ۲-در trigger جفت شرط هارو Sensor above قرار دادم مشکل چیه؟
        باز هم ببخشید طولانی شد