آردوینو اینترنت اشیا IOT برد ویموس Wemos پروژه های آردوینو

مدیریت مصرف انرژی با برد کنترل اینترنت اشیا Wemos D1 Mini بخش اول

Wemos-d1-mini-LDR-IOT-Digispark
نوشته شده توسط اروند طباطبایی

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

در آموزش قبلی از طریق یک وب سرویس لوکال و آی پی درون شبکه به یک ال ای دی فرمان قطع و وصل ارسال کردیم. ساده‌ترین پروژه اینترنت اشیاء IOT برای علاقمندانی که میخواهند شروع کنند. این ال ای دی یک نماد است. به همین روش میتوان بجای ال ای دی از یک رله جهت مدیریت وسایل الکتریکی استفاده کرد. در ادامه مجموعه آموزش‌های اینترنت اشیاء IOT بر پایه ESP8266 در این پست مقادیر سنسور شدت نور را میخوانیم. خواندن اطلاعات سنسور شدت نور LDR به تنهایی نیاز به اسکریپت پیچیده‌ای ندارد. از این رو علاوه بر خواندن اطلاعات سنسور آن را روی آی پی درون شبکه نمایش می‌دهیم.

 

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

برد کنترلی اینترنت اشیاء IOT Wemos Mini D1 بر پایه ESP8266

سنسور شدت نور LDR

مقاومت ۱۰۰ کیلو اهم

 

اتصال به برد

اتصالات این پروژه‌ هم مانند پروژه قبلی ساده است. یک پایه از سنسور LDR را به پین ۳٫۳ ولت برد Wemos Mini D1 وصل می‌کنیم. پایه دیگر را به پین A0 وصل میکنیم. سپس مقاومت ۱۰۰ کیلو اهم را به پایه A0 و GND برد وصل میکنیم. همانند تصویر زیر

wemos-and-ldr-iot webserver -digispark

سپس میتوانید کدهای زیر را در برنامه کپی و کامپایل کنید. چنانچه برد Wemos D1 Mini را به برنامه آردوینو معرفی نکرده‌اید. از آموزش نصب و راه اندازی برد کنترل اینترنت اشیاء Wemos D1 mini استفاده کنید. همانند آموزش قبلی در این آموزش به سه کتابخانه ESP8266Wifi و ESP8266mDNS و WifiUdp نیاز است. که معمولا در مخازن پیشفرض آردوینو موجود است. اگر به هنگام کامپایل کردن، با ارور این کتابخانه‌ها مواجه شدید، از طریق ثبت نظر در انتهای همین پست، جهت بررسی اقدام کنید.

 

کدهای برنامه:

نکته بسیار مهم:

به هنگام کامپایل کردن کدهای آردوینو از منو بالا سمت راست سریال مانیتور Arduino IDE را باز کنید. در این حالت با تصویر زیر مواجه می‌شوید. ابتدا پیغام WiFi connected و سپس Server started را نمایش میدهد. بعد از این دو، پیغام Use this URL : http://192.168.0.110  را نمایش میدهد. که آی پی برد کنترل اینترنت اشیاء Wemos D1 mini میباشد. در عملیاتی که من انجام دادم، آی پی ۱۱۰ را به این ماژول اختصاص داد. که این برای برد شما متفاوت خواهد بود.

wemos led iot -arduino -digispark

پس از این کافیست آی پی برد wemos را که از سریال مانیتور دریافت کردید؛ در یک مرورگر وارد کنید. سپس یک محیط وب سرور ساده به شما نمایش داده میشود. در این صفحه میتوانید ال ای دی متصل شده را توسط آیکون On و Off روشن و خاموش کنید. همانند تصویر زیر

wemos LDR iot -arduino - digispark

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

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

 

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

اروند طباطبایی

بنیانگذار دیجی اسپارک: اولین مرجع تخصصی امبدد سیستم به زبان فارسی / کارشناس سئو و تولید محتوا

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

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

۳۸ دیدگاه

    • با سلام
      چنانچه اس سنسور LDR به تنهایی استفاده میکنید؛ بله ولی چنانچه از ماژول LDR استفاده می‌کنید. نیازی نیست.

  • سلام
    ممنون از آموزش های خوبتون.
    یه سوال
    شما در آموزش هاتون، برد wemos رو به مودم وای فای (اکسس پوینت) وصل میکنید.
    آیا میشه خود برد wemos رو به عنوان یه اکسس پوینت معرفی کرد و ما به اون برد وصل بشیم و نیازی به مودم وای فای ( اکسس پوینت) نداشته باشیم ؟

    ممنون
    یا علی

  • با سلام خدمت استاد عزیزم
    استاد سوالی داشتم اینکه اگر بخواهم این آموزش را با کدهای آموزش DHT که خودتون نوشتید ترکیب کنم، چطور باید اقدام شود؟
    متشکرم

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

  • سلام اگر خواستم از موبایل استفاده کنم با node red می شود کار کرد ولی من توی سیستم کامپیوترم اول node red باز میکنم سپس شروع به فعالیت می کند

    • با سلام
      ضمن تشکر از توجه شما، بنده دقیقا متوجه سوال شما نشدم، لطفا واضح‌تر سوالتان را بیان کنید.

  • سلام
    برای این برد داخل برنامه چطور از دستورات AT استفاده کنیم؟ مثلا بخوایم تنظیمات حالت AP رو براش انجام بدیم

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

  • با سلام و تشکر از زحمات شما
    برنامه بعد از آپلود کردن ، “connecting to “ssid را می نویسد ولی wifi connected نمیزند وبه wifi وصل نمی شود
    مشکل از کجاست ؟
    قبلا از توجه شما متشکرم

      • سلام مجدد
        مشکل ارتباط حل شد و دقیق کار کرد ولی بعد از حدود ۱۰ دقیقه ارتباط قطع میشود و مجبورم ریست کنم . ایراد از کجاست

        • سلام مجدد
          ضمن عذرخواهی بابت تاخیر در پاسخگویی، در این خصوص در یکی از کامنت‌ها یک اسکریپت برای اتصال اتوماتیک ارسال کرده‌ام. اینجا هم برای شما ارسال می‌کنم. لطفا تست کنید و نتیجه را اعلام کنید.

          if (WiFi.status() != WL_CONNECTED) { // FIX FOR USING 2.3.0 CORE (only .begin if not connected)
          WiFi.begin(ssid, password); // connect to the network
          }
          while (WiFi.status() != WL_CONNECTED) {
          delay(500);
          Serial.print(“.”);
          }

          • خیلی ممنون لطف کردید …. قبل از اضافه کردن اسکریپت فوق ، با نوشتن آی پی در کامپیوتر ، مقدار ldr نمایش داده میشد و اگر همزمان از طریق یک دستگاه دیگر مثلا موبایل ، همان آی پی را چک می کردم ، احتمال قطع شدن افزایش پیدا می کرد و در قسمت سریال با نوشتن new client … ارتباط قطع میشد
            با اضافه کردن اسکریپت فوق هم مشکل برطرف نشد
            سوال : نمی توان از طریق یک آی پی ولید ، انتقال داده را انجام دهیم ، احتمالا این مشکل حل میشود

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

  • سلام به من گفتن از شماره دانشجو کیت :+۹۸۹۳۷۵۰۷۶۶۰۶
    ک اگر مشاوره فنی برای خرید نیاز دارم اینجا باید در بخش آموزش بپرسم لطفا ایمیل خود یا شماره یا Id تلگرام خود را اینجا بگذارید تا بتونیم در تماس باشیم ممنون.

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

      • سلام رله ssr میخواستم بگیرم با قیمت پایین و طول عمر بالا برای استفاده برای استفاده با wemos میخواستم البته چون ولتاژ wemos 3.3 ولته میدونم ریلی زیادی باهاش نمیخونه پس ریلی میخوام ک با منبع تغذیه جداگونه کار بکنه ۱۲ یا ۲۴ ولت فرمانش باشه و ولتاژ کنترل هم ۲۲۰ ولت برق شهری.قیمتش و طول عمرش خیلی مهمه چون یکی دو تا میگیریم اگ خوب بود اونوقت تعداد بالا میگیرم و تاثیر قیمتش توی تعداد بالا هم بفرمایید مثلا حدود ۲۰۰،۳۰۰ تا.

        • با سلام
          ضمن تشکر از توجه شما، ولتاژ خروجی در برد ویموس هم ۳٫۳ و هم ۵ ولت است. در خصوص قسمت دوم سوال شما، نیازی به استفاده از رله ۲۴ ولت نیست اگر ماژول رله ssr را تهیه کنید با همین برد ویموس میتوانید تغذیه کنید. در خصوص ولتاژ کنترل مشکلی نخواهد داشت. این ماژول دارای کیفیت مناسبی است. بنده در جریان تامین کننده‌های دانشجو کیت هستم و میدانم که از نوع مرغوب تهیه می‌شود. این موضوع را می‌توانید از همانجا هم مطرح کنید.

          • متشکر فقط این ماژول قرار است ۲۴ ساعت به میکروکنترلر روشن متصل باشد البته تعداد فرمان هایی ک به ماژول میرسد خیلی زیاد نیست شاید در ۲۴ ساعت ۵۰ بار به آن فرمان داده شود خواستم ببینم اینقدر دوام دارد؟ک برای طولانی مدت با این شرایط کار کند؟

            برای قطعه دیگری هم نیاز به مشاوره داشتم ممنون ک در مورد قطعه قبلی خیال ما را راحت کردید چون با توجه به رنج قیمت این ماژول در سایت های دیگر ک تا ۴۰ تا ۵۰ هزار تومن هم هست شک و تردیدی بوده و هنوز هم کمی هست لطفا در مورد این هم توضیح بدهید ممنون میشم چرا این ماژول ها اینقد گران هستند لینک نمیگذارم ک تبلیغ محسوب نشود با سرچ کوچکی میتوانید نمونه های فروانی بیابید.

            در مورد قطعه بعدی یک شیر الکتریکی برای کار کرد با رادیاتور نیاز داشتیم ک با شرایط فوق همان ۲۴ ساعت البته این یکی تعداد دفعات فرمان به طور چشم گیری بالا تر است لطفا این مورد هم معرفی کنید متشکر از زحمات شما. آموزش های شما هم بسیار خوب هستند.و از سطح استاندارد و خوبی برخوردارند خسته نباشید فقط اگر در خود کد ها بیشتر از // برای توضیح بیشتر استفاده کنید بسیار مفید تر و موثر تر است برای دیگران چون گاهی آن ها روش های دیگری برای انجام همان کار در نظر دارند و بدون توضیح شما متوجه نمیشوند ولی با توضیح هم فکر شما و روش شما را یاد میگیرند هم میتوانند از راه خود استفاده کنند.بابت پشتیبانی باز هم تشکر.

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

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

                  • حرف شما درست و منطقی ولی جالب است ک در بخش توضیحات نوشته شده برای استفاده صنعتی!نه تست.
                    و شما از طرفی فرمودید ک تعداد حدود ۵۰ تا ۱۰۰ برای ماژول چیزی به حساب نمیاید و مطلب دیگر این ک ssr از ماژول ریلی معمولی دوام بالاتری دارد.ماژول هایی هم ک در سایت های دیگر وجود دارد ذکر نشده ک برای چه کاری هستند برای مثال هوشمند سازی به طور کلی مشخصاتی ذکر شده و علاوه بر این فرمودید ک از روی قیمت هم نمیتوان قضاوت کرد در قسمت خود این محصول در مورد دوام آن با توجه به پیشنهاد شما سوال پرسیدم شما اگر راهنمایی دیگری دارید لطف کنید و اگر نه هم ک بسیار متشکر.در مورد شیر برقی برای کار با wemos هم لطفا اگر محصولی دارید معرفی کنید با تشکر.

                    • در خصوص اون موضوع لطفا در فروشگاه مطرح کنید. متاسفانه عیب کلی عموم سایت‌های دیگر همین است که میفرمایید و کاربرد و مشخصات فنی کالاها را ندارند. در خصوص سوالات محصولات هم لطفا از طریق فروشگاه اقدام کنید.

  • با سلام و تشکر از راهنماییهای شما.
    با استفاده از دستور ” root.ls(LS_R | LS_DATE | LS_SIZE ” اطلاعات فایلهای یک کارت حافظه بر روی سریال مانیتور نمایش داده می شود. اگر بخواهم اطلاعات کارت حافظه را همانند اطلاعات یک ورودی آنالوگ
    “(client.print(ldrValue” روی وب سرور بفرستم از چه دستوری باید استفاده کنم؟