تصور کنید که گیاه شما بتواند آن چه از محیط پیرامون خود دریافت می کند را با شما به اشتراک بگذارد. در این صورت یک زبان مشترک بین شما و گیاهتان شکل گرفته است، اما احساس گیاه شما نسبت به آن چه شما از محیط پیرامون خود حس میکنید متفاوت است. به عنوان مثال سرو های جنگل های منناطق سرد سیری تعریف متفاوتی از سرما نسبت ما دارند یا نخل های جنوب ایران، برای رشد و رسیدن به شرایط ایده آل به آفتاب سوزان آن مناطق نیاز دارند. امروزه به کمک سنسور ها و ماژول هایی که در دسترس قرار گرفته است، می توان شرایط محیط پیرامون گیاهان را سنجیده و طبق بانک داده ای که از گیاهان در اختیار ما قرار دارد شرایط مطلوب را برای گیاه ایجاد کرد.
تجهیزات مورد نیاز
این تصور را می توان در قالب یک آموزش و از طریق برد wemos d1 mini و سنسور دما و رطوبت DHT11 و ماژول رطوبت خاک (Soil Moisture) با ماژول راه انداز YL-100 و یک ما ژول رله تک کانال و یک پمپ آب به واقعیت تبدیل کرد. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید
برد wemos D1 mini
سنسور دما و رطوبت محیط DHT11
ماژول رطوبت خاک YL-100
ماژول رله تک کانال
پمپ آب
برد Wemos D1 Mini
wemos d1 mini یک برد کنترل اینترنت اشیا بر پایه تراشه وای فای ESP8266 میباشد. توسط تراشه ESP8266 میتوان به شبکه وای فای Wifi متصل شد و داده ها را بین دستگاههای مختلف از طریق اینترنت دریافت و ارسال کرد. برد wemos d1 mini توسط نرم افزار قدرتمند آردوینو (Arduino) قابل راه اندازی است. برای اینکار کافیست در قسمت تنظیمات برد نرم افزار آردوینو، ESP8266 را نصب و راه اندازی کنید. برای اطلاع از نحوهی نصب و راه اندازی wemos d1 mini به آموزش زیر مراجعه کنید. پس از نصب ESP8266، در لیست انتخاب بردهای آردوینو، نسخه های مختلف با تراشه ESP8266 اضافه خواهد شد. آموزش راه اندازی برد wemos d1 mini را مشاهده بفرمایید. برای ارتباط با گیاه توسط گلدان هوشمند نیاز به یک بستر برای نگهداری و پردازش اطلاعات دارید. در این آموزش اطلاعات دریافتی از محیط گلدان و فرمان های ارسالی از سوی کاربر، توسط نرم افزار اینترنت اشیا Cayenne my devices پردازش می شوند.
اتصالات مدار
- پایه های سنسور رطوبت خاک را به ماژول آن وصل میکنیم.
- VCCماژول رطوبت خاک = ۵+ ولت برد
- پایه GNDماژول رطوبت خاک = GND برد
- پایه AO ماژول رطوبت خاک = پایه A0 برد
- پایه IN ماژول رله = پایه D1 برد
- پایه GND ماژول رله = پایه GND برد
- پایه VCC ماژول رله = پایه ۵+ ولت برد
- پایه IN سنسور DHT 11 = پایه D2 برد
- پایه VCC سنسور DHT 11 = پایه ۵+ ولت برد
- پایه GND سنسور DHT 11 = پایه GND برد
نرم افزار Cayenne my devices
این اپلیکیشن روی سخت افزارهای آردوینو Arduino ، بردهای امبدد از جمله رزبری پای Raspberry Pi و ماژولهای ESP8266 و حتی لورا LoRa قابل اجرا میباشد. کلیه فرآیند طراحی به صورت Drag & Drop میباشد. با برنامه Cayenne میتوانید از راه دور به تمامی سخت افزارها و ماژولهایی که در نظر دارید، فرمان دهید. توسعه نرم افزار از طریق سایت و اپلیکیشن Cayenne امکان پذیر است. محیط گرافیکی و رابط کاربری ساده از نقاط قوت این نرم افزار جذاب میباشد. برای شروع ابتدا باید وارد سایت Cayenne my devices شوید و حساب کاربری خود را ایجاد کنید.
پس از وارد شدن به حساب کاربری خودتان، بر روی منوی سبز رنگ Add new که در گوشه بالا سمت چپ قرا گرفته است، وارد منوی Device/Widget شوید. حالا از منوی Microcontrollers برد های با تراشه esp8266 را انتخاب کنبد.
در این قسمت ۳ عبارت برای شما به نمایش در می آید که عبارتند از MQTT Username , MQTT Password , Client ID و هر کدام از این عبارت ها در کدی که پیش تر قرار گرفته است جای گذاری می شوند.
هنگامی که با یک حساب کاربری وارد می شوید، MQTT Username و MQTT Password برای شما یکسان خواهد بود و برای هر MicroController یک Client ID به شما تعلق می گیرد. در این قسمت کد های پروژه را با هم مرور می کنیم.
کتابخانه آردوینو
برای برقرار شدن ارتباط برد، با نرم افزار Cayenne و همچنین استفاده از سنسور DHT کتابخانه های زیر را در صورتی که قبلا با آن ها کار نکرده اید، باید به کامپایلر آردوینو خود اضافه کنید.
#include <CayenneMQTTESP8266.h> #include <DHT.h> #include <DHT_U.h>غ
اتصال گلدان هوشمند به اینترنت
برای این که بتوانید همیشه اطلاعات گلدان خود را از هر مکانی دریافت کنید، نیاز دارید تا آن را به یک شبکه خانگی که اینترنت فعال دارد وصل کنید. تنها کافیست تا نام مودم و رمز عبور آن را در قسمتی که با نقطه چین مشخص شده است جایگزین کنید.
char ssid[] = "............."; char wifiPassword[] = ".............";
ارتباط با پلتفرم Cayenne
در این قسمت عبارت هایی را که از نرم افزار Cayenne دریافت کرده بودید را یک به یک در جای خود وارد کنید.
char username[] = "..........."; char password[] = "..........."; char clientID[] = "...........";
کدهای گلدان هوشمند با پلتفرم Cayenne را پس از اعمال تغییرات بر روی برد Wemos بارگذاری کنید.
#define CAYENNE_DEBUG #define CAYENNE_PRINT Serial #include <CayenneMQTTESP8266.h> #include <DHT.h> #include <DHT_U.h> #define DHTPIN D2 #define DHTTYPE DHT11 DHT_Unified dht(DHTPIN, DHTTYPE); int maxx=1023 ; #define relay D1 // اتصال رله #define Humsensor A0 // اتصال سنسور // WiFi network info. char ssid[] = "............."; // نام مودم وای فای خود را با رعایت بزرگ یا کوچک بودن حروف در این قسمت جایگزین کنید char wifiPassword[] = "............."; // رمز عبور وای فای خود را با رعایت بزرگ یا کوچک بودن حروف در این قسمت جایگزین کنید // اطلاعات دریافت شده از سایت را به طور مجزا در قسمت های زیر جایگزین کنید char username[] = "..........."; char password[] = "..........."; char clientID[] = "..........."; void setup() { Serial.begin(9600); Cayenne.begin(username, password, clientID, ssid, wifiPassword); pinMode(D1 , OUTPUT); delay(10); digitalWrite(relay , LOW); } void loop() { Cayenne.loop(); int x = analogRead(Humsensor); if (x<maxx) maxx = x ; int y = map(x, 1024, maxx , 0, 100); Cayenne.virtualWrite(1,y, "soil_moist" , "p" ); sensors_event_t event; dht.temperature().getEvent(&event); Cayenne.celsiusWrite(2, event.temperature); dht.humidity().getEvent(&event); Cayenne.virtualWrite(3, event.relative_humidity, "rel_hum", "p"); delay(200); } CAYENNE_IN(4) { digitalWrite(relay , !getValue.asInt()); }
راه اندازی Cayenne
اگر تمام مراحل را تا به این جا درست پشت سر گذاشته باشید، پس از اتصال برد به اینترنت نرم افزار Cayenne صفحه ای که در زیر مشاهده می کنید را به شما نمایش خواهد داد.
کانال ۱ در کد های برنامه به رطوبت خاک، کانال ۲ به دمای محیط، کانال ۳ به رطوبت محیط و کانال ۴ به رله اختصاص یافته است. بر روی + سبز رنگ بالای هرکانال کلیک کنید تا بتوانید تغییراتی را که می خواهید بر روی آن ها اعمال کنید. برای ویرایش نام و نوع نمایش از منوی تنظیمات هر کانال می توانید تغییرات لازم را اعمال کنید.
آبیاری دستی گلدان هوشمند
برای ایجاد کلید آبیاری کافیست تا از منوی Add New گزینه Device/Widget را انتخاب کنید. پس از آن با انتخاب منوی Custom Widget گزینه Button را انتخاب کنی. و مراحل را همانند تصویر زیر طی کنید.
Name: یک نام دلخواه انتخاب کنید.
Data: Digital Actuator
Unit: Digital 0/1
Channel: 4
choose icon: button
و در آخر گزینه Add Widget را انتخاب کنید.
آبیاری خودکار گلدان هوشمند
برای آبیاری اتوماتیک باید یک Trigger تعریف کنید. از منوی Add new گزینه Trigger را انتخاب کنید. در این مرحله یک If / That را مشاهده می کنید که می توانید به کمک آن آبیاری خودکار را برنامه ریزی کنید. برای این کار تنها کافیست تا برد خود را داخل منوی If بیندازید. واز منوی آن رطوبت خاک را که کانال ۱ می باشد انتخاب کنید. سپس با توجه به نوع گیاه بازه آبیاری را برای روشن و خاموش شدن پمپ تعریف کنید.
همچنین برای خاموش شدن پمپ باید همین روند را مجددا تکرار کنید. این بار فرمان If را زمانی که آبیاری انجام شد و رطوبت خاک به حالت ایده آل برای گیاه داخل آن رسید تعریف کنید و فرمان Then را به خاموش شدن پمپ اختصاص دهید.
گلدان هوشمند احساس گرا
برای ایجاد رویکرد احساس گرا در گلدان هوشمند میبایست، گیاه مورد نظر را خوب بشناسید. پیشنهاد میکنم از اینجا گیاه مورد نظر را بیشتر بشناسید. سپس گیاه را در گلدان هوشمند قرار داده؛ تا بتوانید شرایط نگهداری گیاه مورد نظر را بر روی نرم افزار Cayenne برای گلدان بارگذاری کنید. جهت ایجاد محیط بصری بایستی به تنضیمات Cayenne بروید. دمای محیط، با مشخص کردن رنگ های سبز ، قرمز و زرد برای گیاه خود با توجه به شرایط مطلوب محیطی آن، یک زبان بصری مانند شکل زیر به وجود آورید. تا بتوانبد احساس گیاه خود را نسبت به شرایط مختلف آب و هوایی مشاهده کنید.
جمع بندی
حالا شما می توانید با راه اندازی این پروژه و شناخت نسبی گیاهتان که قصد کاشتن آن را در گلدان دارید، شرایط محیطی گیاه را برای گلدان تعریف کنید تا گلدان بتواند بستری برای ارتباط شما با گیاهتان باشد
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
پروژه و دریافت بن ارسال رایگان
برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکههای اجتماعی از جمله آپارات و اینستگرام، با هشتگهای دیجی_اسپارک دانشجوکیت digispark daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
سلام.لطفا تصویری از نحوه اتصلات قطعات قرار دهید.
سلام.
با تشکر از توجه شما
نحوه اتصالات قطعات در آموزش قرار گرفت.
سلام.از چه طریقی مطمئن بشم driver به صورت صحیح نصب شده.برد رو میزنم به usb وdriver رو اجرا میکنم چراغش یکی دو ثانیه روشن میشه و بعدش کلن خاموش میشه.تلگرام ندارید تصویر بفرستم؟
سلام و روز به خیر.
شما می توانید آموزش کامل راه اندازی برد wemos D1 mini و ارتباط برد با کامپایلر آردوینو را در آموزش نصب و راه اندازی برد کنترل IOT اینترنت اشیاء Wemos D1 Mini مظالعه کنید.
همچنین می توانید لینک تصاویر خود را در انتهای همین آموزش قرار دهید.
الان مطمئن شدم درست وصل شدم.در نرم افزار اردوینو در قسمت تنظیم باید برد wemos d1 رو انتخاب کنم.یا esp8266?برنامه نویسی و کامپایل کردن به چه شکل؟اگر اشتراک spark رو بخرم کل برنامه نویسی رو در اختیارم میذاره؟
برای اتصال در کامپایلر آردوینو برد wemos D1 را انتخاب کنید.
برای دسترسی به کد های پروژه شما نیاز به اشتراک اسپارکر پلاس دارید.
سلام.
چطور میتونم این کد هارو با nodemcu esp8266 اجرا کنم؟
سلام
برای اجرا کردن کد ها بر روی Nodemcu، کافیه که در کامپایلرتون برد مورد نظر رو انتخاب کنید. و اتصالات رو به همین شکل به برد Nodemcu وصل کنید.
سلام توی کامپایلر بر nodemcu رو انتخاب میکنم و وقتی کد چراغ چشمک زن رو وارد میکنم همه چی درسته و چراغ روی برد شروع به چشمک زدن میکنه.
ولی وقتی کد های این مجموعرو وارد میکنم این اروور رو میده:
Arduino: 1.8.9 (Mac OS X), Board: “Generic ESP8266 Module, 80 MHz, Flash, Disabled, All SSL ciphers (most compatible), ck, 26 MHz, 40MHz, DOUT (compatible), 512K (no SPIFFS), 2, nonos-sdk 2.2.1 (legacy), v2 Lower Memory, Disabled, None, Only Sketch, 115200”
In file included from /Users/Milad/Documents/Arduino/sketch_may20b/sketch_may20b.ino:2:0:
/Users/Milad/Documents/Arduino/libraries/DHT_sensor_library/DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board Generic ESP8266 Module.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
با سلام.
خطا مربوط به یکی از کتابخانه های استفاده شده در پروژه می باشد.(error: Adafruit_Sensor.h:) کتابخانه هارا بررسی کنید و نتیجه را از طریق کامنت اعلام کنید.
سلام.دسترسی به سایت mydevices.com برای ایران قطع شده و با فیلتر شکن باید وارد شد.با وارد شدن به سایت هم انگار طوری تغییر دادن که تنها با اپ مخصوص میتوان کنترل کرد.لطفا از طریق اپ هم آموزش رو بروز کنید.
یا سلام.
برای ورود به پنل کاربری در سایت cayenne.mydevices.com به فیلتر شکن نیاز دارید. در انتهای صفحه اصلی در زیر منوی cayenne، گزینه های sign in و sing up free قرار گرفته است.
اگرپس از ورود با گوشی یا تبلت، آیکون های google play و app store را برای دانلود برنامه مشاهده کردید، با چرخاندن گوشی مشکل رفع خواهد شد.
سلام.
ارور
Arduino: 1.8.9 (Windows 7), Board: “WeMos D1 R2 & mini, 80 MHz, 115200, 4M (3M SPIFFS)”
sketch_may15a:3:32: error: CayenneMQTTESP8266.h: No such file or directory
#include
^
compilation terminated.
exit status 1
CayenneMQTTESP8266.h: No such file or directory
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
با سلام
کاربر گرامی ارور ارسالی مربوط به عدم نصب کتابخانه CayenneMQTTESP8266.h میباشد. جهت اطلاع از شیوه نصب به آموزش نصب کتابخانه در آردوینو مراجعه کنید. سپس موارد را از همین طریق اطلاع رسانی بفرمایید.
سلام مجدد.
ارور قبلی برطرف شد.الان اینو میگه
Arduino: 1.8.9 (Windows 7), Board: “WeMos D1 R2 & mini, 80 MHz, 115200, 4M (3M SPIFFS)”
In file included from C:\Users\Admin\Documents\Arduino\sketch_may15a\sketch_may15a.ino:5:0:
C:\Users\Admin\Documents\Arduino\libraries\DHT_sensor_library/DHT_U.h:36:29: fatal error: Adafruit_Sensor.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board WeMos D1 R2 & mini.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
با سلام
بسیار خب، این ارور هم مربوط به عدم نصب کتابخانه Adafruit_Sensor.h میباشد.
سلام
ایا اضافه کردن سنسور نور هم به این پروژه امکان پذیر هست؟ که در خروجی هم از یک رله دو کانال استفاده کنیم و در صورت کم شدن نور یک لامپ هم بتواند جبران سازی نور را بکند؟ اگر امکان پذیر است لطفا نام سنسور رابفرمایید
با سلام
با توجه به سخت افزارهای به کار رفته در این پروژه، بله این امکان وجود دارد. میتوانید از سنسور شدت نور GY-30 استفاده بفرمایید.
سلام.کدها رو کامل کامپایل کردم.بدون هیچ اروری کامپایل شدو در حال کامپایل کردن هم برد مداوم چشمک میزد.اما برد بعد از کامپایل شدن هیچ چشمکی که مثلن به وای فای وصل شده نمیزنه.بزرگی کوچکی حروف هم کنترل کردم.بعد توی اردوینو قسمت tools…board info که میرم bn رو میزنه unknown board.مشکل میتونه از این باشه.
با سلام
پس از آپلود شدن کدها، سریال مانیتور را باز کنید. وضعیت اتصال به شبکه را از آنجا میتوانید بررسی کنید. پس از بررسی از همین طریق اطلاع رسانی کنید.
سلام مجدد.در سریال مانیتور اینها رو نمایش میده
۹۷۵۸] Publish: topic 1, channel 1, value 99, subkey p, key soil_moist
[۱۳۰۱۱۶] Publish: topic 1, channel 2, value nan, subkey c, key temp
[۱۳۰۳۲۴] Publish: topic 1, channel 3, value nan, subkey p, key rel_hum
[۱۳۱۷۶۲] Connection ok
[۱۳۱۷۶۲] Publish: topic 1, channel 1, value 98, subkey p, key soil_moist
[۱۳۲۰۰۰] Publish: topic 1, channel 2, value nan, subkey c, key temp
[۱۳۲۳۱۱] Publish: topic 1, channel 3, value nan, subkey p, key rel_hum
[۱۳۳۷۶۲] Publish: topic 1, channel 1, value 99, subkey p, key soil_moist
[۱۳۴۰۰۲] Publish: topic 1, channel 2, value nan, subkey c, key temp
[۱۳۴۳۱۱] Publish: topic 1, channel 3, value nan, subkey p, key rel_hum
[۱۳۵۷۶۸] Publish: topic 1, channel 1, value 98, subkey p, key soil_moist
[۱۳۶۰۰۰] Publish: topic 1, channel 2, value nan, subkey c, key temp
[۱۳۶۳۱۳] Publish: topic 1, channel 3, value nan, subkey p, key rel_hum
که بطور مداوم رفرش میشه
با سلام
این مقادیر نشاندهنده ارسال اطلاعات میباشند. دقت داشته باشید که برخی از موارد اتصال سنسور قطع شده است.
سلام دوستان در چند روز اخیر platform cayenne شما ایا درست کار نمی دهد یا مشکل از من و اینترنت بنده است
مشکلم قطع و وصل شدن و برد با سرور cayenne است و عدم بر قرار اتصال با ان می باشد
سلام هرچی اسم سایتو سرچ می کنم باز نمی کنه
با سلام
متوجه منظور شما نشدم، چه اسمی را کجا جستجو میکنید؟
cayenne Login رو در گوگل کروم سرچ می کنم باز نمیشه
با سلام
لطفا از لینک روبرو استفاده کنید. https://mydevices.com/
سلام.خسته نباشید
من مراحل را انجام دادم.کد روی اردینو اپلود شد و رمز های مورد نظر رو هم واردکردم.سایت Cayenne برد روهم پیدا کرد.ولی در صفحه ی داشبورد ودر قسمت overview چیزی نمایش نمیده. ممنون میشم اگه راهنمایی کنید.
با سلام
متاسفانه طی چند ماه اخیر امکان ارتباط با سرورهای Cayenne فراهم نیست.
سلام مهندس با توجه به اینکه سایت فیلتر شده میتوان این پروژه را اجرا کرد یا نه ؟؟
با سلام
بله میتوانید از روشهای به سایت cayenne متصل شوید. دقت داشته باشید که سرویس Cayenne فیلتر نشده بلکه آی پی هایی که به آن خدمات ارایه میکنند را محدود کردهاند.
سلام از چه روش هایی میشه استفاده کرد و به سایت cayenne متصل شد ؟
با روترهایی که قابلیت تغییر DNS و IP دارند.