آردوینو آموزش آردوینو اینترنت اشیا IOT اینترنت اشیاء عملی پروژه های آردوینو

آموزش کنترل LED از طریق IP با برد کنترل اینترنت اشیاء Wemos D1 Mini

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

در پروژه اینترنت اشیاء IOT اطلاعات بر بستر اینترنت جابجا میشوند. در فاز صنعتی امنیت اطلاعاتی بسیار اهمیت پیدا میکنند. همچنین اطلاعات یا دیتا به صورت مستقیم و کد گذاری شده، به سرور ارسال میشود و سپس از سرور بر روی دیوایس‌های مختلف ارسال میشود. برای درک بهتر این شیوه عملکرد، اولین پروژه عملی اینترنت اشیاء IOT بر پایه ESP8266 را در این پست شروع می‌کنم. در این سری از آموزش‌ها فقط با برد Wemos Mini D1 بر پایه ESP8266 پروژه‌ها را مطرح و عملی میکنیم. در ادامه با مرجع تخصصی اینترنت اشیاء iOT دیجی اسپارک همراه باشید.

 

این آموزش اولین آموزش اینترنت اشیاء عملی با برد Wemos Mini D1 میباشد. این برد یکی از کوچکترین و مقرون به صرفه‌ترین برد MCU برای اینترنت اشیاء IOT به حساب می‌آید. امید است با حمایت شما کاربران آموزش‌های بیشتری با این برد را منتشر کنم.

 

ساختار برد کنترل Wemos Mini D1

برد D1 mini توسط کمپانی Wemos متولد شده است. البته پس از موفقیت و استقبال کاربران از برد D1 که هم ابعاد برد آردوینو Arduino Uno بود. برد کنترلی Wemos D1 Miniدارای یک پایه آنالوگ و یک رابط SPI و یک رابط I2CC می‌باشد. با توجه به سنسورها و ماژول‌های که با این برد ارتباط میگیرند، اتصالات را برقرار میکنیم. ابعاد این برد ۲۵ * ۳۵ میلی متر است. همچنین دارای انواع شیلد Shield از جمله دما، نمایشگر، باتری بک آپ، درایور موتور و… برای پروژه‌های مختلف اینترنت اشیاء IOT می‌باشد.

 

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

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

ال ای دی LED

 

اتصال به برد

ساده‌تر از این اتصال نداریم. پایه بلند ال ای دی قطب مثب و پایه کوتاه قطب منفی است. پایه کوتاه را به پین G روی برد Wemos D1 Mini و پایه بلند ال ای دی را به پین ۴ متصل کنید. همانند تصویر زیر

wemos led iot digispark Wemos led iot-digispark

قبل از اقدام به کامپایل کردن کدها توسط نرم افزار آردوینو Arduino IDE نیاز است که مخازن برد wemos Mini D1 را به IDE  اضافه کنید. چنانچه با مراحل این کار آشنا نیستید، از آموزش نصب و راه اندازی برد کنترل IOT اینترنت اشیاء 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 led iot -arduino - digispark

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

 

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

 

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

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

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

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

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

۲۳۶ دیدگاه

  • سلام
    خیلى جالب بود، فقط من دارم الان این کارو میکنم ولى وقتى سریال مانیتور را باز میکنم، فقط یه سرى نقطه پشت سر هم میاره، میشه راهنمایى کنید؟

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

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

  • سلام
    برنامه اندرویدی اماده نداره؟
    که نخواد از طریق مرورگر خاموش روشن کنیش!
    اگه یک برنامه واسش پیداشه عالیه
    البته با blynk میشه ولی ی سری نقطه ضعف داره

  • سلام استاد طباطبایی
    ممنون از آموزشتون.آفرین
    در رابطه با وب پیج کنترلیش آیا میشه از صفحه گرافیکی با حجم بیشتری استفاده کرد؟
    تو این پروژه وب سرور نیاز هست؟اگر آره این نقشو کی بازی میکنه؟
    واینکه من از یک d1دیگری استفاده کردم,در کد نویسی مشکلی پیش نمیاد؟ابعاد و امکاناتش بیشتره مثلا پورت یو اس بی ,پاور,…ممنون میشم تا پایان این پروژه همراهیم کنید.اگر میشه یه کانال ارتباط مستقیم بهم بدید تاباهاتون در ارتباط باشم
    ممنون,پیروز و موفق باشید
    یاعلی

    • با سلام
      ضمن تشکر از توجه شما، در مورد وب پیج میتوان از نوع گرافیکی استفاده کرد. در این پروژه از وب سرور لوکال استفاده شده است. دقت بفرمایید که این مجموعه آموزش اینترنت اشیاء بر پایه برد Wemos تازه شروع شده و ادامه خواهد داشت. در ادامه آموزش‌های حرفه‌ای تر و مرتبط با درخواست شما کاربران منتشر خواهند شد.
      در مورد برد دیگر D1 باید هنگام کامپایل کردن نوع برد را با مدل انتخابی خودتان تطبیق دهید. همچنین اینکه پین‌های تعریف شده در کدها که یک پین آنالوک است. باید با پین مربوطه در برد شما تغییر کند. راه ارتباطی هم از همین طریق میتوانید اقدام کنید. که اگر کاربران دیگری به مشکل شما برخوردند، بتوانند از این مطالب استفاده کنند. همچنین برای آموزش بیشتر میتوانید به کانال دانشجو کیت در فرانش و یا در دوره‌های اینترنت اشیاء دانشجو کیت شرکت کنید.

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

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

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

  • سلام
    چند سوال
    ایا میشه این برد رو با برد اردوینو راه اندازی کرد؟
    و اینکه اگر بخوایم یه لامپ ۲۲۰ ولت رو اینجور خاموش روشن کنیم باید چیکار کنیم؟

    • با سلام
      منظورتون از سوال اول اگر راه اندازی این پروژه با یک برد آردوینو میباشد، نیاز به کمی تغییرات در مدار است. و پیشنهاد میکنم اگر میخواهید پروژه اینترنت اشیاء را به صورت عملی کار کنید، برد Wemos D1 mini بهترین انتخاب است. در مورد سوال دوم هم کافیست‌ پین‌هایی که به ال ای دی متصل شده اند را به یک ماژول رله متصل کنید.

  • سلام خسته نباشید با سایت خوبتون
    میخواستم بدونم میشه همین کار رو بدون اتصال سیمی ماژول وای فای با برد اصلی داشت ؟
    و اتصال ماژول با برد بی سیم باشه ؟
    اگه ممکن هست لینک آموزش رو بفرستید ممنونتون میشم

    • با سلام
      منظور شما از اتصال سیمی ماژول وای فای با برد اصلی چیست؟ لطفا دقیق تر توضیح دهید. این آموزش اتصال سیمی ندارد.

      • ببخشید کمی مبتدیم?
        اون یکی سر USB Mini که به ماژول وای فای (در ویدیو هست) به چی وصله؟
        برای فعال سازی این قطعه به رزپری پای یا آرودینو نیاز هست یا اینکه خیر ( قطعه با کمک یه Power Supply به روتر متصل میشه.) ؟
        من میتونم این قطعه رو با رزپری پای و یا ماژول دیگه ای مثلا Relay ترکیب کنم ؟

        خیلی ممنون میشم پاسخ بدین?

        • این پروژه را کافیست یکبار کامپایل کنید و مشخصات اتصال به وای فای را به آن بدهید، پس از آن کافیست به یک منبع تغذیه از جمله پاوربانک و یا باتری اتصال دهید. کابلی که در تصویر مشاهده میکنید، صرفا برای تغذیه برد به کار رفته است.
          برای فعال سازی فقط به یک سیستم عامل که توانایی راه اندازی IDE آردوینو را داشته باشد، نیاز است. که این کار را میتوانید از طریق برد رزبری پای و یا سیستم دسکتاپ و لپ تاپ و … انجام دهید.
          همچنین دقت داشته باشید که این برد برای تولید اطلاعات محیطی باید در مکان های مناسب نصب شود، برای آموزش تعریف پروژه اینترنت اشیا به کانال آموزش اینترنت اشیاء دانشجو کیت در فرانش مراجعه کنید.
          در مورد رله هم میتوانید ترکیب کنید، این یک برد mcu است و توانایی ترکیب با دیگر بردها و سنسورها را دارد.

  • سلام مهندس طباطبایی
    پروژه من یک پروژه دانشجویی هستش با وقت کم
    اگر امکانش هست راهنماییم کنید.
    نمیشه باهاتون تماس گرفت؟

  • Build options changed, rebuilding all
    Sketch uses 236412 bytes (22%) of program storage space. Maximum is 1044464 bytes.
    Global variables use 32552 bytes (39%) of dynamic memory, leaving 49368 bytes for local variables. Maximum is 81920 bytes.
    Uploading 240560 bytes from to flash at 0x00000000
    error: failed sending 1070 bytes
    .error: failed sending 1044 bytes
    .error: failed sending 1040 bytes
    .error: failed sending 1040 bytes
    .error: failed sending 1071 bytes
    .error: failed sending 1070 bytes
    .error: failed sending 1067 bytes
    .error: failed sending 1086 bytes
    .error: failed sending 1073 bytes
    .error: failed sending 1058 bytes
    .error: failed sending 1061 bytes
    .error: failed sending 1057 bytes
    .error: failed sending 1045 bytes
    .error: failed sending 1054 bytes
    .error: failed sending 1065 bytes
    .error: failed sending 1082 bytes
    .error: failed sending 1057 bytes
    .error: failed sending 1062 bytes
    .error: failed sending 1063 bytes
    .error: failed sending 1055 bytes
    .error: failed sending 1055 bytes
    .error: failed sending 1063 bytes
    .error: failed sending 1073 bytes
    .error: failed sending 1071 bytes
    .error: failed sending 1084 bytes
    .error: failed sending 1071 bytes
    .error: failed sending 1070 bytes
    .error: failed sending 1073 bytes
    .error: failed sending 1062 bytes
    .error: failed sending 1064 bytes
    .error: failed sending 1064 bytes
    .error: failed sending 1041 bytes
    .error: failed sending 1056 bytes
    .error: failed sending 1114 bytes
    .error: failed sending 1098 bytes
    .error: failed sending 1112 bytes
    .error: failed sending 1080 bytes
    .error: failed sending 1070 bytes
    .error: failed sending 1071 bytes
    .error: failed sending 1083 bytes
    .error: failed sending 1081 bytes
    .error: failed sending 1070 bytes
    .error: failed sending 1057 bytes
    .error: failed sending 1070 bytes
    warning: espcomm_send_command: didn’t receive command response
    warning: espcomm_send_command(FLASH_DOWNLOAD_DATA) failed
    warning: espcomm_send_command: wrong direction/command: 0x01 0x03, expected 0x01 0x04
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed
    سلام بنده خواستم برنامه را بریزم که با ارور بالا برخوردم چکار کنم؟؟؟؟
    با تشکر

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

  • سلام مهندس در رابطه با نوشتن یک اپ برای همین کنترل باید چکار کنم؟سورس های کنترلی داخل همین کدهای شماست,یا اینکه باید در اپ نویسی هم اورده شن؟
    باچندتا ماژول بیشتر
    ممنون و تشکر

    • با سلام
      ضمن تشکر از توجه شما، برای اپ نویسی چندین روش هست. البته هم کدهای کنترلی باید در این برنامه قرار گیرند و هم در اپ به صورت API در مورد آموزش اپ نویسی فعلا برنامه ای نداریم.

  • سلام مهندس امیدوارم همیشه موفق باشید .
    من میخوام چند ماژول esp8266 رو به یک روتر (ترجیحا بدون اتصال به اینترنت) وصل کنم و با گوشی به مودم وصل بشم و با هرکدوم از ماژول ها ارتباط برقرار کنم و تبادل داده داشته باشم . اما دقیقا نمیدونم چطور میتونم این کار رو انجام بدم . ممنون میشم راهنماییم کنید .

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

  • سلام مهندس
    من کد رو لود کردم اما به اکسس پوینت وصل نشد حروف رمز و اسم رو هم رعابت کردم,راهنمایی کنید
    برای اضافه کردن چند المان دیگه چه کنم؟
    تشکر

    • با سلام
      اسم روتور را دقت کنید که اگر حروف کوچک و بزرگ دارد، عینا از همانند حروف استفاده کنید.

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

  • با سلام وتشکر
    اگه بخوام چندتا کنترل دیگه بهش اضافه کنم با چکار کنم؟چندتا ال ای دی دیگه؟
    ممنون و تشکر

    • با سلام
      برای این موضوع همان خط کد را باید مجددا در کدها اضافه کنید و پین جدید را در ابتدای کد آدرس دهی کنید.

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

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

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

    • با سلام
      ضمن تشکر از توجه شما، لطفا دقت داشته باشید که در کدها مشخص شده است، کجا باید یوزر و پسورد روتر واى فاى را وارد کنید.
      const char* ssid = “اسم وای فای”;
      const char* password = “پسورد وای فای”;

      • بسیار سپاسگزارم.ممنون از جواب بسیار عالی و سریع.بله.درست شد
        یک سوال دیگه داشتم.من یک ماژول رله ۵ ولت مدل jqc 3ff s z دارم.حالا چطور باید اینو به مینی وصل کنم.vcc به ۵ ولت و g به g و IN به D4 وصل کردم ولی همواره رله چراغش روشنه و تغییری نمیکنه !
        چی کار کنم که بشه رله رو با D4 کنترل کنم
        باز هم ممنون

        • با سلام مجدد
          خواهش میکنم، در این مورد اتصالات را درست انجام داده‌اید. فقط اینکه در این کدها پایه D4 استفاده نشده است. بلکه پایه D2 استفاده شده است. لطفا پایه را به D2 اتصال دهید و مجددا بررسی کنید. همانند ال ای دی باید رله روشن و خاموش شود.

          • تشکر.من پایه in رله رو به دی ۲ وصل کردم.ولی اتفاقی نیفتاد
            به دی ۴ هم که وصل میکنم رله همواره چراغ سبزش روشن است.کد d4 هم به d2 تغییر دادم.ولی بازم روی دی۲ رله روشن میشود و خاموش نمیشود(مثل دی ۴)

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

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

  • سلام من کدها رو همان طور که گفته بودید کمپایل کردم اسم و پسورد هم وارد کردم اما وقتی سریال مانیتور رو باز میکنم هیچی نمیاد صفحه سفید میاد فقط

  • سلام
    کدهای توی سایتتون رونوشتم بدون تغییر,جاییش که لازم به تغییر نداره؟واگه داره بفرمایید,تا انجام بدم
    توی کانکت, در سریال مانیتور فقط نقطه میزنه,چندبارم که ریست میکنم فرفی نمیکنه ۰

    • با سلام
      ضمن تشکر از توجه شما، لطفا دو مورد را بررسی کنید: اگر در اسم وای فای از حروف بزرگ استفاده شده است، دقیقا عین همان را در کدها وارد کنید. مورد بعدی اینکه در سریال مانیتور سمت راست پایین Buad rate را حتما روی ۱۱۵۲۰۰ تنظیم کنید. این کارها را انجام دهید و چنانچه مشکل باقی بود از همین طریق اعلام کنید.

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

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

  • مهندس سلام ممنون وتشکر
    تعداد ماژول هامو افزایش دادم
    اماهر کلید برای همه رله هام عمل میکنه
    کجا باید روباید تغییر بدم برای هر کلید,واینکه قسمتی که نمایانگر روشن یاخاموش بودن هستش برای هر کلید جداباشه؟

  • سوال دیگه اینکه در رابطه با اضافه کردن کلید آخر برای استپ موتور کد استپ رو کجا باید اضافه کنم
    توی بحث کد نویسی ضعف دارم,ممنون میشن کمکم کنید
    فقط میخام ساعتگرد و خلافش باشه همین,
    یاعلی

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

  • مهندس سلام ممنون وتشکر
    تعداد ماژول هامو افزایش دادم
    اماهر کلید برای همه رله هام عمل میکنه
    کجا باید کدروتغییر بدم برای هر کلید,واینکه قسمتی که نمایانگر روشن یاخاموش بودن هستش برای هر کلید جداباید تغییرداده بشه که نمایانگر وضعیت همون کلید باشه؟

  • #include
    #include
    #include

    const char* ssid = “اسم وای فای”;
    const char* password = “پسورد وای فای”;

    int relaypin1 = D13; //connect led pin to d4 and ground
    int relaypin2 = D14;
    int relaypin3= D15;
    int relaypin4= D16;

    WiFiServer server(80);

    void setup() {
    Serial.begin(115200);
    delay(10);

    pinMode(relaypin1, OUTPUT);
    pinMode(relaypin2,, OUTPUT);
    pinMode(relaypin3, OUTPUT);
    pinMode(relaypin4,OUTPUT);

    digitalWrite(relaypin1, LOW);
    digitalWrite(relaypin2, LOW);
    digitalWrite(relaypin3,LOW);
    digitalWrite(relaypin4,LOW);
    // Connect to WiFi network
    Serial.println();
    Serial.println();
    Serial.print(“Connecting to “);
    Serial.println(ssid);

    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(“.”);
    }
    Serial.println(“”);
    Serial.println(“WiFi connected”);

    // Start the server
    server.begin();
    Serial.println(“Server started”);

    // Print the IP address
    Serial.print(“Use this URL : “);
    Serial.print(“http://”);
    Serial.print(WiFi.localIP());
    Serial.println(“/”);
    }

    void loop() {

    // Check if a client has connected
    WiFiClient client = server.available();
    if (!client) {
    return;
    }

    // Wait until the client sends some data
    Serial.println(“new client”);
    while(!client.available()){
    delay(1);
    }

    // Read the first line of the request
    String request = client.readStringUntil(‘\r’);
    Serial.println(request);
    client.flush();

    // Match the request

    int value = LOW;
    if (request.indexOf(“/LED=ON”) != -1) {
    digitalWrite(relaypin1, HIGH);
    digitalWrite(relaypin2, HIGH);
    digitalWrite(relaypin3, HIGH);
    digitalWrite(relaypin4, HIGH);

    value = HIGH;
    }
    if (request.indexOf(“/LED=OFF”) != -1){
    digitalWrite(relaypin1, LOW);
    digitalWrite(relaypin2, LOW);
    digitalWrite(relaypin3, LOW);
    digitalWrite(relaypin4, LOW);

    value = LOW;
    }

    // Return the response
    client.println(“HTTP/1.1 200 OK”);
    client.println(“Content-Type: text/html”);
    client.println(“”); // do not forget this one
    client.println(“”);
    client.println(“”);

    client.print(“relaypin 1 is now: “);
    client.print(“relaypin 2 is now: “);
    client.print(“relaypin 3 is now: “);
    client.print(“relaypin 4 is now: “);

    if(value == HIGH) {
    client.print(“On”);
    } else {
    client.print(“Off”);
    }
    client.println(“”);
    client.println(“Click here turn the relay on pin 13 ON”);
    client.println(“Click here turn the relay on pin 13 OFF”);
    client.println(“”);

    client.println(“”);
    client.println(“Click here turn the relay on pin 14 ON”);
    client.println(“Click here turn the relay on pin 14 OFF”);
    client.println(“”);

    client.println(“”);
    client.println(“Click here turn the relay on pin 15 ON”);
    client.println(“Click here turn the relay on pin 15 OFF”);
    client.println(“”);

    client.println(“”);
    client.println(“Click here turn the relay on pin 16 ON”);
    client.println(“Click here turn the relay on pin 16 OFF”);
    client.println(“”);

    delay(1);
    Serial.println(“Client disconnected”);
    Serial.println(“”);

    }

    این کدو به کمک کد شما نوشتم یه نگاه بهش کنید.
    کامپایلش نکردم
    و کد استپ هم بهش اضافه نکردم

    • با سلام
      ضمن تشکر از توجه شما، کدها را دریافت کردم، تا زمانى که تست و بررسى کنم، منتظر باشید. از همین طریق اعلام خواهم کرد.البته یک نکته اى، کدها به صورت ثبت کامنت درست ارسال نمیشوند، لطفا به صورت یک فایل متنى آپلود کنید و لینک ارسال کنید.

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

  • سلام مهندس
    خودتون میتونید کمکم کنیدآیا؟
    مشکل من هنوز حل نشده تا یه جاهایی پیش رفتم اما کامل نیست و گیروگور داره
    مخصوصا برای راهاندازی استپ,استپو روشن میکنه اما بصورت یک وقفه ۱ثانیه ای.بازدن هرکلید on
    خواهشا پاس ندید اینورو اونور
    خواهشا

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

    • با سلام
      ضمن تشکر از توجه شما، دیر کانکت شدن در شرایط سرعت اینترنت و سرعت روتر داخلی شماست. به هرحال نمیتوان از این پروژه انتظار سرعت در حد stand alone داشته باشید. برای چه منظوری میخواهید که حافظه آردوینو را پاک کنید؟

  • سلام
    برنامه رو بخاطر تغییرات زیادش زیاد لود کردم تعداد دفعات زیادی اینکارو انجام دادم
    بارهای اول سرعت بیشتری در کانکت داشت امل حالا نه
    خواستم با پاک سازی رام امتحان کنم شایدبهتر بشه؟
    نظرتون؟

  • سلام
    مهندس کامپایلر این ارور رو بهم میده
    Archiving built core (caching) in: C:\Users\clint\AppData\Local\Temp\arduino_cache_767998\core\core_esp8266_esp8266_d1_mini_CpuFrequency_80,UploadSpeed_9600,FlashSize_4M3M_b7e37844673bb4e9f36e908508755527.a
    Sketch uses 230703 bytes (22%) of program storage space. Maximum is 1044464 bytes.
    Global variables use 32604 bytes (39%) of dynamic memory, leaving 49316 bytes for local variables. Maximum is 81920 bytes.

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

  • سلام ممنون که خیلی خوب آموزش می دید ببشید اگه زحمتی نداره براتون آموزش روشن و خاموش کردن یک LED را از راه SMS بدید.
    ممنون

    • با سلام
      ضمن تشکر از توجه شما، در زمینه GSM چند آموزش در سایت وجود دارد. همچنین مجموعه آموزش Sim800L با همین منظور در دست تولید و انتشار است.

  • باسلام
    من موقع کامپایل کردن با این ارور موجه میشوم مشکل چیست؟
    ممنون میشم کمک کنید

    Arduino: 1.8.1 (Windows 10), Board: “WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)”

    Sketch uses 230671 bytes (22%) of program storage space. Maximum is 1044464 bytes.
    Global variables use 32572 bytes (39%) of dynamic memory, leaving 49348 bytes for local variables. Maximum is 81920 bytes.
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed

    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\LED: C:\Users\Mohammad\Documents\Arduino\libraries\LED
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a: C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led: C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\LED: C:\Users\Mohammad\Documents\Arduino\libraries\LED
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a: C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led: C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\LED: C:\Users\Mohammad\Documents\Arduino\libraries\LED
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a: C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led: C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\LED: C:\Users\Mohammad\Documents\Arduino\libraries\LED
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a: C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led: C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\LED: C:\Users\Mohammad\Documents\Arduino\libraries\LED
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a: C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led: C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\LED: C:\Users\Mohammad\Documents\Arduino\libraries\LED
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a: C:\Users\Mohammad\Documents\Arduino\libraries\sketch_sep18a
    Invalid library found in C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led: C:\Users\Mohammad\Documents\Arduino\libraries\wifi_led

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

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

  • Arduino: 1.8.1 (Windows 10), Board: “WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)”

    C:\Users\Mohammad\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-ar: unable to rename ‘C:\Users\Mohammad\AppData\Local\Temp\arduino_build_68504/arduino.ar’; reason: Permission denied

    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.

    ببخشید این ارور برای چیست؟

    • با سلام
      ضمن تشکر از توجه شما، اتصال برد شما به هنگام آپلود کدها دچار مشکل شده است. کارهای عمومی برای رفع:
      تعویض پورت USB
      استفاده از کابل دیگر
      ریست کردن سیستم
      آپدیت نرم افزار
      اگر مشکل رفع نشد، مجددا از همین طریق اقدام کنید.

  • سلام من Wemos Mini D1 را دارم فقط اون حاشیه ی رنگ آبی اش را که سیم به داخلش می رود و پایه های دیجیتالی دارد را ندارد. آیا می شه با این هم می شه درست کرد؟
    ممنون

    • با سلام
      ضمن تشکر از توجه شما، احتمالا برد شما ESP8266 است. البته برد wemos D1 Mini بر پایه همین تراشه ساخته شده است. این آموزش را با هر بردی میتوانید اجرا کنید، کافیست تغییرات را بر اساس همان برد اعمال کنید.

        • سلام مجدد
          در این زمینه، مدل‌های مختلفی از برد ESP8266 وجود دارد. از این رو یسته به پروتکل ارتباطی باید با یک برد میکرو یا مبدل USB به سریال و … این کار را انجام دهید.

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

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

  • سلام و احترام
    مهندس جان ارور زیر از چیه؟
    Arduino: 1.6.7 (Windows 10), Board: “Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 9600, 512K (64K SPIFFS), ck, Disabled, None”

    sketch_nov09a:7: error: ‘D4’ was not declared in this scope

    int ledPin = D4; //connect led pin to d4 and ground

    ^

    exit status 1
    ‘D4’ was not declared in this scope

    This report would have more information with
    “Show verbose output during compilation”
    enabled in File > Preferences.

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

  • Arduino: 1.6.7 (Windows 7), Board: “Arduino/Genuino Uno”

    C:\Users\ABBAS\Desktop\iot\_3ketabkhane_dec06a\_3ketabkhane_dec06a.ino:2:25: fatal error: ESP8266WiFi.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling.

    This report would have more information with
    “Show verbose output during compilation”
    enabled in File > Preferences.
    سلام
    ممنون از شما
    ارور بالا رو چطور برطرف کنم؟

  • با سلام
    ممنون از سایت خوبتون. مشکلی که من دارم این است که کیبورد در بات تلگرامم ندارم تا با انتخاب اون LED را روشن و خاموش کنم. میشه راهنمایی کنید؟
    سوال دوم اینکه: اگر برروی یک هاست دیگه ، بات تلگرام را راه اندازی کنم چطور میتونم به این برد متصل کنم؟

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

      • سلام
        منظورم این است که برروی یک هاست بصورت HTTPS یک ربات تلگرام را با روش webhook راه اندازی کردم ولی نمیتونم از طریق آن به برد فرمان بدهم. امکان داره راهنمایی بفرمائید در این حالت باید چکار کنم؟

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

  • Arduino: 1.8.5 (Windows 8.1), Board: “Arduino/Genuino Uno”

    C:\Users\mohammad\AppData\Local\Temp\ccfxBOOG.ltrans0.ltrans.o: In function main':

    C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:43: undefined reference to setup’

    C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:46: undefined reference to `loop’

    collect2.exe: error: ld returned 1 exit status

    exit status 1
    Error compiling for board Arduino/Genuino Uno.
    Board at COM1 is not available
    Board at COM1 is not available
    Board at COM1 is not available
    Board at COM1 is not available
    Board at COM1 is not available
    Board at COM1 is not available
    Board at COM1 is not available
    Board at COM1 is not available
    Board at COM1 is not available
    Board at COM1 is not available
    Board at COM1 is not available
    Board at COM1 is not available

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    این برای چیه؟؟؟

  • Arduino: 1.8.5 (Windows 8.1), Board: “Arduino/Genuino Uno”

    C:\Users\mohammad\Documents\Arduino\sketch_dec21a\sketch_dec21a.ino:1:25: fatal error: ESP8266WiFi.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

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

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

      • سلام
        ممنون از پاسخ شما
        هدفم این هست که مثلا با پیاده سازی توکن بشه دسترسی داشته به ماژول. یعنی اعتبارسنجی در ابتدا انجام بشه و از این به بعد برای سایر درخواست ها نیاز باشه که توکن هم ارسال بشه.

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

  • سلام مهندس
    من میخواستم این پروژه رو بتونم از طریق اینترنت کنرل کنم.این الان فقط یک شبکه محلی و داخلی داره.میخواستم بتونم از هر جای دیگه ای که وصل شدم این کارو انجام بدم.میگفتن با تنظیمات port forwarding مودم میشه.من اون کار رو هم انجام دادم و آی پی دینامیک مودم رو هم گرفتم(چون استاتیک ندارم)و الان که در مرورگر آی پی رو میزنم وب سرورم میاد ولی بازم فقط حالت داخلی داره .یعنی فقط زمانی میتونم وصل شم که از همون مودم اصلی اینترنت گرفته باشم.مثلا با اینترنت گوشی نمیتونم وب سرورو ببینم.میشه لطف کنید بگید باید چیکار کنم.هر کاری که به ذهنتون میرسه بگید انجام میدم فقط لطف کنید کمکم کنید خیلی احتیاجش دارم.ممنون

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

  • با سلام و تشکر از زحمات

    اول اینکه به دوستان اعلام کنم ورژن آردوینو ۱٫۸٫۴ روی XP برای این ماژول جواب نمی ده!! یک جمعه وقت گزاشتم تا فهمیدم این مشکل جهانی هست. و پیشنهاد شده از ورژن ۱٫۶٫۵ استفاده بشه

    مشکل از استاد محترم ، همه موارد درست انجام شده کانکت هم می شه ولی آی پی را که در مرورگر می زنم
    The connection has timed out
    می ده و چیزی نشون نمی ده چیکار باید بکنم

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

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

  • با درود به استاد گرامی

    استاد چطوری می شه فایلی که روی حافظه فلش ۸۲۶۶ ( spiffs) ذخیره کردیم را به نحوی به موبایل کامپیوتر ایمیل یا وب یا هر جای دیگه ای انتقال بدیم تا بتونیم محتویاتش را ببینیم . خیلی سرچ کردم چیزی پیدا نکردم. شما کدی دارید؟
    سپاس

      • با درود

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

    • با توجه به دسترسی ماژول به اینترنت، میتونید محتویات فایل رو با پیاده سازی api سمت سرور، با متد post ارسال کنید.

  • Arduino: 1.8.3 (Windows 8.1), Board: “Arduino Uno WiFi”

    Build options changed, rebuilding all
    In file included from C:\Users\Amir\Documents\sketch_jan06a\sketch_jan06a.ino:2:0:

    C:\Users\Amir\Documents\Arduino\libraries\ESP8266WebServer\src/ESP8266WebServer.h:27:22: fatal error: functional: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino Uno WiFi.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

  • Arduino: 1.8.5 (Windows 8.1), Board: “WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)”

    Archiving built core (caching) in: C:\Users\mohammad\AppData\Local\Temp\arduino_cache_65208\core\core_esp8266_esp8266_d1_mini_CpuFrequency_80,UploadSpeed_921600,FlashSize_4M3M_7a246ea957d9c5fce2effc234d385027.a
    Sketch uses 230679 bytes (22%) of program storage space. Maximum is 1044464 bytes.
    Global variables use 32588 bytes (39%) of dynamic memory, leaving 49332 bytes for local variables. Maximum is 81920 bytes.
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    اشکال در چیست؟؟؟

      • Arduino: 1.8.5 (Windows 8.1), Board: “WeMos D1 R2 & mini, 80 MHz, 115200, 4M (3M SPIFFS)”

        Archiving built core (caching) in: C:\Users\mohammad\AppData\Local\Temp\arduino_cache_83115\core\core_esp8266_esp8266_d1_mini_CpuFrequency_80,UploadSpeed_115200,FlashSize_4M3M_7a246ea957d9c5fce2effc234d385027.a
        Sketch uses 230679 bytes (22%) of program storage space. Maximum is 1044464 bytes.
        Global variables use 32588 bytes (39%) of dynamic memory, leaving 49332 bytes for local variables. Maximum is 81920 bytes.
        error: failed reading byte
        warning: espcomm_send_command: cant receive slip payload data
        error: failed reading byte
        warning: espcomm_send_command: cant receive slip payload data
        error: failed reading byte
        warning: espcomm_send_command: cant receive slip payload data
        error: failed reading byte
        warning: espcomm_send_command: cant receive slip payload data
        error: failed reading byte
        warning: espcomm_send_command: cant receive slip payload data
        error: failed reading byte
        warning: espcomm_send_command: cant receive slip payload data
        error: failed reading byte
        warning: espcomm_send_command: cant receive slip payload data
        error: failed reading byte
        warning: espcomm_send_command: cant receive slip payload data
        error: failed reading byte
        warning: espcomm_send_command: cant receive slip payload data
        warning: espcomm_sync failed
        error: espcomm_open failed
        error: espcomm_upload_mem failed
        error: espcomm_upload_mem failed

        Invalid library found in D:\Arduino\libraries\libraries: D:\Arduino\libraries\libraries
        Invalid library found in D:\Arduino\libraries\libraries: D:\Arduino\libraries\libraries

        This report would have more information with
        “Show verbose output during compilation”
        option enabled in File -> Preferences.

        • سلام مجدد
          اگر از کدهایی غیر از این آموزش استفاده میکنید و یا اتصالات دیگری به برد متصل کرده‌اید، آن‌ها را جدا کنید و سپس اقدام به آپلود کدها کنید. درضمن ارور Invalid library found in هم دارید. که نیاز به بررسی کتابخانه‌های نصب شده است.

        • Archiving built core (caching) in: C:\Users\mohammad\AppData\Local\Temp\arduino_cache_343301\core\core_esp8266_esp8266_d1_mini_CpuFrequency_80,UploadSpeed_115200,FlashSize_4M3M_7a246ea957d9c5fce2effc234d385027.a
          Sketch uses 230679 bytes (22%) of program storage space. Maximum is 1044464 bytes.
          Global variables use 32588 bytes (39%) of dynamic memory, leaving 49332 bytes for local variables. Maximum is 81920 bytes.
          اینو تو کامپایل کردن میده نوشته بالاییش قرمزه
          این
          Archiving built core (caching) in: C:\Users\mohammad\AppData\Local\Temp\arduino_cache_343301\core\core_esp8266_esp8266_d1_mini_CpuFrequency_80,UploadSpeed_115200,FlashSize_4M3M_7a246ea957d9c5fce2effc234d385027.a

          • سلام مجدد
            برخی مواقع برای بنده هم چنین مشکلاتی به هنگام کار با این برد بوجود می‌آید، موارد رفع بسیار ساده است. مثلا پورت را عوض کنید یا اینکه در نهایت سیستم را ریست کنید. همچنین اگر ورژن آردوینو پایین دارید حتما آپدیت کنید.

  • یک نکته دیگه در مورد پاسخ اون دوستی که پرسیده بود میشه گرافیکی وب رو بهبود داد، پاسخ بله هست، فکر کنم بشه با فلش کردن firmware کدهای html رو داخلش embedded کرد و وب سرور لوکال با طرح گرافیکی بهتر رو لود کرد رو روتر محلی

  • یک سوال دیگه هم دارم اینه که چه مزیتی در برد Wemos D1 Mini هست که شما ترجیح دادین به Node MCU؟ آیا از لحاظ آنتن دهی وای فای و کامپایل شدن راحتتره؟

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

    • در این خصوص ربطی به مدل کامپیترها ندارد. بیشتر مربوط به سیستم عامل و فونت‌های نصب شده است. این ویندوزها تمام کرک هستند و چنین مواردی بدیهی است. البته ورژن نرم افزار آردوینو هم میتواند در این خصوص دخیل باشد. یا اینکه نسخه کتابخانه نصب شده متفاوت باشند.

  • این رو هم اضافه کنم که سرعت baud مانیتور اردئینو رو هم روی ۱۱۵۲۰۰ و ۹۶۰۰ و ۵۷۶۰۰ تنظیم کردم ، متناسب با کد داخل اردوئینو، اما بازم حروف عجیب با سرعت صفحه مانیتور رو فقط پر می کنن

      • چند مرتبه کابل رو جدا / وصل کردم یکبار به روتر وصل شد اما باز که امتحان کردم دوباره قطع شد، ایا بخاطر این نیست که باید برم تو روترم تنظیماتی انجام بدم؟
        من فقط کابل node mcu رو وصل کردم و رفتم تو arduino IDE و اونجا برد رو شناسوندم و اپلود کردم ، فقط همین!

  • سلام و خسته نباشید.
    واسه من این ارور رو میده…ماژول wemos d1 mini کدهم همینایی که شما نوشتین
    کابل رو عوض کردم، پورت رو عوض کردم، سیستم رو ریستارت کردم و برنامه آردوینو هم آپدیت کردم بازم همسن ارور رو میده
    تورو خدا بگید چیکار کنم…
    Arduino: 1.8.5 (Windows 7), Board: “WeMos D1 R2 & mini, 80 MHz, 115200, 4M (3M SPIFFS)”

    C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Mohammad\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Mohammad\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Mohammad\Documents\Arduino\libraries -fqbn=esp8266:esp8266:d1_mini:CpuFrequency=80,UploadSpeed=115200,FlashSize=4M3M -ide-version=10805 -build-path C:\Users\Mohammad\AppData\Local\Temp\arduino_build_901598 -warnings=none -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.esptool.path=C:\Users\Mohammad\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.9 -prefs=runtime.tools.mkspiffs.path=C:\Users\Mohammad\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\0.1.2 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\Mohammad\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2 -verbose C:\Users\Mohammad\Desktop\wifi\wifi.ino

    Board d1_mini (platform esp8266, package esp8266) is unknown

    Error compiling for board WeMos D1 R2 & mini.

    • با سلام و تشکر از توجه شما
      قسمت (platform esp8266, package esp8266) is unknown ارور دریافت شده است. احتمالا مشکل از برنامه شماست. لطفا یک برنامه ساده را روی برد تست کنید، سپس موارد را اطلاع رسانی کنید.

        • از پاسخ گویی شما ممنونم…
          این برنامه ساده که جزء example های کتابخانه wemos mini d1 بود هم امتحان کردم و توی نرم افزار آردوینو board رو wemos d1 R2 & mini انتخاب میکنم…

          void setup() {
          pinMode(BUILTIN_LED, OUTPUT); // initialize onboard LED as output
          }

          void loop() {
          digitalWrite(BUILTIN_LED, HIGH); // turn on LED with voltage HIGH
          delay(1000); // wait one second
          digitalWrite(BUILTIN_LED, LOW); // turn off LED with voltage LOW
          delay(1000); // wait one second
          }

          اما باز هم جواب نمیده و این ارور رو میده
          Arduino: 1.8.5 (Windows 7), Board: “WeMos D1 R2 & mini, 80 MHz, 115200, 4M (3M SPIFFS)”

          C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Mohammad\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Mohammad\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Mohammad\Documents\Arduino\libraries -fqbn=esp8266:esp8266:d1_mini:CpuFrequency=80,UploadSpeed=115200,FlashSize=4M3M -ide-version=10805 -build-path C:\Users\Mohammad\AppData\Local\Temp\arduino_build_106190 -warnings=none -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\Mohammad\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2 -prefs=runtime.tools.esptool.path=C:\Users\Mohammad\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.8 -prefs=runtime.tools.mkspiffs.path=C:\Users\Mohammad\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\0.1.2 -verbose C:\Program Files (x86)\Arduino\libraries\D1_mini_Examples\examples\01.Basics\Blink\Blink.ino

          Board d1_mini (platform esp8266, package esp8266) is unknown

          Error compiling for board WeMos D1 R2 & mini.

        • از پاسخ گویی شما ممنونم…
          این برنامه ساده که جزء example های کتابخانه wemos mini d1 بود هم امتحان کردم و توی نرم افزار آردوینو board رو wemos d1 R2 & mini انتخاب میکنم…

          void setup() {
          pinMode(BUILTIN_LED, OUTPUT); // initialize onboard LED as output
          }

          void loop() {
          digitalWrite(BUILTIN_LED, HIGH); // turn on LED with voltage HIGH
          delay(1000); // wait one second
          digitalWrite(BUILTIN_LED, LOW); // turn off LED with voltage LOW
          delay(1000); // wait one second
          }

          اما باز هم جواب نمیده و این ارور رو میده
          (x86)\Arduino\libraries\D1_mini_Examples\examples\01.Basics\Blink\Blink.ino

          Board d1_mini (platform esp8266, package esp8266) is unknown

          Error compiling for board WeMos D1 R2 & mini.

  • سلام
    مهندس
    عذر میخوام از خدمتتون چه جوری میتونم این پروژه رو غیر از local انجام بدم؟
    ممنون میشم راهنماییم کنید

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

  • با سلام؛
    اگر ممکن هست بخش کد نویسی html رو بیشتر توضیح دهید.
    همچنین نحوه ی کنترل RGB LED Stirp رو نیز از طریق کد های مشابه این برنامه توضیح دهید.
    ضمنا برای کا کردن همین کد با برنامه ی Blynk چه کاری باید انجام داد تا اپ بلینک کد دلخواه مثل LED=ON رو ارسال کند؟

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

  • سلام جناب طباطبایی
    من میخواهم همین پروژه را از طریق اپلیکیشن موبایل انجام بدم یعنی
    برد من از طریق یوزر و پس به مودم وصل بشه و یک آی پی و پورت ثابتهم داشته باشه و با فرمان on,off ال ای دی روشن و خاموش بشه و این کا با اپلیکیشن موبایل باشه نه با صفحه وب البته قسمت اپلیکیشن و نمیخوام و فقط کد آردوینو را میخواهم
    متشکرم

    • با سلام و تشکر از شما
      در این خصوص پیشنهاد می‎کنم به آموزش مدیریت مصرف انرژِی با برد کنترل اینترنت اشیاء Wemos D1 Mini مراجعه کنید. موارد را مطالعه بفرمایید، البته اگر میخواهید به صورت Local از طریق اپلیکیشن دسترسی داشته باشید، می‌توانید از کدها ایده بگیرید. پس از بررسی موارد را از همین طریق ادامه دهید.

  • سلام و خسته نباشید
    مهندس من این پروژه رو انجام دادم و به ماژول رله متصل کردم چون جریان راه اندازی رله بیشتر است و برد wemose توانایی روشن و خاموش کردنش رو ندارد چه کاری باید انجام بدم تا بتونم رله رو با بردwemoseکنترول کنم ممنون میشم زودتر جواب بدین ممنون

  • سلام خیلی ممنونم از آموزش بسیار خوبتون
    من تازه کار هستم لطفا راهنماییم کنید
    بنده در پروژه ام باید داده های خروجی از ۶ سنسور لرزش را به صورت وایرلس به لپ تاپم منتقل کنم. آیا این برد برای کار بنده مناسب است؟
    اگر نیست شما چه برد و ماژول‌هاییو پیشنهاد میکنید؟
    از پیش بابت راهنماییتون بسیار سپاس گزارم

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

  • سلام
    چجوری میشه با وصل کردن یه برد به اینترنت از یجای دیگه با موبایل و اینترنت همراه مثلا همین LED رو روشن و خاموش کرد؟ مثلا فرض کنید توی دانشگاه هستیم و چراغ همین برد رو که توی خونه هست خاموش کنیم

      • سلام من با یک روش دیگر از طریق اینترنت گوشی هات اسپات و یک اپ اندرویدی تونستم این مشکل را حل کنم و دوستانی که با تلگرام رفتن جلو مثل من و جواب نگرفتن می تونن به من بگن تا راهنمایی کنم در تلگرام شماره من ۰۹۱XXXXXXX و در سروش شماره من۰۹۰XXXXXX می باشد در ضمن این از تلگرام با کلاس تر هم است و جلوه هوشمند تری دارد

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

  • درود و خسته نباشید
    من دارم کار خانه هوشمند برای خودم انجام میدم میخواستم ببینم میتونم یک esp8266رو روی مد کاری Access pointبزارم و چندین Stationرو بهش متصل کنم و با Android که به همون Access point وصل شده کنترل کنم تمام اتصالات رو

  • یه سوال دارم خدمتتون اینکه شما این آموزش رو به صورت عملی هم انجام دادید یا فقط به صورت آزمایشگاهی؟
    اگه به صورت عملی انجام دادین با مشکل هنگ مکرر برد d1 mini مخصوصا وقتی با چند دستگاه به آدرس آیپیش میریم و خاموش روشنش میکنیم مواجه نشدید؟
    و این هنگ کردن فقط با ریست برد برطرف میشه

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

  • سلام.
    آموزشتون خیلی عالی بود. من این برد را خریدم و از طریق سایت شما راه اندازیش کردم و الان هم وصلش کردم به یک شارژر گوشی و داره کار میکنه. نکته جالبی که وجود داره اینه که من از پین ۲ دیجیتال خروجی میگیرم چراغ ال ای دی داخلی روشن میشه. یا مثلا تو محیط برنامه نویسی نوشتم از پین ۳ خروجی داده بشه ولی خبری نیست! نمیتونه شماره پین ها روی برد اشتباه باشه آخه. من یک پین را تو IDE تعیین کنم و بعد از کامپایل خروجی به شماره پین دیگری داده بشه. من IDE 1.8.5 را روی ویندوز ۱۰ نصب کردم. فکر می کنید اشکال از کجاست؟ با تشکر فراوان

  • #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    با سلام خدمت شما استاد عزیز من برنامه را وقتی کامپایل میکنم ارور بالا را میدهد باید چه کار کنم استاد؟

    • با سلام
      کاربر گرامی جهت دریافت راهنمایی لطفا اطلاعات دقیق‌تری ارایه دهید. اینکه شیلد رله ویموس را تهیه کرده‌اید؟ یا اینکه صرفا یک ماژول رله؟ آدرس دهی فرمان به رله را چطور در کدها تعریف کردید؟

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

  • با سلام و خسته نباشید
    مهندس بنده یک شیلد رله مخصوص minid1خرید کردم درحالت کلی برد wemoseقطع و وصل را انجام می دهد ولی شیلد رله کار نمیکند ؟ و رله عملیات قطع و وصل را انجام نمیدهد ؟ به نظر شما مشکل کجاست؟