هیئت توسعه ENGINNERS ESP8266 NodeMCU
اینترنت اشیا (IoT) یکی از زمینه های پرطرفدار در دنیای فناوری بوده است. این روش کار ما را تغییر داده است. اشیاء فیزیکی و دنیای دیجیتال اکنون بیش از هر زمان دیگری به هم متصل هستند. با در نظر گرفتن این موضوع، Espressif Systems (یک شرکت نیمه هادی مستقر در شانگهای) یک میکروکنترلر قابل ستایش با قابلیت WiFi با اندازه کوچک – ESP8266 را با قیمتی باورنکردنی عرضه کرده است! با کمتر از 3 دلار، میتواند همه چیز را از هر کجای دنیا نظارت و کنترل کند - تقریباً برای هر پروژه اینترنت اشیا عالی است.
برد توسعه ماژول ESP-12E حاوی تراشه ESP8266 را با ریزپردازنده Tensilica Xtensa® 32 بیتی LX106 RISC مجهز می کند که در فرکانس ساعت قابل تنظیم 80 تا 160 مگاهرتز کار می کند و از RTOS پشتیبانی می کند.
تراشه ESP-12E
- Tensilica Xtensa® 32 بیت LX106
- فرکانس ساعت 80 تا 160 مگاهرتز
- رم داخلی 128 کیلوبایت
- فلش اکسترنال 4 مگابایتی
- گیرنده وای فای 802.11b/g/n
همچنین 128 کیلوبایت رم و 4 مگابایت حافظه فلش (برای ذخیره سازی برنامه ها و داده ها) به اندازه کافی برای مقابله با رشته های بزرگی که تشکیل می دهند وجود دارد. web صفحات، دادههای JSON/XML و هر آنچه که امروزه به دستگاههای IoT میزنیم. ESP8266 فرستنده گیرنده وای فای 802.11b/g/n HT40 را ادغام می کند، بنابراین نه تنها می تواند به یک شبکه وای فای متصل شود و با اینترنت تعامل داشته باشد، بلکه می تواند شبکه خود را نیز راه اندازی کند و به دستگاه های دیگر اجازه می دهد مستقیماً به آن متصل شوند. آی تی. این باعث می شود ESP8266 NodeMCU همه کاره تر شود.
برق مورد نیاز
به عنوان جلد عاملtagمحدوده ESP8266 3 ولت تا 3.6 ولت است، برد دارای ولتاژ LDO است.tagتنظیم کننده برای حفظ جلدtagثابت در 3.3 ولت. می تواند تا 600 میلی آمپر را به طور قابل اعتماد تامین کند، که زمانی که ESP8266 در حین انتقال RF به 80 میلی آمپر می کشد، باید بیش از اندازه کافی باشد. خروجی رگولاتور نیز به یکی از دو طرف برد شکسته شده و با برچسب 3V3 مشخص شده است. از این پین می توان برای تامین برق قطعات خارجی استفاده کرد.
برق مورد نیاز
- جلد عملیاتیtage: 2.5 ولت تا 3.6 ولت
- رگولاتور داخلی 3.3 ولت 600 میلی آمپر
- جریان عملیاتی 80 میلی آمپر
- 20 μA در حالت خواب
برق ESP8266 NodeMCU از طریق کانکتور MicroB USB موجود در آن تامین می شود. یا اگر ولتاژ 5 ولتی تنظیم شده داریدtagمنبع الکترونیکی، پین VIN را می توان برای تامین مستقیم ESP8266 و لوازم جانبی آن استفاده کرد.
هشدار: ESP8266 به منبع تغذیه 3.3 ولت و سطوح منطقی 3.3 ولت برای ارتباط نیاز دارد. پین های GPIO تحمل 5 ولت ندارند! اگر می خواهید برد را با اجزای 5 ولت (یا بالاتر) متصل کنید، باید مقداری تغییر سطح انجام دهید.
لوازم جانبی و ورودی/خروجی
ESP8266 NodeMCU در مجموع دارای 17 پین GPIO است که به هدرهای پین در دو طرف برد توسعه شکسته شده است. این پین ها را می توان به انواع وظایف جانبی اختصاص داد، از جمله:
- کانال ADC - یک کانال ADC 10 بیتی.
- رابط UART - رابط UART برای بارگذاری کد به صورت سریال استفاده می شود.
- خروجیهای PWM - پینهای PWM برای کاهش نور LED یا کنترل موتورها.
- رابط SPI، I2C و I2S – رابط SPI و I2C برای اتصال انواع حسگرها و لوازم جانبی.
- رابط I2S – اگر می خواهید صدا را به پروژه خود اضافه کنید رابط I2S.
ورودی/خروجی چندگانه
- 1 کانال ADC
- 2 رابط UART
- 4 خروجی PWM
- رابط SPI، I2C و I2S
به لطف ویژگی مالتی پلکس کردن پین ESP8266 (چند دستگاه جانبی روی یک پایه GPIO مالتی پلکس شده اند). به این معنی که یک پین GPIO می تواند به عنوان PWM/UART/SPI عمل کند.
سوئیچ روی برد و نشانگر LED
ESP8266 NodeMCU دارای دو دکمه است. یکی از مواردی که به عنوان RST در گوشه سمت چپ بالا قرار دارد، دکمه Reset است که البته برای تنظیم مجدد تراشه ESP8266 استفاده می شود. دکمه FLASH دیگر در گوشه سمت چپ پایین دکمه دانلود است که هنگام ارتقاء سیستم عامل استفاده می شود.
سوئیچ ها و نشانگرها
- RST – تراشه ESP8266 را ریست کنید
- FLASH – دانلود برنامه های جدید
- LED آبی – قابل برنامه ریزی توسط کاربر
این برد دارای نشانگر LED نیز می باشد که قابل برنامه ریزی توسط کاربر بوده و به پایه D0 برد متصل می شود.
ارتباط سریال
این برد شامل CP2102 USB-to-UART Bridge Controller از Silicon Labs است که سیگنال USB را به سریال تبدیل میکند و به رایانه شما اجازه میدهد تا برنامهنویسی کند و با تراشه ESP8266 ارتباط برقرار کند.
ارتباط سریال
- مبدل USB به UART CP2102
- سرعت ارتباط 4.5 مگابیت بر ثانیه
- پشتیبانی از کنترل جریان
اگر نسخه قدیمیتری از درایور CP2102 را روی رایانه شخصی خود نصب کردهاید، توصیه میکنیم همین حالا آن را ارتقا دهید.
لینک ارتقا درایور CP2102 – https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
ESP8266 NodeMCU Pinout
ESP8266 NodeMCU در مجموع 30 پین دارد که آن را با دنیای خارج ارتباط می دهد. اتصالات به شرح زیر است:
برای سادگی، ما گروه هایی از پین ها را با عملکردهای مشابه می سازیم.
پین های پاور چهار پایه پاور وجود دارد. یک پایه VIN و سه پایه 3.3 ولت. اگر ولتاژ 8266 ولتی تنظیم شده دارید، می توان از پین VIN برای تامین مستقیم ESP5 و لوازم جانبی آن استفاده کرد.tagمنبع e پین های 3.3 ولت خروجی یک ولوم روی برد هستندtagتنظیم کننده الکترونیکی از این پین ها می توان برای تامین برق قطعات خارجی استفاده کرد.
GND یک پایه زمین از برد توسعه ESP8266 NodeMCU است. پین های I2C برای اتصال انواع حسگرها و لوازم جانبی I2C در پروژه شما استفاده می شود. هر دو I2C Master و I2C Slave پشتیبانی می شوند. عملکرد رابط I2C را می توان به صورت برنامه نویسی درک کرد و فرکانس ساعت حداکثر 100 کیلوهرتز است. لازم به ذکر است که فرکانس کلاک I2C باید بیشتر از کندترین فرکانس ساعت دستگاه برده باشد.
پین های GPIO ESP8266 NodeMCU دارای 17 پین GPIO است که می تواند به عملکردهای مختلفی مانند I2C، I2S، UART، PWM، کنترل از راه دور IR، چراغ LED و دکمه به صورت برنامه ریزی شده اختصاص داده شود. هر GPIO دیجیتال فعال را می توان به صورت کششی داخلی یا پایین آمدن داخلی یا روی امپدانس بالا تنظیم کرد. هنگامی که به عنوان ورودی پیکربندی می شود، می توان آن را روی edge-trigger یا level-trigger نیز تنظیم کرد تا وقفه های CPU ایجاد شود.
کانال ADC NodeMCU با یک SAR ADC دقیق 10 بیتی تعبیه شده است. این دو تابع را می توان با استفاده از ADC پیاده سازی کرد. تست منبع تغذیه جلدtage از پین VDD3P3 و ورودی تست جلدtage از پین TOUT. با این حال، آنها را نمی توان همزمان اجرا کرد.
پین های UART ESP8266 NodeMCU دارای 2 رابط UART یعنی UART0 و UART1 است که ارتباط ناهمزمان (RS232 و RS485) را فراهم می کند و می تواند با سرعت 4.5 مگابیت در ثانیه ارتباط برقرار کند. UART0 (پین های TXD0، RXD0، RST0 و CTS0) می تواند برای ارتباط استفاده شود. از کنترل مایعات پشتیبانی می کند. با این حال، UART1 (Pin TXD1) تنها دارای سیگنال انتقال داده است، بنابراین، معمولاً برای چاپ سیاهه استفاده می شود.
پین های SPI ESP8266 دارای دو SPI (SPI و HSPI) در حالت Slave و Master است. این SPIها همچنین از ویژگی های SPI همه منظوره زیر پشتیبانی می کنند:
- 4 حالت زمان بندی انتقال فرمت SPI
- تا 80 مگاهرتز و ساعت های تقسیم شده 80 مگاهرتز
- حداکثر 64 بایت FIFO
پین های SDIO ESP8266 دارای رابط ورودی/خروجی دیجیتال امن (SDIO) است که برای ارتباط مستقیم با کارتهای SD استفاده میشود. 4 بیت 25 مگاهرتز SDIO v1.1 و 4 بیت 50 مگاهرتز SDIO v2.0 پشتیبانی می شود.
پین های PWM این برد دارای 4 کانال مدولاسیون عرض پالس (PWM) است. خروجی PWM را می توان به صورت برنامه ریزی شده پیاده سازی کرد و برای راندن موتورهای دیجیتال و LED ها استفاده کرد. محدوده فرکانس PWM از 1000 میکروثانیه تا 10000 میکرو ثانیه، یعنی بین 100 هرتز و 1 کیلوهرتز قابل تنظیم است.
پین های کنترل برای کنترل ESP8266 استفاده می شود. این پین ها شامل پین Chip Enable (EN)، پین Reset (RST) و پین WAKE هستند.
- پین EN – تراشه ESP8266 زمانی فعال می شود که پین EN بالا کشیده شود. هنگامی که پایین کشیده می شود، تراشه با حداقل قدرت کار می کند.
- پین RST – پین RST برای تنظیم مجدد تراشه ESP8266 استفاده می شود.
- پین WAKE - پین Wake برای بیدار کردن تراشه از خواب عمیق استفاده می شود.
پلتفرم های توسعه ESP8266
حالا بریم سراغ مطالب جالب! پلتفرم های توسعه مختلفی وجود دارد که می توانند برای برنامه ریزی ESP8266 مجهز شوند. میتوانید با Espruino – JavaScript SDK و سیستمافزاری که از نزدیک Node.js را شبیهسازی میکند، استفاده کنید، یا از Mongoose OS – یک سیستم عامل برای دستگاههای IoT (پلتفرم توصیهشده توسط Espressif Systems و Google Cloud IoT) استفاده کنید یا از یک کیت توسعه نرمافزار (SDK) ارائهشده توسط Espressif استفاده کنید. یا یکی از پلتفرم های فهرست شده در ویکی پدیا. خوشبختانه، انجمن شگفت انگیز ESP8266 با ایجاد یک افزونه آردوینو، انتخاب IDE را یک قدم جلوتر برد. اگر به تازگی برنامه نویسی ESP8266 را شروع کرده اید، این محیطی است که ما برای شروع با آن توصیه می کنیم و محیطی را که در این آموزش مستند خواهیم کرد.
این افزونه ESP8266 برای آردوینو بر اساس کار شگفت انگیز ایوان گروکوتکوف و بقیه اعضای انجمن ESP8266 ساخته شده است. برای اطلاعات بیشتر، مخزن ESP8266 Arduino GitHub را بررسی کنید.
نصب ESP8266 Core در سیستم عامل ویندوز
بیایید با نصب هسته آردوینو ESP8266 ادامه دهیم. اولین چیز این است که آخرین Arduino IDE (Arduino 1.6.4 یا بالاتر) را روی رایانه شخصی خود نصب کنید. اگر آن را ندارید، توصیه می کنیم همین الان ارتقا دهید.
پیوند آردوینو IDE – https://www.arduino.cc/en/software
برای شروع، باید مدیر هیئت مدیره را با یک سفارشی به روز کنیم URL. Arduino IDE را باز کنید و به آن بروید File > ترجیحات سپس در زیر کپی کنید URL به مدیر هیئت اضافی URLکادر متنی که در پایین پنجره قرار دارد: http://arduino.esp8266.com/stable/package_esp8266com_index.json
OK را بزنید. سپس با رفتن به Tools > Boards > Boards Manager به مدیر هیئت مدیره بروید. علاوه بر بردهای استاندارد آردوینو، باید چند ورودی جدید نیز وجود داشته باشد. جستجوی خود را با تایپ esp8266 فیلتر کنید. روی آن ورودی کلیک کرده و Install را انتخاب کنید.
تعاریف و ابزارهای برد برای ESP8266 شامل مجموعهای کاملاً جدید از gcc، g++، و دیگر باینریهای کامپایلشده نسبتاً بزرگ است، بنابراین دانلود و نصب آن ممکن است چند دقیقه طول بکشد (بایگانیشده file 110 مگابایت است). پس از اتمام نصب، یک متن INSTALLED کوچک در کنار ورودی ظاهر می شود. اکنون می توانید مدیر هیئت مدیره را ببندید
آردوینو Example: پلک زدن
برای اطمینان از اینکه هسته ESP8266 Arduino و NodeMCU به درستی تنظیم شده اند، ساده ترین طرح را بارگذاری می کنیم - The Blink! برای این تست از LED روی برد استفاده می کنیم. همانطور که قبلاً در این آموزش ذکر شد، پین D0 برد به LED آبی روی برد متصل می شود و قابل برنامه ریزی توسط کاربر است. کامل! قبل از اینکه به آپلود طرح و بازی با LED بپردازیم، باید مطمئن شویم که برد در Arduino IDE به درستی انتخاب شده است. Arduino IDE را باز کنید و گزینه NodeMCU 0.9 (ESP-12 Module) را در زیر منوی Arduino IDE > Tools > Board انتخاب کنید.
اکنون، ESP8266 NodeMCU خود را از طریق کابل USB micro-B به رایانه خود وصل کنید. هنگامی که برد به برق وصل شد، باید یک پورت COM منحصر به فرد به آن اختصاص داده شود. در ماشینهای ویندوز، این چیزی شبیه COM# خواهد بود و در رایانههای Mac/Linux به شکل /dev/tty.usbserial-XXXXXX خواهد بود. این پورت سریال را در منوی Arduino IDE > Tools > Port انتخاب کنید. همچنین سرعت آپلود: 115200 را انتخاب کنید
هشدار: توجه بیشتری باید به انتخاب برد، انتخاب پورت COM و انتخاب سرعت آپلود داده شود. ممکن است هنگام آپلود طرح های جدید با خطای espcomm_upload_mem مواجه شوید، اگر این کار را انجام ندهید.
پس از اتمام کار، روش قبلی را امتحان کنیدampطرح زیر
تنظیم خالی ()
{pinMode(D0، OUTPUT);}حلقه void()
{digitalWrite(D0، HIGH);
تاخیر(500);
digitalWrite (D0، LOW)؛
تاخیر(500);
پس از آپلود کد، LED شروع به چشمک زدن می کند. ممکن است لازم باشد روی دکمه RST ضربه بزنید تا ESP8266 خود را برای شروع اجرای طرح دریافت کنید.
اسناد / منابع
![]() |
هیئت توسعه ENGINNERS ESP8266 NodeMCU [pdfدستورالعملها برد توسعه NodeMCU ESP8266، ESP8266، برد توسعه NodeMCU |