به احتمال زیاد با اینترنت اشیاء (IOT) که شاخهای از دنیای تکنولوژی است، آشنا هستید. در این مقاله قصد داریم تا شما را با برد NodeMCU ESP8266 که بر پایه تکنولوژی اینترنت اشیاء است، آشنا کنیم و نحوه راه اندازی آن با آردوینو را نیز به شما آموزش دهیم.
IOT مدتی است که مورد توجه زیادی قرار گرفته و روند انجام بسیاری از کارها را تغییر داده است. اجسام فیزیکی و دنیای دیجیتال بیش از هر زمانی به هم متصل شدهاند.
در همین راستا، شرکت Espressif Systems (شرکت فعال در زمینه نیمههادی در شانگهای) میکروکنترلر محبوب و بسیار کوچکی را با ماژول وای فای ESP8266 عرضه کرده است. این شرکت با این میکروکنترلر، امکان نظارت و کنترل اجسام از هر جای دنیا را فراهم کرده است که برای پروژههای اینترنت اشیاء گزینهای فوقالعادهای به حساب میآید.
در ادامه در مورد این برد بیشتر صحبت خواهیم کرد.
ماژول ESP-12E
برد NodeMCU ESP8266، از ماژول ESP-12E که خود شامل چیپ ESP8266 است، استفاده میکند. این چیپ دارای ریزپردازنده Tensilica Xtensa® 32-bit LX106 با فرکانس کلاک قابل تنظیم 80 الی 160 مگاهرتز است و از RTOS پشتیبانی میکند.
Real Time Operating System(RTOS)، بیشتر در سیستمهای embedded استفاده میشود و قابلیت مدیریت زمان و پاسخگویی در لحظه به ورودیهای سیستم را دارد.
چیپ ESP-12E
- Tensilica Xtensa® 32-bit LX106
- 80-160 مگا هرتز فرکانس کلاک
- 128 کیلو بایت رم داخلی
- 4 مگابایت حافظه فلش اکسترنال
- فرستنده گیرنده وای فای 802.11b/g/n
چیپ ESP8266، علاوه بر موراد ذکر شده، دارای 128 کیلوبایت حافظه رم و 4 مگابایت حافظه فلش (برای نوشتن برنامه و ذخیره داده) است تا بتواند از عهده ذخیره رشتههای بزرگی که صفحات وب را میسازند، دادههای JSON/XML و هر آنچه امروزه درون یک وسیله مرتبط با اینترنت اشیاء میریزیم، برآید.
ESP8266 با فرستنده و گیرنده وای فای 802.11b/g/n HT40 ادغام شده است (HT40 معرف پهنای باند 40 مگاهرتز است. 802.11b/g/n یک استاندارد شبکه وای فای است که در فرکانس 2.4 گیگاهرتز کار میکند) تا نه تنها بتواند به یک شبکه وای فای متصل شود و با آن تعامل کند، بلکه بتواند خود یک شبکه ایجاد کند و به سایر دستگاهها اجازه دهد تا مستقیماً به آن متصل شوند. این موضوع، NodeMCU ESP8266 را به یک ماژول همه کاره تبدیل کرده است.
تغذیه مورد نیاز
از آنجا که ولتاژ کاری ماژول ESP8266 در بازه 3 تا 3.6 ولت است، این ماژول از یک رگولاتور با افت ولتاژ کم (LDO) بهره میبرد تا سطح ولتاژ را در 3.3 ولت ثابت نگه دارد. این رگولاتور میتواند بهراحتی تا 600 میلیآمپر جریان دهد که بسیار بیشتر از 80 میلیآمپری است که ESP8266 هنگام ارتباطات در باند رادیویی (RF) مصرف میکند. به علاوه، خروجی رگولاتور به یک سمت برد کشیده شده و با نام 3V3 مشخص شده است. از این پایه میتوانید برای تغذیه قطعات خارجی استفاده کنید.
تغذیه مورد نیاز:
- ولتاژ کاری: 2.5 تا 3.6 ولت
- رگولاتور 3.3 ولت 600 میلی آمپر روی برد
- جریان کاری 80 میلی آمپر
- جریان حالت خواب: 20 میکرو آمپر
تغذیه برد NodeMCU ، از طریق کانکتور MicroB USB روی برد تأمین میشود. به عنوان جایگزین، اگر یک منبع ولتاژ 5 ولت رگوله شده داشته باشید، میتوانید از طریق پایه VIN، مستقیماً تغذیه ماژول ESP8266 و قطعات جانبی را تأمین کنید.
هشدار:
ماژول ESP8266 برای ارتباط، به تغذیه 3.3 ولت و سطوح منطقی 3.3 ولتی نیاز دارد. پایههای عمومی، ورودی و خروجی GPIO تحمل ولتاژ 5 ولت را ندارند! اگر میخواهید با بردهای با استاندارد 5 ولت (یا بیشتر) ارتباط برقرار کنید، به مبدلهای تغییر سطح ولتاژ نیاز خواهید داشت.
قطعات جانبی و ورودی-خروجی برد NodeMCU
برد NodeMCU ESP8266 جمعاً 17 پایه GPIO دارد که از طریق پینهدرهای دو سمت برد، در دسترس هستند. این پایهها میتوانند به انواع کارهای جانبی، اختصاص داده شوند، از جمله:
- کانال مبدل آنالوگ به دیجیتال (ADC): یک کانال مبدل آنالوگ به دیجیتال 10 بیتی
- رابط UART: از رابط UART برای بارگذاری کد به صورت سریال استفاده میشود.
- خروجیهای PWM: پایههای PWM برای تنظیم کردن نور LEDها یا کنترل موتورها استفاده میشوند.
- رابطهای SPI، I2C: پروتکلهای ارتباطی SPI و I2C برای راهاندازی انواع سنسورها و قطعات جانبی به کار میروند.
- رابط I2S: اگر بخواهید به پروژههای خود صدا اضافه کنید، میتوانید از این رابط استفاده کنید.
ورودی خروجیهای چندگانه:
- یک کانال ADC
- دو رابط UART
- چهار خروجی PWM
- رابطهای SPI، I2C و I2S
به لطف قابلیت چندکارهی پایههای ماژول ESP8266 ، چندین قطعه جانبی میتوانند بر روی یک پایه GPIO کار کنند. به این معنا که یک پایه مستقل GPIO میتواند به عنوان PWM/UART/SPI عمل کند.
کلیدهای روی برد و نشانگرهای LED
برد NodeMCU ESP8266 دو کلید دارد. یکی از آنها با نام RST در گوشه بالایی سمت چپ قرار گرفته که کلید ریست است و طبیعتاً برای ریست ماژول ESP8266 به کار میرود. کلید دیگر که با نام FLASH در گوشه پایینی سمت چپ قرار گرفته، کلید دانلود برای بهروزرسانی firmware است.
کلیدها و نشانگرها
- RST: چیپ ESP8266 را ریست میکند.
- FLASH: برنامههای جدید را دانلود میکند.
- LED آبی: قابل برنامه ریزی توسط کاربر
علاوه بر دکمه ریست، این برد، یک نشانگر LED نیز دارد که توسط کاربر قابل برنامهریزی است و به پایه D0 برد متصل میشود.
ارتباط سریال
این برد شامل CP2102 مبدل USB به UART ساخت Silicon Labs است که سیگنال USB را به سریال تبدیل میکند و به کامپیوتر شما این امکان را میدهد تا چیپ ESP8266 را پروگرام کرده و با آن ارتباط برقرار کند.
ارتباط سریال
- مبدل USB به سریال CP2102
- سرعت ارتباط 4.5 مگابیت در هر ثانیه
- پشتیبانی از Flow Control
نکته:
Flow control یک پروتکل سنکرون ارسال و دریافت واحدهای اطلاعات است که قابلیت مدیریت سرعت انتقال توسط گیرنده را فراهم میکند تا از انباشته شدن اطلاعات در گیرنده (در صورت سریع تر بودن فرستنده) جلوگیری شود.
اگر نسخهی قدیمیتری از درایور CP2102 را برروی کامپیوتر خود دارید، میتوانید از طریق سایت silabs، آن را به روزرسانی کنید. برای این کار کافی است وارد این سایت شوید و بر روی تب Download کلیک کنید. با کلیک بر روی این تب، نسخههای مختلفی از درایور را میتوانید برای ویندوز، لینکوس و غیره دانلود کنید.
پایههای برد NodeMCU ESP8266
راه اندازی برد NodeMCU ESP8266 با آردوینو بدون شناخت پایههای آن ممکن نیست. این برد مجموعاً با 30 پایه با دنیای خارج در ارتباط است. اتصالات را میتوانید در تصویر زیر مشاهده کنید:
برای سادگی کار شما، پایهها را براساس کاربرد آنها دسته بندی کردهایم:
پایههای تغذیه: در کل چهار پایه تغذیه شامل یک پایه VIN و سه پایه 3.3V وجود دارد. اگر یک منبع ولتاژ 5 ولت رگوله شده در اختیار داشته باشید، میتوانید از پایه VIN برای اتصال مستقیم تغذیه ESP8266 و قطعات جانبی استفاده کنید. پایههای 3.3V ، خروجیِ رگولاتورِ رویِ برد هستند که میتوانند تغذیه قطعات خارجی را فراهم کنند.
GND: پایه زمینِ بردِ NodeMCU ESP8266 است.
پایههای I2C: این پایهها، برای اتصال انواع سنسورها و قطعات I2C در پروژه شما به کار میرود و هر دو حالت Master و Slave پروتکل I2C پشتیبانی میشوند. کارکرد رابط I2C از طریق برنامه قابل تنظیم است و فرکانس کلاک حداکثر 100 کیلوهرتز میباشد. در اینجا باید به این نکته دقت داشته باشید که فرکانس کلاک I2C باید از حداقل فرکانس دستگاه slave بیشتر باشد.
پایههای ورودی خروجی (GPIO): برد NodeMCU ESP8266، هفده پایه GPIO دارد که میتوانند به کارهای مختلف مانند I2C، I2S، UART، PWM، کنترل از راه دور IR، LEDها و کلیدها اختصاص داده شوند. هر یک از پایههای ورودی خروجی دیجیتال میتوانند بهصورت pull up، pull down داخلی یا بهصورت امپدانس بالا تنظیم شوند. زمانیکه این پایهها به عنوان ورودی تعریف شوند، میتوانند به منظور ایجاد وقفههای پردازنده، برای تحریک در لبه یا سطح تنظیم شوند.
کانال ADC: در NodeMCU یک ADC (با دقت 10 بیتی و روش تقریبات متوالی) قرار داده شده است. از ADC میتوان برای تست ولتاژ تغذیه از پایه VDD3P3 و تست ولتاژ ورودی از پایه TOUT استفاده نمود. با این حال، این دو عمل را نمیتوان همزمان اجرا کرد.
پایههای UART: برد NodeMCU ESP8266 دارای دو رابط UART به نامهای UART0 و UART1 است که ارتباط آسنکرون (RS232 و RS485) را فراهم میکنند و میتوانند تا سرعت 4.5 مگابیت در ثانیه (Mbps) کار کنند. UART0 (پایههای TXD0, RXD0, RST0 &CTS0) از flow control پشتیبانی میکند و میتوان از آن برای ارتباط استفاده کرد، در حالیکه UART1 (پایه TXD1) تنها به ارسال داده میپردازد. به همین دلیل، معمولاً برای چاپ اطلاعات و گزارشات مورد استفاده قرار میگیرد.
پایههای SPI: ماژول ESP8266 دو رابط SPI و HSPI را در حالتهای slave و master در اختیار کاربر قرار میدهد. به علاوه، این دو رابط از قابلیتهای عمومی SPI نیز که در بخش زیر خواهید دید، پشتیبانی میکنند:
- 4 حالت زمانبندی انتقال با فرمت SPI
- فرکانس کلاک 80MHz و تقسیمهای فرکانسی آن
- تا 64 بایت حافظه First In First Out – FIFO، یکی از روشهای سازماندهی کنترل داده با توجه به اولویتبندی است. از این روش برای بافرکردن و کنترل سرعت انتقال اطلاعات استفاده میشود.
پایههای SDIO: ماژول ESP8266، رابط ورودی خروجی دیجیتال امن (SDIO) را ارائه میکند که برای ارتباط مستقیم با کارتهای SD به کار میرود. SDIO بیست و پنج مگاهرتز، 4 بیتی نسخه 1.1 و SDIO پنجاه مگاهرتز 4 بیتی نسخه 2.0 نیز، توسط ESP8266 پشتیبانی میشوند.
SDIO مخفف Secure Digital Input/Output است. امنیت این رابط، هم بهصورت نرمافزاری و هم بهصورت سختافزاری تأمین میشود. باس این رابط شامل چهار خط داده (Data)، یک خط دستور (Command) و یک خط کلاک (Clock) است. این رابط مشخصاً برای ارتباط با کارتهای حافظه (SD card) بهکار میرود.
پایههای PWM: برد ESP8266، چهار کانال مدولاسیون عرض پالس (PWM) دارد. خروجی PWM میتواند بهصورت نرمافزاری پیادهسازی شود و برای درایو موتورهای دیجیتال و LEDها مورد استفاده قرار گیرد. رنج دوره تناوب PWM از 1000 میکروثانیه تا 10000 میکروثانیه قابل تنظیم است، یعنی از فرکانس 100 هرتز تا 1 کیلوهرتز.
پایههای کنترل: از این پایهها برای کنترل ESP8266 استفاده میشود. این پایهها شامل پایه فعالسازی چیپ (EN)، ریست (RST) و پایه بیدارکردن (WAKE) هستند.
- پایه EN – زمانیکه پایه EN یک شود، چیپ ESP8266 فعال میشود. زمانیکه پایه EN صفر شود، چیپ با حداقل توان کار میکند.
- پایه RST – این پایه برای ریست کردن چیپ ESP8266 به کار میرود.
- پایه WAKE – این پایه برای بیدار کردن چیپ از خواب عمیق (deep-sleep) به کار میرود.
نکته:
خواب عمیق (deep-sleep)، حالت کم مصرف ESP8266 است که در آن فقط واحد RTC کار میکند و جریان مصرفی در این حالت حدود 20 میکروآمپر است.
برای بیدار کردن ESP8266 از خواب عمیق دو روش اتوماتیک و خارجی (External) وجود دارد. در روش اول، ESP8266 پس از مدت زمان معینی بیدار میشود. بیدار شدن ESP8266، با ریست شدن آن انجام میگیرد. برای این کار در کد، از تابع ESP.deepSleep(time) استفاده میکنیم و به جای time، زمان خواب را بر حسب میکروثانیه وارد خواهیم کرد. همچنین، پس از آپلود کد بر روی برد، پایههای GPIO16 (D0) و RST را به هم متصل میکنیم. در روش دوم کافی است ESP8266 را با کلید روی برد ریست کنیم.
بسترهای توسعه ماژول ESP8266
حالا بیایید به سراغ موضوع جذابتری برویم!
بسترهای توسعه متنوعی برای برنامهنویسی ماژول وای فای ESP8266 وجود دارد. شما میتوانید با Espruino کار کنید. Espruino کیت توسعه نرمافزاری جاوا اسکریپت و firmware است که به دقت Node.js را شبیه سازی میکند.
علاوه بر این بستر، میتوانید از Mongoose OS یا یک کیت توسعه نرمافزاری (SDK) ارائه شده توسط Espressif نیز استفاده کنید. Mongoose OS، سیستم عاملی برای دستگاههای اینترنت اشیا است (این پلتفرم توسط Espressif Systems و Google Cloud IoT پیشنهاد شده است).
اما خوشبختانه، جامعه شگفتانگیز کاربرهای ESP8266، انتخاب IDE را با ساخت یک افزونه آردوینو برای شما آسان کردهاند. اگر به تازگی برنامهنویسی ESP8266 را شروع کردهاید، به شما پیشنهاد میکنیم که از آردوینو استفاده کنید. البته به احتمال زیاد هدف شما از خواندن این مقاله هم، راه اندازی برد NodeMCU ESP8266 با آردوینو بوده است!
نصب هسته ESP8266 بر روی سیستمعامل ویندوز
بیایید با نصب هسته ESP8266 ادامه دهیم.
در مرحله اول باید آخرین نسخه Arduino IDE (آردوینو 1.6.4 یا بالاتر) را برروی کامپیوتر خود نصب کنید. میتوانید از طریق سایت Arduino، آخرین نسخه را متناسب با سیستم عامل خود دانلود کنید. کافی است در بخش Download Options، سیستم عامل خود را انتخاب کنید و بر روی آن کلیک کنید.
پس از نصب آخرین نسخه آردوینو، برای شروع، باید قسمت board manager را با یک URL خاص آپدیت کنید. نرمافزار آردوینو را باز کرده و مسیر File > Preferences را دنبال کنید. سپس URL زیر را در قسمت Additional Board Manager URLs در پایین صفحه وارد کنید.
http://arduino.esp8266.com/stable/package_esp8266com_index.json
سپس، گزینهی OK را انتخاب کنید. پس از آن، از مسیر Tools > Boards > Boards Manager قسمت Boards Manager را باز کنید. اکنون باید گزینههای جدیدی به بردهای استاندارد آردوینو اضافه شده باشد. به همین دلیل، با سرچ عبارت ESP8266، جستجوی خود را محدود کنید. در نهایت، بر روی نتیجهی ظاهر شده مانند تصویر زیر کلیک کرده و install را بزنید.
تعاریف و ابزارهای ESP8266 شامل دسته جدیدی از g++، gcc و سایر مقادیر باینری بزرگ و کامپایل شده میباشد. به همین دلیل، ممکن است دانلود و نصب آن چند دقیقهای طول بکشد (حجم فایل آرشیو حدود 110 مگابایت است).
زمانیکه نصب به پایان رسید، عبارت INSTALLED بهصورت کوچک ظاهر میشود. اکنون میتوانید Board Manager را ببندید.
نکته:
gcc و ++g مخفف GNU C Compiler و GNU C++ Compiler ، مجموعهای از کامپایلرها هستند که تحت پروژه GNU تولید شده و از زبانهای برنامهنویسی مختلف، معماریهای سخت افزاری و سیستمعاملهای مختلف پشتیبانی میکنند. از این کامپایلرها برای کامپایل کردن برنامههای ++c و c در لینوکس استفاده میشود.
نمونه کد راه اندازی برد NodeMCU ESP8266 با آردوینو: چشمک زن
در این بخش، برای راه اندازی نهایی برد NodeMCU و اطمینان حاصل کردن از اینکه هسته آردوینو و NodeMCU بهدرستی نصب شدهاند، میخواهیم سادهترین کد ممکن یعنی چشمک زن را آپلود کنیم!
برای این تست، از LED بر روی برد استفاده خواهیم کرد. همانطور که اشاره شد، پایه D0 به LED آبی روی برد متصل میشود و توسط کاربر قابل برنامهریزی است.
قبل از اینکه کد را آپلود کنید و با LED بازی کنید، باید مطمئن شوید که برد در نرمافزار آردوینو بهدرستی انتخاب شده باشد.
نرم افزار آردوینو را باز کرده و مسیر Tools > Board را طی کنید. سپس، NodeMCU 0.9 (ESP-12 Module) را انتخاب نمایید.
حال برد NodeMCU ESP8266 خود را با کابل micro-B USB به کامپیوتر متصل کنید. هنگامیکه متصل شد، باید یک پورت COM به آن تخصیص پیدا کند.
در سیستمهای ویندوزی، پورت COM با نامی مانند #COM و در کامپیوترهای Mac/Linux به شکل /dev/tty.usbserial-XXXXXX ظاهر میشود. پورت سریال را در نرم افزار آردوینو از مسیر Tools > Port انتخاب کنید. علاوه بر آن، سرعت آپلود را نیز روی 115200 قرار دهید.
هشدار!
در انتخاب برد، پورت COM و سرعت آپلود دقت کنید. اگر اشتباهی انجام دهید ممکن است هنگام آپلود برنامههای جدید، پیغام خطای espcomm_upload_mem را دریافت کنید.
پس از اتمام کار، کد نمونه زیر را امتحان کنید.
void setup()
{
pinMode(D0, OUTPUT);
}
void loop()
{
digitalWrite(D0, HIGH);
delay(500);
digitalWrite(D0, LOW);
delay(500);
}
پس از اینکه کد را آپلود کردید، LED شروع به چشمک زدن میکند. ممکن است لازم باشد کلید RST را بزنید تا ESP8266 شروع به اجرای کد کند.
حرف آخر
راه اندازی برد NodeMCU ESP8266 با آردوینو را همراه هم انجام دادیم. همانطور که قدم به قدم پا به پای ما پیش رفتید، یاد گرفتید که این برد چگونه کار میکند و هر یک از پایههای آن چه کاربردی دارد. در نهایت نیز راه اندازی آن با آردوینو را انجام دادید.
امیدواریم که بتوانید با این برد، بیشتر با دنیای IOT آشنا شوید و بیشتر از این تکنولوژی کاربردی و به روز استفاده کنید. حتما سوالات، نظرات و پیشنهادات خود را ما در میان بگذارید.
۴۶ دیدگاه. Leave new
عالی بود . ممنونم 🌸
خواهش میکنم، خوشحالیم که مورد پسند بوده.
سلام وقت بخیر
من از ورژن ۱.۸.۱۳ نرم افزار ARDUINO IDE استفاده میکنم
و طبق آموزشتون پیش رفتم اما در قسمت بورد منیجر وقتی ESP8266 را سرچ میکنم چیزی بالا نمیاد با ورژن ۲.۰.۰ هم سعی کردم ولی بازم نتیجه نگرفتم میشه راهنمایی کنید
سلام علی عزیز،
مرحله اضافه کردن URL رو انجام دادی؟ احتمالا مشکل از همونجاست.
سلام مجدد
بله URL رو اضافه کردم اما با سرچESP8266 چیزی بالا نمیاد
از این لینک هم استفاده کردم ESP8266بالا میاد ولی نصب نمیشه
https://github.com/esp8266/Arduino/releases/download/2.3.0/package_esp8266com_index.json
سلام دوباره،
در درجه اول مطمئن شو که بعد از وارد کردن لینک، از منوی tools وارد Boards manager میشی و esp8266 رو سرچ میکنی. ممکنه به اشتباه library manager رو باز کرده باشی. همچنین ممکنه مشکل اینترنت شما باشه، پس ترجیحا با یک اینترنت دیگه هم تست کن.
در صورتی که باز هم موفق نشدی، میتونی از روش نصب دستی استفاده کنی که آموزشش در لینک زیر اومده:
https://arduino-esp8266.readthedocs.io/en/latest/installing.html#using-git-
سلام.برای اتصال سنسورها به برد آردوینو و گرفتن خروجی هایی مثل رله و موتور ،و ارسال دیتاهای همون سنسورها،مثل دما و رطوبت به موبایل از طریق اینترنت،یه مسیر یادگیری نیاز دارم
لطفا راهنماییم کنید
سلام حمیدرضای عزیز،
ببین برای ارسال به موبایل، دو راه ساده وجود داره، یکی ارسال فرمانهای at command به ماژولهای esp32 یا esp8266 با استفاده از آردوینو هست و راه دوم
استفاده از بردهایی مثل همین NodeMCU که شما رو از آردوینو بینیاز میکنه.
در مورد سنسورها و موتورها، شما تقریبا برای هر سنسوری که مدنظر داری با جستجو در اینترنت میتونی پروژههای مبتنی بر آردوینو و بردهای ESP پیدا کنی.
در سایت خودمون هم پروژههای زیادی هم با آردوینو و هم با ESP قرار دادیم که میتونی مطالعه کنی.
حتی کتابخانه هر سنسور در برنامه آردوینو شامل مثالهای متعدد و نسبتا جامعی میشه که منبع آموزشی مناسبی هست.
طبیعتا پیشنیاز همه اینها آشنایی اولیه با برنامهنویسی c و الکترونیک هست.
به طور خلاصه اول سعی کن هر جزء پروژه رو به طور جداگونه راهاندازی کنی (از مثالهای آماده سطح اینترنت و سایت ما میتونی استفاده کنی) و
در نهایت کم کم همه اجزاء رو تجمیع کنی.
با سلام من یک برد nodemcu cp2102 دارم که موقع متصل کردن صدای سیستم میاد که وصل شده اما در آردوینو فقط پورت com3 رو میاره که اگر هم قطعش کنم بازم همون com3 رو میاره ولی باز با همون میخوام آپلود کنم خطای زیر رو میاره: ورژن اردوینو ۱.۸.۱۹ هستش و ورژن کتابخانه esp 3.0.2 هستش
esptool.py v3.0
Serial port COM3
Connecting…….._____….._____….._____….._____….._____….._____….._____
Traceback (most recent call last):
File “C:\Users\Digi1anD\OneDrive\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.0.2/tools/upload.py”, line 66, in
esptool.main(cmdline)
File “C:/Users/Digi1anD/OneDrive/Documents/ArduinoData/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py”, line 3552, in main
esp.connect(args.before, args.connect_attempts)
File “C:/Users/Digi1anD/OneDrive/Documents/ArduinoData/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py”, line 529, in connect
raise FatalError(‘Failed to connect to %s: %s’ % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
سلام به شما،
لطفا بعد از اتصال برد به کامپیوتر، در device manager بررسی کن که برد شناخته شده یا نه.
در قسمت Ports (COM & LTP) باید دیوایس خودت رو به همراه پورت COM ببینی.
اگر دیده نمیشه باید درایور cp2102 رو نصب کنی.
سلام من هم به همین خطا بر خوردم اما وقتی میرم قسمت device manager و در گزینه Ports (COM & LTP) نمی دونم برد رو چرا شناسایی نمی کنه با این که درایور CH340G نصبش کردم ولی بازم نمیشناسه لامپ ide برد هم روشنم میشه!!
میشه راهنماییم کنید!!!!
سلام محمد عزیز،
مبدل سریال ماژول، CP2102 هست. لطفا درایور CP2102 رو نصب کن.
عالی بود . جزییات راه اندازی کاملی بود . عالی
سلام هادی عزیز،
خیلی ممنون از شما
با سلام
من برای اولین بار کار با SEP را شروع کردم و از آردوینو ۱.۸.۱۸ استفاده میکنم ، بدون هیچ مشکلی با استفاده از آموزش شما برد ESP را راه اندازی کردم ، تجربه بسیار خوبی بود .
برای تمام اهل علم و آگاهی خصوصا تیم کار آمد شما آرزوی سلامتی وموفقیت میکنم.
ارادتمند حمید خیام
سلام حمید عزیز،
باعث خوشحالیه ماست که بتونیم به شما و همه کسانی که علاقهمند هستند، کمکی کرده باشیم.
ما هم برای شما آرزوی بهترینا رو داریم. پایدار و موفق باشی.
با سلام ،خسته نباشید ، پبنهای دیجیتال این برد کدومها هستند درست در نمیاد وقتی خروجی میکنی ، مثلا پین ۹ میخوای روشن با خاموش کنی به حالش فرق نداره فقط روشن یا های هست ، چطوری هست باید پول آپ بشه از خارج مدار تا به عنوان خروجی رفتار بکنه مممون
سلام مصطفی عزیز،
پینهای دیجیتال برد رو داخل مقاله با شکل مشخص کردیم. به این توجه داشته باش که نام پایهها با آردوینو متفاوته. مثلا در آردوینو پایه ۲ را یک میکنیم، در اینجا پایه D2. اگر به کد انتهای مقاله هم دقت کنی این موضوع رو میبینی.
بسیار ممنون از اطلاعاتی که منتشر کردید
بسیار منسجم و کامل بود
سلام بابک عزیز،
خواهش میکنم، لطف داری، امیدواریم همیشه بتونیم بهترین مطالب رو ارائه بدیم.
سلام خسته نباشید.
واقعا ممنون از آموزش هاتون.
سلام محمد عزیز، سلامت باشید،
خیلی خوشحالیم که دوست داشتی.
سلام وقت بخیر
ببخشید من نیازمند استفاده از ۷ تا سنسور التراسونیک و ۷ تا موتور و ۷ تا چراغ و کنترل آنها با اینترنت هستم
پیشنهاد شما چیه ؟
ایا امکان اتصال ۲ تا نود ام سی یو به برد آردوینو یو نو به صورت همزمان هست تا پایه های مورد نیاز برای این ۲۱ تا قطعه فراهم بشه ؟
سلام معراج عزیز،
وقت شما هم بخیر،
ارتباط برد آردوینو و NodeMCU از طریق software serial ممکن هست. بنابراین، شما میتونی دو یا چند NodeMCU رو به یک برد آردوینو متصل کنی.
البته لازم به ذکره که چندتا برد NodeMCU هم میتونند از طریق شبکه (و بدون برد آردوینو) به هم متصل بشند.
سلام خسته نباشید چجوری blinkرو پیدا کنم یا چجوری آمادشو پیاده کنم ماژول esp8266nodmcuرو پروگرم کنم که بتونم یه لامپ رو با یه رله تک کانال روشن کنم
سلام و درود به ماهان عزیز
پیشنهاد میکنیم مثالهای آردوینو را از منوی FILE-EXAMPLES مشاهده کنید. BLINK همون چشمک زن هست که داخل همین مقاله هم آموزشش هست.
موفق باشید 🙂
با سلام و تشکر بابت مطلب زیباتون
سوالی که ذهنم رو مشغول کرده اینه که آیا میشه حافظه فلش nodemcu رو قفل کرد ؟ مثل avr و stm
ممنون میشم توضیح بدید
سلام و درود خدمت شما سجاد عزیز
میکروکنترلر ESP8266 مثل میکروهای AVR یا STM32 دارای حافظه فلش داخلی نیست و روی ماژول NodeMCU یک آی سی حافظه فلش قرار داده شده که طبیعتا هر کسی میتونه اون رو از روی برد برداره و محتویاتش رو بخونه. بنابراین حفاظت از کد به سادگی بقیه میکروکنترلرها نیست اما باز هم روشهایی برای حفاظت از کد هست که میتونید یک نمونهش رو در این لینک ببینید:
https://bbs.espressif.com/viewtopic.php?t=936
سلام وقت تون بخیر
من یه مشکلی دارم که هرچی سعی میکنم حل نمیشه
میخوام پایه های S1, S2, S3 رو خروجی کنم و کنترل شون کنم ولی نمیدونم مشکل از اسم پایه است یا چی هر اسمی رو امتحان میکنم در نهایت اون پایه اصلا تحت کنترل نیست
مثلا توی تصویری هم که خودتون گذاشتین اسم شون رو نوشته SDD3 GPIO10 12 SD3 !! هر کدوم از این اسم هارو استفاده میکنم نمیشه که نمیشه … کسی راهی سراغ داره؟
درود برشما دوست عزیز
در حالت کلی، استفاده از پینهای GPIO6 تا GPIO11 به حافظه فلش متصل هستند. بنابراین استفاده از اونها توصیه نمیشه. البته روشهایی هست که بتونی از اونها هم استفاده کنی اما تا حد امکان بهتره که این پایهها استفاده نشه و اگر پایه کم اوردی با تکنیکهایی مثل شیفت رجیستر یا گسترش دهندههای GPIO محدودیت رو حل کنی.
انشاا.. در آینده یه مقاله در مورد GPIOهای این برد میذاریم و مفصل توضیح میدیم.
سلام
باعرض تشکروخسته نباشی به دوست عزیزم واطلاعات مفید شما
بنده میخوام یک موشک شبیه ساز رو که با کابل به کامپیوترمون وصل شده ازطریق وای فای یابلوتوث از هم جدا کنم بنظرتون استفاده از این ماژول جواب میده؟
سلام و درود برشما دوست عزیز
و سپاس از همراهیتون
بدون اطلاع از محصولی که میفرمایید و نحوه عملکرد دقیقش نمیتونیم جواب قطعی بدیم. بهتره ابتدا با یک جستجو ببینید این کار انجام شده یا خیر تا ایده بگیرید. در حالت کلی و در حال حاضر بهترین راه حل وایرلس کردن دستگاهها و قطعات مختلف همین ماژولهای esp32 و esp8266 هستند و خیلی کارها ازشون برمیاد!
سلام و احترام
چطوری میتونم به این برد آنتن external وصل کنم؟ چون جایی رو ندارم برای وصل آنتن و آیا راهی هست که یه حرکتی بزنیم و آنتنمون رو از طریق پایه ها وصل کنیم لطفاً راهنمایی بفرمایید..
سلام و درود بر شما دوست عزیز
این لینک به خوبی توضیح داده چطور آنتن خارجی رو به ماژول ESP8266 متصل کنید:
https://community.home-assistant.io/t/how-to-add-an-external-antenna-to-an-esp-board/131601/12
سلام خسته نباشید من یدونه از همین ماژول ها دارم اول که خریدمش وای فای میداد ولی یکم دکمه ریست و بوت رو دست کاری کردم و الان میخوام به وای فای برد وصل شم ولی برد از خودش وای فای نمیده باید چیکار کنم
سلام و درود
ممنونیم از شما
لطفاً سوالتون رو با ذکر جزئیات بیشتری مطرح کنید. مواردی مثل امکان آپلود برنامه دارید؟ اگر بله، صفر و یک کردن پایههای خروجی به درستی انجام میشه و فقط اتصال وای فای ایراد داره؟ از چه حالت وای فای استفاده میکنید؟؟
سلام و درود استاد
خواستم بگم که اگر امکانش هست فایل های درایور رو قرار بدید موفق به دانلودش نشدم
سلام و درود خدمت شما دوست عزیز
اگر برد شما دارای درایور CP2102 است از این لینک میتوانید دانلود کنید
https://roboeq.ir/files/id/5872/name/pololu-cp2102-windows-220616.zip/
آموزش نصب درایور را هم از این لینک میتوانید مشاهده کنید.
https://www.pololu.com/docs/0J7/all#2
سلام خسته نباشید من یک برد esp_12f node mcu دارم که وقتی میخوام کد رو روش اپلود کنم حین یا بعد از اجرای فر ایند این ارور رو میده
A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for
packet header
درود برشما دوست عزیز
لطفاً ابتدا بررسی کنید که ماژول با اتصال به کامپیوتر، در device manager ویندوز به صورت یک پورت com شناخته میشود. سپس بررسی کنید که در برنامه آردوینو همان پورت را انتخاب کردهاید. سپس اقدام به آپلود کد کنید.
سلام .
می خواستم بپرسم چطور برنامه رو اجرا کنم در مواقعی که برد به رایانه متصل نیست
مثلا من یک برنامه دارم که میشود با استفاده از گوشی برد رو کنترل کرد و مثلا یک ال ای دی را خاموش روشن کرد خب حالا کد هارا درون برد اپلود میکنم و میخواهم آن را از سیستم جدا کرده و مثلا در آشپزخانه انرا به برق متصل کنم (البته که مستقیم به برق ۲۲۰ ولت وصل نمیکنم 😐 ) خب حالا در صورت اتصال برنامه من به صورت خودکار اجرا خواهد شد ؟ و من میتوانم از طریق گوشی ال ای دی را خاموش روشن کنم ؟
سلام سجاد عزیز٬
اتصال به کامپیوتر، فقط برای برنامهریزی کردن ماژول الزامی است. بنابراین پس از ریختن برنامه روی ماژول به هر طریقی تغذیه آن را متصل کنید، برنامه اجرا میشود. توجه کنید هنگام متصل کردن ماژول به کامپیوتر، تغذیه آن از طریق پورت USB تامین میشود و به همین علت هنگام اتصال به کامپیوتر شاهد اجرای برنامه هستیم.
امیدواریم با راهنمایی های انجام شده با موفقیت این پروژه را اجرا کنی 🙂
سلام استاد گرامی..خوب هستید ؟؟ ممکنه برام سورس کدهای ماشین کنترلی با دو چراغ جلو و عقب به طور مجزا و از طریق ماژول وای فای
-۱۲e- esp8266 را برام ارسال کنید..با تشکر
درود بر شما دوست عزیز
با عرض پوزش برنامه مدنظر شما را به صورت آماده در اختیار نداریم.
سلام وقت بخیر با چه برنامه ای میتوان برد رو از راه دور با گوشی موبایل کنترل کرد؟
درود برشما کیانوش عزیز
شما می توانید سایر مقالات مربوط به این ماژول رو مطالعه بفرمایید مثلاً مقاله “آموزش ساخت وب سرور با ماژول ESP8266 در آردوینو
“