پایههای ماژول esp8266
آموزش استفاده از پین های ماژول الکترونیکی وای فای
پین های ESP8266
ماژول ESP8266 12-E دارای 17 پین GPIO است.
همه GPIO ها در همه بردهای توسعه ESP8266 در قسمت خروجی برد قرار نمی گیرند،
برخی از GPIO ها برای استفاده توصیه نمی شوند و برخی دیگر عملکردهای بسیار خاصی دارند.
نکته: شماره GPIO با شماره چاپ شده روی برد راه انداز مطابقت ندارد. به عنوان مثال، D0 مربوط به GPIO16 و D1 مربوط به GPIO5 است.
جدول پین های ESP8266
| لیبل روی برد | GPIO | حالت ورودی | حالت خروجی | نکات استفاده | کاربرد |
| D0 | GPIO16 | بدون وقفه | بدون pwm یا i2c | مقدار high در زمان بوت قابل استفاده برای wakeup در زمان deepsleep | برای بیدار کردن ESP8266 از وضعیت خواب عمیق، GPIO16 باید به پین RST متصل شود. |
| D1 | GPIO5 | قابل استفاده | قابل استفاده | قابل استفاده برای SCL (I2C) | |
| D2 | GPIO4 | قابل استفاده | قابل استفاده | قابل استفاده برای SDA (I2C) | |
| D3 | GPIO0 | پول آپ شود | قابل استفاده | به دکمه flash متصل شده در صورت پول داون شدن ماژول بوت نخواهد شد | |
| D4 | GPIO2 | پول آپ شود | قابل استفاده | مقدار high در زمان بوت به ال ای دی روی برد متصل شده در صورت low بودن ماژول بوت نخواهد شد | |
| D5 | GPIO14 | قابل استفاده | قابل استفاده | SPI (SCLK) | |
| D6 | GPIO12 | قابل استفاده | قابل استفاده | SPI (MISO) | |
| D7 | GPIO13 | قابل استفاده | قابل استفاده | SPI (MOSI) | |
| D8 | GPIO15 | پول داون شود | قابل استفاده | SPI (CS) در صورت high بودن ماژول بوت نمیشود | |
| RX | GPIO3 | قابل استفاده | RX pin | مقدار high در زمان بوت | |
| TX | GPIO1 | TX pin | قابل استفاده | مقدار high در زمان بوت خروجی دیباگ در زمان بوت. در صورت low بودن ماژول بوت نمیشود. | |
| A0 | ADC0 | Analog Input | X |
راهنمای پین های ESP8266
این مقاله راهنمای پین های ESP8266 دیاگرام پین ها، عملکرد آنها و نحوه استفاده از آنها میباشد.
ماژول ESP8266 12-E دارای 17 پین GPIO است. همه GPIO ها در همه بردهای توسعه ESP8266 در قسمت خروجی برد قرار نمی گیرند، برخی از GPIO ها برای استفاده توصیه نمی شوند و برخی دیگر عملکردهای بسیار خاصی دارند.
در این راهنما، روش استفاده صحیح از پین های ESP8266 و جلوگیری از ساعت ها زمان عیب یابی را با استفاده از مناسب ترین پین ها برای پروژه های خود خواهید آموخت.
پین های ESP8266 12E بدون برد راه انداز
شکل زیر پایه تراشه ESP8266 12-E را نشان می دهد. اگر از ماژول ESP8266 بدون برد راه انداز در پروژه های خود استفاده می کنید از این دیاگرام استفاده کنید.

توجههمه GPIO ها در همه بردهای توسعه قابل دسترسی نیستند، اما هر GPIO خاص بدون در نظر گرفتن برد توسعه ای که استفاده می کنید به یک روش کار می کند.
در حال حاضر، طیف گسترده ای از بردهای توسعه با تراشه ESP8266 وجود دارد که از نظر تعداد GPIO های قابل دسترس، اندازه و غیره با هم تفاوت دارند.
پرکاربردترین بردهای این ماژول ESP8266 ESP-01 ، ESP8266-12E NodeMCU Kit و Wemos D1 Mini هستند.
ساخت مرورگر
آموزش ساخت و ایجاد مرورگر برای ماژول ، ESP8266
پین های ESP8266-01
اگر از برد ESP8266-01 استفاده می کنید، می توانید از دیاگرام GPIO زیر به عنوان مرجع استفاده کنید.

پین های برد راه انداز ESP8266 12-E NodeMCU
دیاگرام پین های خروجی برد ESP8266 12-E NodeMCU در زیر نشان داده شده است.

پین های Wemos D1 Mini
شکل زیر پین های خروجی WeMos D1 Mini را نشان می دهد.

پریفرال های ESP8266
پریفرال های ESP8266 شامل موارد زیر هستند:
- 17 GPIOs
- SPI
- I2C (نرم افزاری)
- I2S interfaces with DMA
- UART
- ADC 10bit
پین های قابل استفاده در ESP8266
یک نکته مهم در مورد ESP8266 این است که شماره GPIO با شماره چاپ شده روی برد راه انداز مطابقت ندارد. به عنوان مثال، D0 مربوط به GPIO16 و D1 مربوط به GPIO5 است.
جدول زیر مطابقت بین شماره پین روی برد راه انداز و شماره GPIO را نشان میدهد و همچنین نشان میدهد که کدام پینها برای پروژههای شما بهترین هستند و در استفاده از کدام یک باید محتاط باشید.
پین هایی که با رنگ سبز مشخص شده اند برای استفاده مناسب هستند. مواردی که با رنگ زرد مشخص شدهاند برای استفاده مناسب هستند، اما باید توجه کنید زیرا ممکن است در هنگام بوت رفتار غیرمنتظرهای داشته باشند. پین هایی که با رنگ قرمز مشخص شده اند برای استفاده به عنوان ورودی یا خروجی توصیه نمی شوند.
| لیبل روی برد | GPIO | حالت ورودی | حالت خروجی | نکات استفاده |
| D0 | GPIO16 | بدون وقفه | بدون pwm یا i2c | مقدار high در زمان بوت قابل استفاده برای wakeup در زمان deepsleep |
| D1 | GPIO5 | قابل استفاده | قابل استفاده | قابل استفاده برای SCL (I2C) |
| D2 | GPIO4 | قابل استفاده | قابل استفاده | قابل استفاده برای SDA (I2C) |
| D3 | GPIO0 | پول آپ شود | قابل استفاده | به دکمه flash متصل شده در صورت پول داون شدن ماژول بوت نخواهد شد |
| D4 | GPIO2 | پول آپ شود | قابل استفاده | مقدار high در زمان بوت به ال ای دی روی برد متصل شده در صورت low بودن ماژول بوت نخواهد شد |
| D5 | GPIO14 | قابل استفاده | قابل استفاده | SPI (SCLK) |
| D6 | GPIO12 | قابل استفاده | قابل استفاده | SPI (MISO) |
| D7 | GPIO13 | قابل استفاده | قابل استفاده | SPI (MOSI) |
| D8 | GPIO15 | پول داون شود | قابل استفاده | SPI (CS) در صورت high بودن ماژول بوت نمیشود |
| RX | GPIO3 | قابل استفاده | RX pin | مقدار high در زمان بوت |
| TX | GPIO1 | TX pin | قابل استفاده | مقدار high در زمان بوت خروجی دیباگ در زمان بوت. در صورت low بودن ماژول بوت نمیشود. |
| A0 | ADC0 | Analog Input | X |
GPIO های متصل به تراشه فلش داخلی
GPIO6 تا GPIO11 معمولاً به تراشه فلش در بردهای ESP8266 متصل می شوند. بنابراین، استفاده از این پین ها توصیه نمی شود.
پین های استفاده شده در هنگام بوت
اگر برخی از پین ها esp8266 اگر پول آپ یا پول داون شوند، می توانند از بوت شدن ESP8266 جلوگیری کنند.
همچنین جهت اطلاعات بیشتر میتوانید به این لینک مراجعه نمایید.
لیست زیر وضعیت پین های زیر را در BOOT نشان می دهد:
- GPIO16: مقدار 1 در زمان بوت
- GPIO0: درصورت پول داون بودن ماژول بوت نمیشود
- GPIO2: مقدار 1 در زمان بوت, درصورت پول داون بودن ماژول بوت نمیشود
- GPIO15: درصورت پول آپ بودن ماژول بوت نمیشود
- GPIO3: high در زمان بوت
- GPIO1: مقدار 1 در زمان بوت. درصورت پول داون بودن ماژول بوت نمیشود
- GPIO10: مقدار 1 در زمان بوت
- GPIO9: مقدار 1 در زمان بوت
پین های high در زمان بوت
زمانی که ESP8266 بوت می شود، پین های خاصی وجود دارند که سیگنال 3.3 ولتی را در خروجی خود می دهند. اگر رلهها یا سایر دستگاههای جانبی به آن GPIO متصل هستند، ممکن است مشکل ساز باشد. GPIO های زیر یک سیگنال HIGH در هنگام بوت می دهند:
- GPIO16
- GPIO3
- GPIO1
- GPIO10
- GPIO9
بعلاوه، سایر GPIO ها، به جز GPIO5 و GPIO4، می توانند سیگنال ولتاژ پایین را در هنگام بوت ارسال کنند، که اگر به ترانزیستورها یا رله ها متصل شوند، می تواند مشکل ساز شود.
نکته: اگر میخواهید از رلهها استفاده کنید، GPIO4 و GPIO5 ایمنترین برای استفاده از GPIO هستند.
نکته: اگر میخواهید از رلهها استفاده کنید، GPIO4 و GPIO5 ایمنترین برای استفاده از GPIO هستند.
ورودی آنالوگ
ESP8266 فقط از یک پین برای خواندن مقادیر آنالوگ پشتیبانی می کند که GPIO ADC0 نامیده می شود و معمولاً روی برد ماژول با علامت A0 مشخص می شود.
اگر از تراشه ESP8266 بدون برد راه انداز استفاده می کنید، حداکثر ولتاژ ورودی پایه ADC0 مقدار 0 تا 1 ولت است. اگر از یک برد توسعه مانند کیت ESP8266 12-E NodeMCU استفاده می کنید، محدوده ولتاژ ورودی 0 تا 3.3 ولت است زیرا این بردها دارای یک تقسیم کننده ولتاژ داخلی هستند.
LED روی برد
اکثر بردهای توسعه ESP8266 دارای LED داخلی هستند. این LED معمولا به GPIO2 متصل می شود.

این LED با منطق معکوس کار می کند. برای خاموش کردن آن یک سیگنال HIGH و برای روشن کردن آن یک سیگنال LOW ارسال کنید.
پین RST
وقتی پین RST صفر می شود، ESP8266 ریست می شود. این همان وضعیت فشار دادن دکمه RESET روی برد است.

پین GPIO0 FLASH/BOOT
هنگامی که GPIO0 صفر می شود، ESP8266 را در حالت بوت لودر قرار می دهد. این همان وضعیت فشار دادن دکمه FLASH/BOOT روی برد است.

پین GPIO16
GPIO16 می تواند برای بیدار کردن ESP8266 از وضعیت خواب عمیق استفاده شود. برای بیدار کردن ESP8266 از وضعیت خواب عمیق، GPIO16 باید به پین RST متصل شود.
I2C
ESP8266 پین سخت افزاری I2C ندارد، اما می توان آن را در نرم افزار پیاده سازی کرد. بنابراین می توانید از هر GPIO به عنوان I2C استفاده کنید. معمولاً از GPIO های زیر به عنوان پین I2C استفاده می شود:
- GPIO5: SCL
- GPIO4: SDA
SPI
پین های استفاده شده به عنوان SPI در ESP8266 عبارتند از:
- GPIO12: MISO
- GPIO13: MOSI
- GPIO14: SCLK
- GPIO15: CS
پین های PWM
ESP8266 دارای PWM نرم افزاری این اجازه را می دهد تا در تمام پین های ورودی/خروجی: GPIO0 تا GPIO15. سیگنال های PWM در ESP8266 دارای وضوح 10 بیتی داشته باشید.
پین های وقفه
ESP8266 از وقفه در هر GPIO پشتیبانی می کند، به جز GPIO16.
*****
من اخیراً درب گاراژم را با استفاده از ESP8266 به اینترنت وصل کردم. در پست دیگری بیشتر در مورد این موضوع صحبت خواهم کرد. این پست شامل تحقیقاتی است که پس از کشف این موضوع انجام دادم که هر بار که برق از ESP8266 قطع و دوباره وصل میشد، یکی از دربهای گاراژم باز میشد.
پیشینه
درب بازکن وایفای گاراژ من صرفاً یک جفت رله متصل به GPIO های ESP8266 است. من اساساً پینهای GPIO خاص را به صورت تصادفی انتخاب کردم؛ D0 و D5. رلهها توسط یک سطح منطقی بالا فعال میشوند، که من سادهلوحانه فرض میکردم ایمنترین سطح است، زیرا یک ESP8266 غیرفعال آنها را فعال نمیکند. ظاهراً هنگام روشن شدن اولیه، برخی از اشکالات در GPIO های ESP8266 وجود دارد، زیرا یکی از رلهها هنگام روشن شدن سیستم برای مدت کوتاهی فعال میشود. من شروع به ثبت سیگنالهای GPIO ESP8266 کردم، ابتدا با استفاده از یک تحلیلگر منطقی و سپس با استفاده از یک اسیلوسکوپ.
تحقیقات
توجه: بیشتر این پست از شمارهگذاری GPIO مربوط به NodeMCU استفاده میکند که با شمارهگذاری خام GPIO مربوط به ESP8266 متفاوت است.
من با گرفتن وضعیت دو پین GPIO مربوط به ESP8266 با استفاده از یک آنالیزور منطقی شروع به کار کردم. این هیچ تفاوتی در رفتار نشان نداد؛ هر دو پین در حالی که ESP8266 خاموش بود، در حالت low شروع به کار کردند، سپس در حالی که ESP8266 بوت میشد، به طور خلاصه پالس high دریافت کردند، سپس وقتی برنامه آردوینو من شروع به اجرا کرد و GPIO ها را به طور صریح برای خروجی مقدار low تنظیم کرد، به حالت low بازگشتند:
بالا: رفتار دیجیتال GPIO مربوط به ESP8266 در هنگام بوت شدن، هنگام اجرای یک برنامه ساده آردوینو که هیچ کاری جز تنظیم تمام GPIOها برای خروجی با مقدار پایین در هنگام بوت انجام نمیدهد.
این رفتار گیجکننده بود زیرا دو رله در سیستم یکسان بودند، اما در واقع فقط یکی از آنها فعال میشد. جابجایی GPIO های ESP8266 بین رلهها نشان داد که این رفتار از سیگنال GPIO ESP8266 پیروی میکند و نه از رله. از این رو، من شروع به بررسی دقیقتر رفتار خروجی GPIO کردم. مشاهده آن GPIO ها با استفاده از اسیلوسکوپ تفاوت را نشان داد؛ سطح خروجی پایین D0 0 ولت نیست، بلکه حدود 1 ولت است، در حالی که مقدار خروجی پایین D5 همانطور که انتظار میرفت 0 ولت است:
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D0 در هنگام بوت، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت مقدار پایینی را خروجی دهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D5 در هنگام بوت شدن، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت شدن مقدار کمی خروجی دهد.
من فقط میتوانم فرض کنم که ولتاژ پایین بالاتر D0 مقداری از ظرفیت خازنی را در برد رله به اندازه کافی شارژ نگه میدارد تا سیمپیچ رله برای مدت کوتاهی رله را ببندد، اما این به زودی تخلیه میشود و دوباره رله را آزاد میکند. بدیهی است که سطح ۱ ولت پایینتر از سطح Vih (ولتاژ ورودی بالا) آنالایزر منطقی دیجیتال من است.
بعد از مشاهده این رفتار عجیب، تصمیم گرفتم رفتار دیجیتال تمام پینهای GPIO را در سه حالت اندازهگیری کنم:
- وقتی ESP8266 در حالت فلش/بوت لودر روشن است.
- هنگام بوت شدن به یک برنامه آردوینو که به معنای واقعی کلمه هیچ کاری انجام نمیدهد.
- هنگام بوت شدن به یک برنامه آردوینو که به صراحت تمام GPIO ها را برای خروجی با مقدار کم تنظیم میکند.
من همچنین رفتار همه GPIO ها را با استفاده از اسیلوسکوپ در مورد 3 بالا ثبت کردم.
پیکربندی آنالیزور منطقی شامل ریل تغذیه ESP8266 3V3 به عنوان یک سیگنال ورودی اضافی است و توسط لبه بالارونده این سیگنال فعال میشود.
خطوط اسیلوسکوپ توسط لبهی رو به بالا GPIO مورد اندازهگیری، فعال میشدند.
خلاصه رفتار GPIO
در اینجا خلاصهای از نحوه رفتار همه GPIO های ESP8266 آورده شده است. تصاویر ردیابیهای آنالایزر/اسکوپ در زیر نشان داده شده است.
GPIO نود ام سی یو | GPIO ESP8266 | حالت فلش رفتار | برنامه آردوینو آدمک رفتاری | رفتار آردوینو GPIO ها را در سطح پایین تنظیم کنید |
|---|---|---|---|---|
| دی0 | ۱۶ | بالا | هنگام بوت شدن بالا، بعد از حدود ۱۱۰ میلیثانیه (تا حدود ۱ ولت؟) افت میکند. | در حین بوت شدن بالا، بعد از حدود ۱۱۰ میلیثانیه (تا حدود ۱ ولت) افت میکند |
| دی۱ | ۵ | کم | کم | کم |
| دی۲ | ۴ | کم | کم | کم |
| دی۳ | 0 | پایین و سپس نوسان میکند | متغیر است، بعد از حدود ۱۰۰ میلیثانیه در سطح بالا تثبیت میشود | متغیر است، پس از حدود ۱۱۰ میلیثانیه در سطح پایین تثبیت میشود |
| دی۴ | ۲ | متغیر است، بعد از حدود ۶۰ میلیثانیه در سطح بالا تثبیت میشود | متغیر است، بعد از حدود ۷۰ میلیثانیه در سطح بالا تثبیت میشود | متغیر است، پس از حدود ۱۱۰ میلیثانیه در سطح پایین تثبیت میشود |
| دی۵ | ۱۴ | بالا | بالا، سپس بعد از حدود ۱۱۰ میلیثانیه پایین | بالا، سپس بعد از حدود ۱۱۰ میلیثانیه پایین |
| دی۶ | ۱۲ | بالا | بالا، سپس بعد از حدود ۱۱۰ میلیثانیه پایین | بالا، سپس بعد از حدود ۱۱۰ میلیثانیه پایین |
| دی۷ | ۱۳ | بالا | بالا، سپس بعد از حدود ۱۱۰ میلیثانیه پایین | بالا، سپس بعد از حدود ۱۱۰ میلیثانیه پایین |
| دی۸ | ۱۵ | کم | کم، با قطعی حدود ۱۱۰ میلیثانیه | کم، با قطعی حدود ۱۱۰ میلیثانیه |
| دی۹ | ۳ | کم | پایین تا حدود ۵۰ میلیثانیه و سپس بالا | پایین تا حدود ۵۰ میلیثانیه و سپس بالا تا حدود ۱۱۰ میلیثانیه و سپس پایین |
| دی۱۰ | ۱ | کم | پایین تا حدود ۵۰ میلیثانیه و سپس بالا | پایین تا حدود ۵۰ میلیثانیه و سپس بالا تا حدود ۱۱۰ میلیثانیه و سپس پایین |
نتیجهگیری: GPIO های D1 و D2 تنها GPIO های ایمنی هستند که میتوانم برای راهاندازی رلهها استفاده کنم اگر نخواهم آنها به صورت خودکار در هنگام بوت شدن کار کنند. باید PCB خود را دوباره طراحی کنم 🙁
کارهای آینده
من رفتار GPIO را در تمام حالتهای ممکن بررسی نکردم. موارد زیر نیز میتوانند جالب باشند:
- یک برنامه آردوینو که به صراحت تمام GPIO ها را برای خروجی با مقدار بالا تنظیم میکند.
- یک برنامه آردوینو که به صراحت همه GPIO ها را در حالت ورودی قرار میدهد.
- برنامههای بومی ESP8266، یعنی عدم استفاده از محیط آردوینو.
- رفتار آنالوگ با بیش از یک نوع کاربرد.
- چندین برد ESP8266 را با هم مقایسه کنید تا ببینید آیا رفتار آنها اصلاً متفاوت است یا خیر. من گمان میکنم رفتار آنالوگ در اینجا جالبترین باشد.
- با یک pull-up/down ضعیف که به هر GPIO متصل است، دوباره تست کنید تا مطمئن شوید که آیا آنها به صورت تصادفی شناور هستند یا به طور فعال توسط ESP8266 در هنگام بوت هدایت میشوند. در بیشتر موارد، من کاملاً مطمئن هستم که آنها به طور فعال هدایت میشوند زیرا الگوها قابل تکرار هستند. با این حال، بهتر است مطمئن شوید. پیشنهاد شده توسط Anders Sandblad.
اطلاعات اضافی از Erich Flach
در ماه مه ۲۰۱۸، ایمیلی از اریش فلچ دریافت کردم که جزئیات تحقیقاتی را که او در مورد استفاده از GPIO ESP8266 در زمان بوت انجام داده بود، شرح میداد. او در این ایمیل نوشته بود:
استفان عزیز،
از اطلاعات ارائه شده در وبسایتتان متشکرم! مایلم توضیحاتی در مورد عملکرد برخی از پینها اضافه کنم:
حدود یک سال پیش، من هم رفتار بوت ESP8266 NodeMCU را بررسی کردم، چون سعی کردم تا حد امکان از ورودی/خروجی (IO) استفاده کنم. متأسفانه، نمودارها و غیره را از آن زمان ندارم، اما تا جایی که به یاد دارم، موارد زیر را مشاهده کردم:
GPIO1، یعنی “TX”، “TXD0” و GPIO2، یعنی “D4″، “TXD1” رفتار کمی عجیبی دارند و مراحل زیر را در هنگام راهاندازی نشان میدهند:
- سطح خط TXD0 را بررسی کنید. اگر ۱ بود، به مرحله ۴ ادامه دهید.
- مقاومت بالاکش داخلی را به TXD0 وصل کنید. اگر ۱ شد، فرض کنید که خط آزاد است. اگر روی ۰ باقی ماند، مرحله ۴ را ادامه دهید.
- اطلاعات راهاندازی بوت لودر (بیفایده) را روی TXD0 ارسال کنید و فرآیند راهاندازی را ادامه دهید.
- سطح خط TXD1 را بررسی کنید. اگر ۱ بود، همه چیز را متوقف کنید (!).
- مقاومت داخلی بالاکش را به TXD1 وصل کنید. اگر ۱ شد، فرض کنید که خط آزاد است. اگر روی ۰ ماند، همه چیز را متوقف کنید (!).
- اطلاعات راهاندازی بوت لودر (بیفایده) را روی TXD1 ارسال کنید و فرآیند راهاندازی را ادامه دهید.
بنابراین به طور خلاصه: سعی کنید اطلاعات راهاندازی را از طریق TXD0 یا TXD1 ارسال کنید. اگر این امکان وجود ندارد، از کار کردن خودداری کنید.
من واقعاً از این واقعیت که پردازنده فقط به دلیل پیامهای راهاندازی (برای من) کاملاً بیفایده از کار میافتد، ناراحت بودم. باور اینکه پیادهسازی آنقدر احمقانه است که وقتی خطوط فقط توسط برخی ورودی/خروجیهای خارجی اشغال شدهاند، از ادامه کار خودداری میکند، سخت بود.
اگر میخواهید این را بررسی کنید، انجام این کار با استفاده از مقاومتهای پولآپ یا پولداون با مقاومت متوسط (حدود ۲۲ کیلواهم) برای تغییر سطح خط نسبتاً آسان است. سپس میتوانید با اسیلوسکوپ، پولآپ داخلی اعمال شده به خط را قبل از ارسال داده بررسی کنید.
تصاویر
بالا: رفتار دیجیتال GPIO مربوط به ESP8266 در هنگام بوت شدن، و قرار گرفتن دستگاه در حالت فلش (بوت لودر) هنگام روشن شدن.
بالا: رفتار دیجیتال GPIO مربوط به ESP8266 در هنگام بوت شدن، هنگام اجرای یک برنامه آردوینوی ساختگی که مطلقاً هیچ کاری انجام نمیدهد.
بالا: رفتار دیجیتال GPIO مربوط به ESP8266 در هنگام بوت شدن، هنگام اجرای یک برنامه ساده آردوینو که هیچ کاری جز تنظیم تمام GPIOها برای خروجی با مقدار پایین در هنگام بوت انجام نمیدهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D0 در هنگام بوت، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت مقدار پایینی را خروجی دهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D1 در هنگام بوت، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت مقدار پایینی را خروجی دهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D2 در هنگام بوت، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت مقدار پایینی را خروجی دهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D3 در هنگام بوت شدن، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت شدن مقدار کمی خروجی دهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D4 در هنگام بوت شدن، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت شدن مقدار کمی خروجی دهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D5 در هنگام بوت شدن، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت شدن مقدار کمی خروجی دهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D6 در هنگام بوت شدن، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت شدن مقدار کمی خروجی دهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D7 در هنگام بوت شدن، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت شدن مقدار کمی خروجی دهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D8 در هنگام بوت شدن، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت شدن مقدار کمی خروجی دهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D9 در هنگام بوت شدن، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت شدن مقدار کمی خروجی دهد.
بالا: رفتار آنالوگ GPIO مربوط به ESP8266 D10 در هنگام بوت شدن، هنگام اجرای یک برنامه ساده آردوینو که GPIO را طوری تنظیم میکند که در هنگام بوت شدن مقدار کمی خروجی دهد.
منابع:
https://rabbithole.wwwdotorg.org/2017/03/28/esp8266-gpio.html