برد NodeMCU یکی از پرمصرف ترین بردهای امبدد در زمینه اینترنت اشیاء IOT میباشد. خصوصا اینکه در ساختار اصلی این برد از تراشه ESP32 استفاده شده است. نسل جدید تراشه ESP در ابعاد ۴۸ نانو متری با راندمان و مصرف انرژی بهینهتر معرفی شده است. نام این تراشه ESP32 میباشد. تراشه ESP32 علاوه بر وای فای از بلوتوث نسل ۴ هم پشتیبانی میکند. ابعاد این برد با برد NodeMCU دقیقا یکسان است. دانستن یک نکته حائز اهمیت است. این نوع برد در دو مدل ارایه میشود یکی دارای ۳۰ پایه GPIO و دیگری دارای ۳۴ پایه GPIO میباشد. مدل Node MCU ESP32 که من در این آموزش از آن استفاده میکنم، ۳۰ پایه دارد. در ادامه مجموعه آموزشهای برد ESP32 با مرجع تخصصی اینترنت اشیاء دیجی اسپارک همراه باشید.
شروع نصب برد NodeMCU نرم افزار آردوینو
همانطور که میدانید در نرم افزار آردوینو یا همان Arduino IDE امکان انتخاب انواع بردهای مختلف وجود دارد. از آنجایی که این جامعه اوپن سورس میباشد؛ معمولا اکثر بردهای پر مصرف قابلیت ارتباط با این نرم افزار سبک و ساده را دارند. برای شروع اگر نرم افزار آردوینو را ندارید، از منبع اصلی یعنی وب سایت آردوینو Arduino دانلود کنید. سپس نیاز به نرم افزار گیت Git دارید. برای دانلود گیت Git از سایت اصلی استفاده میکنیم. مراحل دانلود گیت ساده است، کافیست فایل Auto Run را باز کنید و مراحل را به صورت Next Next تا انتها پیش بروید. سپس نرم افزار گیت Git نصب میشود. حالا میتوانید نرم افزار را راه اندازی کنید. پس از راه اندازی نرم افزار Git GUI محیط زیر را مشاهده میکنید.
سپس گزینه دوم Clone Existing Repository را انتخاب میکنیم. پنجره زیر باز میشود.
در این مرحله کافیست در پنجره اول Source Location آدرس سورس ESP32 در گیت هاب را وارد کنیم. دقت داشته باشید که مراجع زیاد است ولی این سورس مورد تایید دیجی اسپارک میباشد.
https://github.com/espressif/arduino-esp32.git
سپس در قسمت تارگت Target Directory آدرس مرجع در سیستم خودتان را باید وارد کنید. معمولا در پوشه داکیومنت میباشد. که به این صورت باید وارد کنید.
C:/Users/[YOUR_USER_NAME]/Documents/Arduino/hardware/espressif/esp32
نکته: آدرس قسمت تارگت باید همان آدرسی باشد که نرم افزار آردوینو در سیستم شما نصب شده است. در سیستم من در درایو C نصب شده است. اگر این مسیر را درست انتخاب نکنید، نوع برد در قسمت بردهای نرم افزار آردوینو Arduino اضافه نخواهد شد.
پس از اینکه این مراحل انجام شد، وارد آدرس زیر شوید و روی گزینه get.exe کلیک کنید تا اجرا شود. در این حالت پنجرهی ترمینال همانند تصویر باز میشود. صبر کنید تا دانلود تکمیل شود، پس از تکمیل پنجره کامند خود به خود بسته خواهد شد. دقت داشته باشید که این آدرس هم همانند بخشی مربوط به محل نصب نرم افزار آردوینو Arduino میباشد.
C:/Users/[YOUR_USER_NAME]/Documents/Arduino/hardware/espressif/esp32/tools
پس از انجام این مراحل، چنانچه نرم افزار آردوینو Aruino IDE را باز کنید، در منو Tools > Board گزینههایی اضافه خواهد شد. که یکی از این گزینهها NodeMCU 32ُ میباشد. با انتخاب این گزینه میتوانید کدهای مربوطه را آپلود کنید. یک نمونه کد سبک جهت بدست آوردن ID تراشه ESP32 در ادامه قرار دادهام. با کپی و آپلود آن روی برد میتوانید از طریق سریال مانیتور نرم افزار آردوینو آی دی تراشه را بدست آورید.
نمونه کد ESP32 ChipID
uint64_t chipid; void setup() { Serial.begin(115200); } void loop() { chipid=ESP.getEfuseMac();//The chip ID is essentially its MAC address(length: 6 bytes). Serial.printf("ESP32 Chip ID = %04X",(uint16_t)(chipid>>32));//print High 2 bytes Serial.printf("%08X\n",(uint32_t)chipid);//print Low 4bytes. delay(3000); }
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.
سلام
میشه بیشتر راجع به تراشه ESP32 توضیح بدهید. ممنونم
با سلام
ضمن تشکر از توجه شما، توضیحات در این مورد زیاد است. سوال شما خیلی کلی است و نمیتوان پاسخ مناسبی برای آن ارایه کرد. ولی در حالت کلی تراشه ESP32 علاوه بر وای فای از بلوتوث هم پشتیبانی میکند. خصوصا اینکه دارای مصرف انرژی بهینه و اصلاح شده میباشد. بردهای مختلفی با این تراشه توسعه و تولید شده است. که در این آموزش از مدل Node MCU با تراشه ESP32 استفاده شده است.
باسلام و خسته نباشید.
میخواستم بدونم وقتی برد ولتاژ ۳٫۳v میده و من یک رله دارم که ۵ ولت VCC لازم داره، چطوری باید ولتاژ این رله رو از همین برد بگیرم ؟ از ESP-12 هم استفاده میکنم.
با سلام
ضمن تشکر از توجه شما، اگر از برد NodeMCU استفاده میکنید، دارای خروجی ۵ ولت میباشد.
باسلام و تشکر بابت پاسخگویی.
لطفا این این نقشه کیت را نگاه کنید :
http://crufti.com/content/images/2015/11/nodemcudevkit_v1-0_io.jpg
همانطور که ملاحظه میکنید این کیت NodeMCU ESP-12 سه تا ۳٫۳V خروجی میده، اصلا امکانش هست رله ۵ ولت با ۳٫۳ ولت کار کنه؟ ممنون میشم راهنمایی کنید.
سلام مجدد
برای چنین بردی پیشنهاد میشود از ماژول رله ۳٫۳ ولت استفاده شود ویا اینکه از مبدل افزاینده استفاده کنید. البته بنده هیچ کدام از این روشها را تست نکردهام و اگر دوستان دیگری پاسخ بهتری دارند، لطفا ارسال کنند.
استفاده از یک ترانزیستو pnp که باید در این صورت خوروجی رو صفر تعریف کنیم تا بیس که منفی است عمل کند
یعنی منظورم این که خارج از برد یک ولتاژ ۵ ولت بگیریم بجای این که یک افزاینده به کار بگیریم و این ولتاژ رو به پایه ترانزیستور متصل کنیم و اون یکی پایه رو به رله
این موضوع به صورت تئوریک درست به نظر میرسد، بنده به صورت عملی تست نکردهام، باید منتظر پاسخ دوستانی که عملی کارکرده اند باشیم.
سلام داداش
یه ترانزیستور بزار به بیس ترانزیستور ۳٫۳ رو بده ازامیتر و کلکتور هم میشن مثل یه کلید به بیس که ۳٫۳ وصل شد امیتر به کلکتور راه میده تا هر ولتاژ هم که بخوای جواب میده البته ۵ ولت رو قطعان جواب میده راستی یه مقاومتم بزار که جریان یهو ترانزیستورتو نترکونه
سلام
دوست عزیز پایه vin به شما خروجی ۵ ولت می دهد
با سلام . آیا با این برد و برد wemos mini 1 می توان بصورت مستقیم به گوشی اندرویدی متصل شد؟
چون دیدم با این دو برد تمام آموزشایی گذاشتید اینترنت وصل میشن.
با تشکر.
با سلام
ضمن تشکر از توجه شما، هر دو برد قابلیت اتصال به دیوایس اندرویدی را دارند. لطفا مجموعه آموزشهای ESP8266 را مطالعه بفرمایید.
با سلام
من این مراحل رو روی نسخه ۱٫۸٫۵ اجرا کردم ولی node mcu 32 اضافه نشد.
مشخصات mcu:
Esp-32s
V1.1 1 1010
NodeMCU ESP-32S specifications:
Wireless Module – ESP-WROOM-32 with Espressig ESP32 dual core processor with 802.11 b/g/n WiFi and Bluetooth 4.0 LE
Expansion – ۲x 19 pin headers with GPIOs, Analog inputs (ADC), UART, I2C, VP/VN, etc…; breadboard compatible
USB – ۱x micro USB port for power and programming
Misc – BOOT and EN buttons, red (power) and blue (GPIO2) LEDs
Power Supply – ۵V via USB or Vin pin
Dimensions – ۵۱٫۴ x 28.3 mm
با سلام
ضمن تشکر از توجه شما، بنده هم با همین ورژن روی ویندوز اجرا کردم و بدون مشکل به لیست بردها اضافه شد. لطفا سیستم را ریست کنید و در صورت لزوم یک بار دیگر مراحل را طی کنید.
همچنین از دیگر کاربران که چنین مشکلی داشتهاند تقاضا دارم تا در این بحث شرکت کنند.
درود بر شما طباطبایی .
من یه مشکل برای اپگرید برد nodemcu v دارم . هر برنامهای رو که بهش میدم. ارور espcom_upload_mem failde رو میده . باید چه کنم .
با سلام
ضمن تشکر از توجه شما، در این خصوص اتصالات GPIO برد را قطع کنید، سپس برنامه را آپلود کنید. نتیجه را از همین طریق اعلام کنید.
درود بر شما .
منظورتان از این پایه کدوم هست . و این پایه به هیچ جا وصل نیست که بخوام قطع کنم
سلام مجدد
پایههای GPIO همان پایههای اتصالی برد هستند. آنها را جدا کنید. یعنی به هیچ ماژول و سنسوری متصل نباشند.
خوب این پایه ها همه ازاد هستند یعنی برد رو کلا از روی بدربرد برداشتم اما باز همین ارور
سلام مجدد
پورت USB را تغییر دهید. برای این ارور معمولا با کارهای عمومی از این چنین که گفته شد، رفع میشود. اگر نشد، بفرمایید تا بررسی دقیق تری اانجام دهم.
درود مهندس باز هم نشد پورت رو هم تعقیر دادم . اما نشود . من میتونم از طریق تلگرام با شما در ارتباط باشم
سلام مجدد
درایور مربوطه را نصب کرده بودید؟ فقط از طریق ثبت کامنت امکان رفع عیب وجود دارد.
با سلام و تشکر از مطالب مفید شما. من هم متاسفانه نتوانستم برد را اضافه کنم.
سلام بر شما
پیرو درخواست شما و دیگر کاربران امروز، بنده روی یک سیستم دیگر این مراحل را اجرا کردمم و بدون مشکل اضافه شد! در ضمن لینک برای دانلود سورس حتما مطابق زیر باشد
https://github.com/espressif/arduino-esp32
سلام
چطور میشه تنظیمات IP و Port مربوط به esp8266 روی برد nodemcu رو تغییر داد؟
با سلام
ضمن تشکر از توجه شما و عذرخواهی بابت تاخیر در پاسخ گویی، به دنبال راه مناسبی برای این موضوع بودم، تا پاسخ درستی ارسال کرده باشم. در این خصوص پس از اتصال برد Nodemcu به وای فای یک آی پی در شبکه لوکال دریافت میکند. در این خصوص میتوانید با چند خط کد زیر، آی پی اختصاص یافته به برد را تغییر دهید و همیشه به صورت استاتیک در شبکه لوکال تبدیل کنید. البته در این خصوص تنظیمات DHCP مودم هم باید انجام دهید.
IPAddress ip(192, 168, 1, xx); // where xx is the desired IP Address
IPAddress gateway(192, 168, 1, 1); // set gateway to match your network
Serial.print(F(“Setting static ip to : “));
Serial.println(ip);
IPAddress subnet(255, 255, 255, 0); // set subnet mask to match your
network
WiFi.config(ip, gateway, subnet);
اگر رنج آی پی شما با این متفاوت است، میتوانید تغییر دهید.
بسیار عالی بود IP رو عوض کردم الان فقط نمیدونم چطور شماره Port به nodemcu اختصاص بدم. چونکه من میخوام با دستور socket.connect در بیسیک فور اندروید به nodemcu وصل شم و در این دستور باید شماره پورت nodemcu رو وارد کنم
با سلام
خواهش میکنم، متاسفانه بنده با بیسیک کار نمیکنم که اطلاعات کاملی بدهم. در این خصوص از دیگر کاربران که تخصص کافی دارند، تقاضا دارم تا در این بحث مشارکت کنند.
آیا با این برد و برد wemos mini 1 می توان بصورت مستقیم به گوشی اندرویدی متصل شد؟
ممنون از راهنماییتون
با سلام
بله میتوانید به صورت مستقیم متصل شوید. البته نیازی به برد Wemos D1 mini نمیباشد.
با سلام
تو لیست من NodeMCU_32S موجود میباشد و با انتخاب همون و ۸۰Mhz , 115200 , or 921600 با خطای
A fatal error occurred: Timed out waiting for packet header مواجه میشم
پورت رو از COM5 به COM9 تفییر دادم اما مشکل حل نشد
با سلام
ضمن تشکر از توجه شما، در این خصوص بنده با چنین موردی مواجه نشدم. از دیگر کاربران که تجربه کافی دارند، تقاضا دارم تا در این بحث شرکت کنند.
سلام ممنون بابت آموزش های خوبتون و زحمتی که میکشید.
اگر امکانش هست میشه آموزش اتصال به ربات تلگرام با این برد رو بذارید؟
سعی کردم از کد هایی که در آموزش های دیگه قرار دادید استفاده کنم اما نشد. دلیلش هم اونجا گفتم که کتابخونه esp8266wifi برای این برد کار نمیکنه.
با سلام
ضمن تشکر از توجه و پیشنهاد شما، در این خصوص بر اساس عمده درخواست کاربران موارد منتشر میشوند. در این مورد هم بررسی خواهیم کرد.
سلام خسته نباشد وسایل مورد نیازش هم بگین لطفاً
با سلام
ضمن تشکر از توجه شما، وسیلهای بجز همین برد Nodemcu برپایه ESP32 نیاز ندارید.
سلام، تمام مراحل رو انجام دادم ولی الان وقتی برد رو به سیستم وصل میکنم اصلا نمیشناسه
البته در نرم افزار نصب شده ولی به سیستم وصل میشه اصلا تشخیص داده نمیشه
چه باید کرد؟
با سلام
ضمن تشکر از توجه شما، در این خصوص لطفا از فایل منجر سیستم عامل چک کنید که بعد از اتصال به پورت USB برد را شناسایی میکند یا نه، درضمن بفرمایید که از چه کابلی استفاده کردهاید.
سلام
وقتی nodemcu esp32 به لپتاپ وصل میکنم led پاور روشن نمیشه و پورتش تشخیص داده نمیشه ولی وقتی کلید EN میگیرم روشن میشه ولی همچنان در device manager پورت مشخص نمیشه
علت چی میتونه باشه؟
با سلام و تشکر از شما
بنده تابحال چنین مشکلی نداشتهام. از دیگر کاربران که در این خصوص تجربه دارند، تقاضا دارم تا در این بحث شرکت کنند.
سلام
من سعی کردم کتابخونه esp8266wifi.h و نصب کنم اما به جاش SerialESP8266wifi.h اینو میاره
لطفا راهنمایی کنید
با سلام
این کتابخانه برای این برد نمیباشد. البته بنده استفاده نکردم.
اگه امکانش هست فایل کتابخونه esp8266wifi.h بزارید
ممنون
سلام مجدد
کاربر گرامی این فایل در مخازن آردوینو قرار دارد.
حل شد
خیلی ممنون
سلامت باشید.
سلام
آموزش کاربردی جالبی بود، کلا قلم شما باعث یادگیری میشه، ممنون
با سلام
از توجه شما ممنونم، امیدوارم برای کلیه کاربران مفید باشد.
با تشکر از آموزش های عالی شما
وقتی برنامه رو کامپایل میکنم این خطایی رو میده
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).
ممکنه راهنمایی بفرمایید. سپاس فراوان
با سلام و تشکر ازشما
این ارور مربوط به برد Nodemcu با تراشه ESP-12E میباشد. این آموزش در مورد برد Nodemcu با تراشه ESP32 است. لطفا بفرمایید شما از کدام برد استفاده میکنید.
سلام
۱- نمیشه نرمافزار Git رادانلود کرد – نه با فیلتر شکن و نه بدون فیلترشکن و نه …. لطفا یک راهی بدهین
۲- برا مشاهده نتایج و وضعیه Node Mcu به مانیتور همین راه را باید رفت…
با سلام و تشکر از توجه شما
۱- برای بنده نرم افزار Git دانلود و نصب شد. در خصوص سوال شما مجددا اقدام کردم و مشکلی نداشت.
۲- لطفا دقیقتر توضیح دهید که چه کاری میخواهید انجام دهید. تا بتوانم راهنمایی کاملتری ارایه دهم.
سلام ممنون از آموزش خوبتون.خواستم ببینم در این سری بردها (esp32) میتوان از چند پورت سریال استفاده کرد مانند همان software serial در سری بردهای uno ??? (در صورتیکه بله لطفا کتابخانه ای یا مرجعی معرفی کنید)
تشکر.
با سلام
بله در این خصوص میتوانید با استفاده از کتابخانه espsoftwareserial موارد را روی برد Nodemcu اجرا کنید.
سلام مهندس جان
من برای اولین تجربه میکروکنترلر و بدون معلومات برنامه نویسی یک عدد برد nodemcu v3 خریدم تا شروع کنم ولی نمیدونم چطوری پایه هارو متصل کنم منبع ۳٫۳ ولت هم ندارم. وقتی خریدم گفتن از همون درگاه usb وصل کن به شارژر موبایل ولی انگار نیست اینطوری
کلا نمیدونم پایه ها مال چیه میشه راهنمایی کنین لطفا؟
ممنون از لطفتون
با سلام
کاربر گرامی در این صورت مشکل خاصی وجود ندارد. همانند همین آموزش از طریق کامپایلر آردوینو پیش بروید. کابل USB هم به کامپیوتر متصل کنید. در خصوص اتصالات و پایهها هم در هر آموزش دیجی اسپارک کاملا توضیح داده شده است.
نرم افزار GIT و دیگر وارد مورد نیاز رو آپلود کنید ما که از بدبختا هم بدتریم اینترنت نداریم
گیرم بخدا
با سلام
در پست مربوطه این فایل قابل دانلود میباشد.
با سلام توضیح کدهای کتابخانه ای espressif رو از کجا میتونیم مطالعه کنیم.
مثل کد ESP.getEfuseMac(); که برای دریافت چیپ آی دی استفاده میشود.
پیگیر کدهای بلوتوث و ایبیکن هستم.
با تشکر
با سلام
باید در فایلهای کتابخانه این موارد را بررسی کنید.
ضمن عرض سلام.
امروز این برد به دست من رسیده است و کارهای گفته شده را انجام دادم و فایل ها نصب گردید. دو مورد هست که میخاهم مطمئن شوم
۱٫ موقع اجرای فایل get.exe صفحه مشکی باز میشود و چیزی نشان نمیدهد و سریع بسته میشود نمیدانم که ایا ان فایل مورد نظرش را دانلود و نصب کرده است یا خیر. ( احتمالا نکرده ، چطور میتوانم مطمئن شود؟ )
۲٫ در لیست برد ها در آردوینو نام NodeMCU 32ُ را پیدا نکردم اما NodeMCU 32ُS را دارد. این دو با هم فرق میکنند؟
لطفا راهنمایی بفرمایید
متشکرم
با سلام
۱- وضعیت کانکشن را حتما بررسی کنید. همچنین آدرس Target در بخش قبل را مطمئن شوید که با مسیر نصب نرم افزار آردوینو یکسان باشد.
۲- این مورد را هم تست کنید آیا با برد ارتباط برقرار میکند یا خیر؟
سپس نتیجه را از همین طریق اطلاع رسانی کنید.
من در استفاده از دستور Serial.printf به خطا می خورم : class hardware serial has no member named printf
ممنون میشم راهنمایی بفرمایید.
با سلام
این ارور مربوط به عدم تعریف Serial.printf در کدها میباشد. برای رفع عیب باید به کدها مراجعه کنید.
سلام خسته نباشید اگه امکانش هست در مورد انواع ماژول هایی که توسط این چیپ درست شده توضیحاتی بدید
مدل های مختلفی تو بازار هست
کدوم بهتر کامل تر هستش ؟
با سلام
تراشه اصلی اگر ESP32 باشد، کفایت میکند. دقت داشته باشید که تولیدیهای مختلف با تراشه ESP32 اقدام به طراحی و تولید این بردها کردهاند. بازار ایران هم به دلیل خاکستری بودن آن از جمله ترکیب قیمت کم با کیفیت کمتر، نمیتوان دقیقا مشخص کرد کدام مدل بهتر هست. ولی چنانچه از فروشنده معتبر و با سابقه تهیه کنید، طبیعتا پشتیبانی در راه اندازی آن هم بایستی از فروشنده دریافت کنید.
سلام من میخوام اطلاعات از برد nodemcu که ازدو تاسنسور میگیررو به آردیونو بفرستم وتغییراتی روش انجام بدم و به یک nodemcu دیگه ارسال کنم تمام کارهارو بلدم فقط ارتباط سریالی که میخوام بین nodemcu وآردیونو بدم راه نمیوفته این کد رو میخوام اگر هزینه ای هم هست مقبول میشم ممنونم .
با سلام
برای این منظور درخواستتان را از طریق پرتال پشتیبانی دانشجو کیت پیگیری کنید.
ممنون از آموزش مفیدتون. کاربرد chip id در آردوینو چیه؟ من دنبال روشی هستم که بتونم esp32 رو قفل کنم تا کسی نتونه فایل منو ازش کپی کنه
با سلام
بستگی به کتابخانه مورد استفاده، میتواند کاربردهای متفاوتی داشته باشد. در خصوص قفل کردن، بنده روشی را ندیده ام که بتوانم کدها را بعد از کامپایل شدن، از میکرو استخراج کرد.