اتصال ESP 01. ماژول Wifi مبتنی بر تراشه ESP8266. اتصال ESP8266 به اینترنت

روز به روز محبوبیت بیشتری پیدا می کند و آردوینو در حال حاضر ابتکار عمل را در دست گرفته است - این ماژول های Wi-Fi را به لیست بردهای پشتیبانی شده اضافه می کند.
اما چگونه آن را به آردوینو وصل کنیم؟ آیا اصلاً می توان بدون آردوینو کار کرد؟ این دقیقاً همان چیزی است که این مقاله امروز در مورد آن خواهد بود.

با نگاهی به آینده، می گویم که مقاله دوم، کاربردی تر، در مورد سیستم عامل و برنامه نویسی ماژول ESP8266 در محیط توسعه Arduino IDE وجود خواهد داشت. اما اول از همه.

این ویدیو مطالب ارائه شده در مقاله را کاملاً تکراری می کند.



بر این لحظه، انواع مختلفی از این ماژول وجود دارد که در اینجا به برخی از آنها اشاره می کنیم:

و اینجا پین‌آوت ESP01، ESP03، ESP12 است:


*این تصویر را می توان در کیفیت خوبروشن خاموش. وب سایت pighixxx.com.

من شخصا نسخه ESP07 را بیشتر دوست دارم. حداقل برای این واقعیت که یک صفحه فلزی وجود دارد (از ریز مدارها در برابر تداخل خارجی محافظت می کند و در نتیجه عملکرد پایدارتر را تضمین می کند)، آنتن سرامیکی خود و یک اتصال دهنده برای آنتن خارجی. با اتصال به آن معلوم می شود آنتن خارجیبه عنوان مثال مانند دوطرفه، سپس می توانید به محدوده خوبی دست یابید. علاوه بر این، تعداد زیادی پورت ورودی/خروجی وجود دارد، به اصطلاح GPIO (خروجی ورودی با هدف عمومی - پورت های ورودی/خروجی) همه منظوره، بر اساس قیاس با پین های آردوینو.

بیایید به ماژول‌های Wi-Fi و آردوینو برگردیم. در این مقاله به اتصال ESP8266 (مدل ESP01) به Arduino Nano V3 می پردازم.

ولی، این اطلاعاتبرای اکثر ماژول های ESP8266 و همچنین بردهای مختلف آردوینو، به عنوان مثال محبوب ترین ها، مرتبط خواهد بود. آردوینو UNO.

چند کلمه در مورد پایه های ESP01:

Vccو GND(در تصویر بالا این 8 و 1 هستند) - غذا برای هر پا Vccمی توان با قضاوت بر اساس اسناد ارسال کرد، از 3 تا 3.6 ولت، آ GND- زمین (منهای قدرت). من دیدم که یک نفر این ماژول را به دو باتری AA متصل کرد (ولتاژ تغذیه در این مورد تقریباً 2.7 ولت بود) و ماژول در حال کار بود. اما با این حال، توسعه دهندگان محدوده ولتاژی را که ماژول باید در آن تضمین کار کند را مشخص کرده اند؛ اگر از دیگری استفاده می کنید، این مشکل شماست.

توجه! این ماژول مبتنی بر منطق 3.3 ولت است، در حالی که آردوینو عمدتاً منطق 5 ولت است. 5 ولت می تواند به راحتی به ESP8266 آسیب برساند، بنابراین باید به طور جداگانه از آردوینو تغذیه شود.

- آردوینو من یک پایه دارد که روی آن نوشته شده 3.3 ولت، چرا از آن استفاده نکنیم؟

احتمالا فکر می کنید واقعیت این است که ESP8266 کاملاً یک ماژول پر انرژی است و در پیک ها می تواند جریان هایی تا 200 میلی آمپر مصرف کند و تقریباً هیچ آردوینو به طور پیش فرض قادر به ارائه چنین جریانی نیست، به استثنای Arduino Due که در آن جریان دارد. جریان در امتداد خط 3.3 ولت می تواند به 800 میلی آمپر برسد، که بسیار زیاد است، در موارد دیگر به شما توصیه می کنم از تثبیت کننده 3.3 ولت اضافی، به عنوان مثال AMS1117 3.3 ولت استفاده کنید. تعداد زیادی از آنها هم در چین و هم در اینجا وجود دارد.

پا RST 6 - برای راه اندازی مجدد ماژول برای سخت افزار در نظر گرفته شده است که با اعمال یک سطح منطقی کم بر روی آن، ماژول مجددا راه اندازی می شود. اگرچه در این ویدیو از این موضوع غافل شدم، اما همچنان به شما توصیه می کنم این پایه را با یک مقاومت 10 کیلو اهم به منبع تغذیه مثبت فشار دهید، برای دستیابی به پایداری بهتر در عملکرد ماژول، در غیر این صورت با کوچکترین تداخلی دوباره راه اندازی می کنم.

پا CP_PD 4 (یا به روشی دیگر EN) - دوباره برای "سیم سخت" ماژول به حالت صرفه جویی در انرژی، که در آن جریان بسیار کمی مصرف می کند، خدمت می کند. خوب دوباره - فشار دادن این پایه با مقاومت 10 کیلو اهم به نقطه مثبت ضرری ندارد.پیتالوا در ویدیو، من به طرز احمقانه ای این پایه را به Vcc اتصال کوتاه کردم، زیرا چنین مقاومتی در دست نداشتم.

پاها RXD0 7 TXD0 2 - سخت افزار UART که برای فلش استفاده می شود، اما هیچکس استفاده از این پورت ها را به عنوان GPIO منع نمی کند (به ترتیب GPIO3 و GPIO1). به دلایلی، GPIO3 در تصویر مشخص نشده است، اما در دیتاشیت وجود دارد:

به هر حال، به پا TXD0 2 LED "Connect" متصل است، و هنگامی که سطح منطقی در GPIO1 کم است، یا زمانی که ماژول چیزی را از طریق UART ارسال می کند، روشن می شود.

GPIO0 5- نه تنها می تواند یک پورت I/O باشد، بلکه ماژول را در حالت برنامه نویسی قرار دهد. این کار با اتصال این پورت به سطح منطقی پایین (فشردن آن به GND) و تامین برق ماژول انجام می شود. در ویدیو من این کار را با یک دکمه معمولی انجام می دهم. پس از چشمک زدن، فراموش نکنید که جامپر را بیرون بکشید/دکمه را فشار دهید (در حین چشمک زدن نیازی به نگه داشتن دکمه نیست؛ وقتی روشن می شود، ماژول به حالت برنامه نویسی می رود و تا راه اندازی مجدد در آن باقی می ماند).

GPIO2 3 - پورت ورودی/خروجی.

و یک نکته مهم دیگر، هر GPIO ماژول Wi-Fi می تواند با خیال راحت جریان تا 6 میلی آمپر را ارائه دهدبرای اینکه نسوزد حتما مقاومت ها را به صورت سری با پورت های ورودی/خروجی قرار دهید... قانون اهم را به خاطر بسپارید R = U/I = 3.3V / 0.006 A = 550 Ohm، یعنی در 560 اهم. یا از آن غفلت کنید، و سپس تعجب کنید که چرا کار نمی کند.

در ESP01، همه GPIO ها از PWM پشتیبانی می کنند، بنابراین به چهار GPIO ما، یعنی GPIO0-3، می توانید یک درایور موتور، ala L293 / L298 را وصل کنید، و دو موتور، به عنوان مثال قایق ها را هدایت کنید، یا هر چیزی RGB Wi-Fi بسازید. بله، بله، این ماژول دارای چیزهای زیادی است و برای پروژه های ساده نیازی به ویولونیست آردوینو نیست، فقط برای فلش زدن. و اگر از ESP07 استفاده می کنید، به طور کلی پورت ها تقریباً مشابه پورت های Uno هستند، که این امکان را فراهم می کند تا بدون آردوینو با اطمینان انجام دهید. درست است، یک لحظه ناخوشایند وجود دارد، ESP01 اصلاً درگاه آنالوگ ندارد و ESP07 فقط یک درگاه دارد که ADC نام دارد. این البته کار با سنسورهای آنالوگ را دشوارتر می کند. در این مورد، مالتی پلکسر آنالوگ آردوینو کمک خواهد کرد.

به نظر می رسد همه چیز با pinout توضیح داده شده است، و در اینجا نمودار اتصال ESP8266 به آردوینو نانو آمده است:

آیا جامپر روی پین های RST و GND در آردوینو نانو را می بینید؟ این برای اینکه آردوینو با سیستم عامل ماژول تداخل نداشته باشد ضروری است؛ در مورد اتصال ESP8266 با استفاده از آردوینو، این یک پیش نیاز است.

همچنین در صورت اتصال به آردوینو، RX ماژول باید به RX آردوینو، TX - TX برود. دلیل این امر این است که تراشه مبدل قبلاً به صورت متقاطع به پین ​​های آردوینو متصل شده است.

همچنین یک تقسیم کننده مقاومتی متشکل از مقاومت های 1 کیلو اهم و 2 کیلو اهم (که می توان از دو مقاومت 1 کیلو اهم با اتصال سری آنها ساخته شد) در امتداد خط RX ماژول مهم است. چون آردوینو 5 ولت منطقی و ماژولش 3.3 هست. این یک مبدل سطح اولیه است. باید آنجا باشد، زیرا پایه های ماژول RXD TXD ولتاژ 5 ولت را تحمل نمی کند.

خوب، با اتصال ESP8266 از طریق یک مبدل معمولی USB-UART، می توانید بدون آردوینو به طور کامل کار کنید. در مورد اتصال به آردوینو، در اصل از مبدل استاندارد استفاده می کنیم رابط های usbو uart، دور زدن مغزها. پس چرا پول اضافی خرج کنید اگر اصلاً می توانید بدون آردوینو کار کنید؟ فقط در این مورد، ما RXD ماژول را به TXD مبدل، TXD - RXD متصل می کنیم.

اگر خیلی تنبل هستید که با اتصالات، سر و کله زدن با مقاومت ها و تثبیت کننده ها تنبل هستید، راه حل های آماده NodeMcu وجود دارد:

همه چیز در اینجا بسیار ساده تر است: کابل را به رایانه وصل کنید، درایورها را نصب کنید و برنامه را نصب کنید، فقط فراموش نکنید که از دکمه/جمپر در GPIO0 برای تغییر ماژول به حالت سیستم عامل استفاده کنید.

خب، احتمالاً همه اینها با تئوری است، مقاله بسیار طولانی بود و من بخش عملی، ala firmware و برنامه نویسی ماژول را کمی بعد منتشر خواهم کرد.

نحوه تست ESP8266

برای تست ESP8266 که به تازگی خریداری کرده اید، به آن نیاز دارید.

توجه!محدوده ولتاژ تغذیه مجاز برای ماژول ESP8266 از 3.0 تا 3.6 ولت است. افزایش ولتاژ تغذیه به ماژول تضمین شده است که باعث از کار افتادن ESP8266 می شود.

برای آزمایش ESP8266 ESP-01، فقط سه پایه: VCC و CH_PD (چپ فعال) را به منبع تغذیه 3.3 ولت و GND را به زمین وصل کنید. اگر ESP-01 ندارید، اما ماژول دیگری و GPIO15 روی آن خروجی است، علاوه بر این باید GPIO15 را به زمین متصل کنید.

اگر سیستم عامل کارخانه با موفقیت در ماژول ESP8266 راه اندازی شود، LED قرمز روشن می شود (نشانگر روشن/خاموش، در برخی از نسخه های ماژول، به عنوان مثال ESP-12، ممکن است وجود نداشته باشد) و LED آبی چند بار چشمک می زند. (این نشانگر انتقال داده از ماژول به ترمینال از طریق خط TX-RX است، ممکن است رنگ متفاوتی داشته باشد) و در مال شما شبکه بی سیمیک نقطه دسترسی جدید باید با نام "ESP_XXXX" ظاهر شود، که می توانید آن را از هر کدام ببینید دستگاه های وای فای. نام نقطه دسترسی به سازنده سیستم عامل بستگی دارد و ممکن است متفاوت باشد، به عنوان مثال AI-THINKER_AXXXXC. اگر نقطه دسترسی ظاهر شد، می توانید آزمایشات را ادامه دهید، اگر نه، دوباره منبع تغذیه، CH_PD، GND را بررسی کنید، و اگر همه چیز به درستی وصل شده باشد، به احتمال زیاد شما یک ماژول معیوب دارید، اما امید وجود دارد که سیستم عامل موجود در ماژول تنظیمات غیر استانداردی دارد و شاید فلش کردن آن به شما کمک کند.

نحوه اتصال سریع ESP8266

حداقل کیت برای اتصال و چشمک زدن ماژول ESP8266 شامل موارد زیر است:

قرمز - منبع تغذیه 3.3 ولت

سیاه - GND

زرد - در سمت ESP8266 - RX، در سمت USB-TTL - TX

سبز - سمت ESP8266 - TX، سمت USB-TTL - RX

نارنجی - CH_PD (CHIP ENABLE) - همیشه باید به برق وصل باشد

آبی - GPIO0 - از طریق سوئیچ به زمین متصل می شود تا حالت چشمک زن ماژول فعال شود. برای شروع معمولی ماژول، GPIO0 را می توان در جایی وصل نکرد.

صورتی در نمودار سمت راست - منبع تغذیه ناپایدار 5-8 ولت

4. برای راه اندازی ماژول، مدار GPIO0 - GND را بشکنید و می توانید برق را اعمال کنید (و دقیقا به این ترتیب: ابتدا مطمئن می شویم که GPIO0 در هوا معلق است، سپس به VCC و CH_PD برق می رسانیم)

توجه! در مثال های بالا، در واقع کار، نمونه هایی از اتصال ESP8266، آنها از اتصال پین های ESP8266 "مستقیم" به زمین و برق، یا "هنگ زدن در هوا" استفاده می کنند، زیرا ما RESET را در جایی وصل نکرده ایم، که کاملا نادرست است و فقط برای دو آزمایش اول مناسب است، اگرچه در اکثریت قریب به اتفاق ماژول ها به خوبی کار می کند. فقط پین VCC مستقیماً به منبع تغذیه متصل است؛ پایه‌های باقی‌مانده: CH_PD، RESET، GPIO0، GPIO2 باید از طریق مقاومتی از 4.7 تا 50 کیلو اهم به منبع تغذیه (VCC) بالا کشیده شوند. "مستقیم"، ما فقط GND را به منفی (سیم مشترک) منبع تغذیه وصل می کنیم و GPIO0 را نیز از طریق یک مقاومت تا 10 کیلو به GND می کشیم تا ماژول را در حالت دانلود سیستم عامل قرار دهیم. اگر قصد دارید به آزمایش ESP8266 ادامه دهید، آن را به همان روشی که برای هر میکروکنترلر دیگر انجام می دهید انجام دهید. توضیح دقیق در مورد pullup و pulldown خارج از حوصله این مقاله است، اما می توانید به راحتی توضیحات را در گوگل جستجو کنید. اتصال صحیحپورت های ورودی/خروجی اتصال " " به شما این امکان را می دهد که از بسیاری از "معجزات" و مشکلات جلوگیری کنید و در صورت بروز مشکل در راه اندازی یا فلش ماژول ESP8266 به ناچار ضروری خواهد بود.

نحوه اتصال صحیح ESP8266

اگر قصد دارید از ESP8266 برای بیش از یک شب استفاده کنید، به یک گزینه اتصال نیاز دارید که پایداری بیشتری ارائه دهد. در زیر دو نمودار اتصال وجود دارد: با پشتیبانی از بارگیری خودکار سیستم عامل از و بدون آن.

نمودار اتصال ESP8266 (بدون بارگذاری خودکار سیستم عامل، ابتدا با نصب جامپر BURN و راه اندازی مجدد ماژول، آن را فلش می کنیم)

نمودار اتصال با پشتیبانی از بارگذاری خودکار سیستم عامل از آردوینو IDE, UDK, Sming. Flash Download Tool و XTCOM_UTIL ممکن است نیاز به غیرفعال کردن RTS/DTR داشته باشند. اگر غیرفعال کردن RTS و DTR برای شما ناخوشایند است، می توانید جامپرها را به مدار اضافه کنید.

این نمودارها اتصال ADC و GPIO های رایگان را نشان نمی دهند - اتصال آنها به آنچه می خواهید پیاده سازی کنید بستگی دارد، اما اگر پایداری می خواهید، فراموش نکنید که همه GPIO ها را به برق (کشش) و ADC به زمین (کششی) بکشید. ) از طریق مقاومت های کششی.

مقاومت های 10k را می توان با مقاومت های دیگر از 4.7k تا 50k جایگزین کرد، به استثنای GPIO15 - مقدار آن باید تا 10k باشد. مقدار خازن که ضربان های فرکانس بالا را صاف می کند، ممکن است متفاوت باشد.

اگر از حالت خواب عمیق استفاده می کنید، باید RESET و GPIO16 را از طریق یک مقاومت خواب عمیق 470 اهم وصل کنید: برای خروج از حالت خواب عمیق، ماژول با اعمال سطح پایین در GPIO16 خود را راه اندازی مجدد می کند. بدون این ارتباط، خواب عمیق برای ماژول شما ابدی خواهد بود.

در نگاه اول، به نظر می رسد این نمودارها نشان می دهد که GPIO0، GPIO2، GPIO15، GPIO1 (TX)، GPIO3 (RX) مشغول هستند و شما نمی توانید از آنها برای اهداف خود استفاده کنید، اما اینطور نیست. سطح بالا در GPIO0 و GPIO2، سطح پایین در GPIO15 فقط برای راه‌اندازی ماژول مورد نیاز است و متعاقباً می‌توانید از آنها به صلاحدید خود استفاده کنید، فقط به یاد داشته باشید که قبل از راه‌اندازی مجدد ماژول از سطوح مورد نیاز اطمینان حاصل کنید.

می‌توانید از TX، RX به‌عنوان GPIO1 و GPIO3 استفاده کنید، فراموش نکنید که هنگام راه‌اندازی ماژول، هر سیستم‌افزاری TX را می‌کشد و اطلاعات اشکال‌زدایی را با سرعت 74480 به UART0 ارسال می‌کند، اما پس از بارگیری موفقیت‌آمیز می‌توانید از آنها نه تنها به عنوان UART0 برای تبادل داده با دستگاه دیگری، بلکه مانند GPIO های معمولی.

برای ماژول‌هایی که تعداد پایه‌های سیمی کمتری دارند، مانند ESP-01، اتصال پین‌های بازگردانده شده لازم نیست. در ESP-01، فقط VCC، GND، GPIO0، GPIO2، CH_PD و RESET سیمی هستند - فقط آنها را سفت کنید. نیازی به لحیم کردن مستقیم به تراشه ESP8266EX و جذب پین های بدون مسیر نیست، فقط در صورت نیاز.

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

توجه! حتی این طرح ها را نمی توان "ایده آل" نامید. هیچ محدودیتی برای کمال وجود ندارد: اتصال USB-TTL دوم به UART1 راحت است (با ESP8266 فقط می توانید GND و UTXD1 یعنی GPIO2 را برای اتصال ترمینال اشکال زدایی استفاده کنید (شما به یک مبدل USB-TTL دوم نیاز دارید) - سپس می توانید ماژول ESP8266 را از طریق UART0 بدون غیرفعال کردن ترمینال اشکال زدایی در UART1 فلش کنید. ایده خوبی است که مقاومت های کوچک را به پین ​​های هر دو UART وصل کنید، یک دیود در خط RTS قرار دهید، یک خازن به خط برق اضافه کنید تا پالس های فرکانس پایین را کم کند و غیره. به عنوان مثال، در این برد اشکال زدایی بسیار راحت است: LED ها به همه GPIO ها متصل هستند، یک مقاومت نوری به ADC متصل است، اما حیف است که دکمه RESET وجود ندارد و تنها یک جامپر در GPIO0 وجود دارد.

درست است اگر به شما بگوییم که هیچ ایده آلی وجود ندارد و در عین حال طرح جهانیاتصالات ESP8266 مسئله این است که خیلی به سیستم عاملی که می خواهید در آنجا آپلود کنید بستگی دارد. نمودارهای بالا برای مبتدیانی طراحی شده اند که به تازگی شروع به تسلط بر ESP8266 برای آزمایش کرده اند. برای پروژه های واقعی، ممکن است مجبور شوید نمودار را کمی تغییر دهید. برای مثال، باید RTS را به GPIO15 و CTS را به GPIO13 متصل کنید. همچنین توصیه می کنم در پروژه های واقعی به تغذیه توجه ویژه ای داشته باشید.

اتصال ESP8266 از طریق آردوینو

اگر مبدل USB-TTL 3.3 ولتی در دسترس ندارید، اما آردوینو با مبدل USB-TTL داخلی دارید، می توانید از این نمودار اتصال استفاده کنید.

به چه نکاتی باید توجه کرد:

1. آردوینو ریست به GND (سیم آبی) وصل می شود تا میکروکنترلر روی آردوینو راه اندازی نشود، در این فرم از آردوینو به عنوان مبدل USB-TTL شفاف استفاده می کنیم.

2. RX و TX به صورت متقاطع وصل نمی شوند، بلکه مستقیماً - RX - RX (سبز)، TX - TX (زرد)

3. بقیه چیزها به همان روشی که در مثال های قبلی وجود داشت به هم متصل می شوند

توجه! این مدار همچنین نیاز به تطبیق سطوح TTL 5 ولت در آردوینو و 3.3 ولت در ESP8266 دارد، اما این روش به خوبی کار می کند.

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

اتصال به پورت سریال به کمی جادو نیاز دارد: با توجه به انواع سیستم عامل برای ESP8266، اتصال را می توان در سرعت های مختلف. سرعت مورد نیاز را می توان با جستجوی ساده از طریق سه گزینه 9600، 57600 و 115200 تعیین کرد. چگونه جستجو کنیم؟ با تنظیم پارامترهای زیر به پورت سریال مجازی خود در برنامه ترمینال متصل شوید: 9600 8N1، سپس ماژول را با جدا کردن CH_PD (فعال کردن تراشه) از منبع تغذیه (USB-TTL همچنان به USB متصل می‌ماند) راه‌اندازی مجدد کنید و دوباره آن را روشن کنید (یعنی. به سادگی CH_PD را تغییر دهید، چرا ما قدرت را تحریف نمی کنیم - بخوانید، همچنین می توانید برای راه اندازی مجدد ماژول، RESET را به زمین متصل کنید) و داده ها را در ترمینال مشاهده کنید. ابتدا، LED های ESP8266 باید همانطور که در ابتدای مقاله در بخش توضیح داده شد روشن شوند. در مرحله دوم، در ترمینال باید یک "آشغال" از کاراکترهای مختلف را ببینید که با خط "آماده" ختم می شود. اگر «آماده» را نمی‌بینیم، با سرعت دیگری دوباره به ترمینال متصل می‌شویم و ماژول را دوباره راه‌اندازی می‌کنیم.

در یکی از گزینه های سرعت "آماده"، همچنان خواهید دید - تبریک می گویم، ماژول شما آماده استفاده است. اگر نه، پس خوش آمدید - ما سعی خواهیم کرد کمک کنیم، اما ابتدا بخوانید.

کمی بیشتر در مورد "زباله". واقعیت این است که وقتی سیستم عامل شروع می شود، UART ماژول ESP8266 به نرخ باود 74880 تغییر می کند (این چینی ها خیلی بامزه هستند)، اطلاعات اشکال زدایی را به UART خروجی می دهد، سپس سرعت پورت را به 115200 (یا 9600 یا 57600) تغییر می دهد. بسته به نسخه سیستم عامل)، بنابراین این اطلاعات اشکال زدایی به عنوان زباله به نظر می رسد، زیرا ما با سرعت متفاوتی به ماژول متصل می شویم. شما می توانید با سرعت 74880 به ESP8266 متصل شوید (از این سرعت پشتیبانی می کند) و این اطلاعات اشکال زدایی را خواهید دید، چیزی شبیه به این خواهد بود:

بارگذاری مجدد wdt 0x40100000, len 25052, اتاق 16 دم 12 chksum 0x0b ho 0 دم 12 اتاق 4 بار 0x3ffe8000, len 3312, اتاق 12 دم 4 chksum 0x53ffe دم 4 chksum 0x53ffe chksum 0x0d cs um 0x0d

wdt تنظیم مجدد

بار 0x40100000، لن 25052، اتاق 16

دم 12

chksum 0x0b

ho 0 دم 12 اتاق 4

load 0x3ffe8000، len 3312، اتاق 12

کار بعدی چیه

اگر ماژول جدیدی دارید، به احتمال زیاد با یکی از فریمورهای سفارشی قدیمی AT فلش شده است. به احتمال زیاد این نوعی AI-THINKER AT v0.16 SDK v0.9.2 است. شما می توانید نسخه سیستم عامل را با استفاده از دستور "AT+GMR" بررسی کنید. مستقیماً در برنامه ترمینال، AT+GMR را بدون نقل قول تایپ کرده و Enter را فشار دهید. ماژول باید "OK" را پاسخ دهد و نسخه سیستم عامل را نمایش دهد (به عنوان مثال، "0016000092" - در نسخه های مختلففرمت خروجی نسخه سیستم عامل AT متفاوت است). کنترل ماژول ESP8266 با دستورات AT مستحق یک مقاله جداگانه است، اما شما به راحتی می توانید آن را با استفاده از یکی از کتاب های مرجع ما در مورد دستورات AT کشف کنید:

در زمان نوشتن این مقاله، نسخه سیستم عامل فعلی ESP8266 به شرح زیر است:

به روز رسانی سیستم عامل ESP8266

ماژول ESP8266 از این نظر قابل توجه است که به برنامه نویس خاصی نیاز ندارد - سیستم عامل بر روی همان سخت افزاری که ماژول ESP8266 را به رایانه وصل می کنید به روز می شود، یعنی. همچنین از طریق یک مبدل USB-TTL (یا آردوینو یا RPi). برای به روز رسانی سیستم عامل در ماژول ESP8266، موارد زیر را انجام دهید:

1. دانلود کنید نسخه جدیدسیستم عامل از وب سایت ما از بخش (اینجا لینک در زمان نوشتن این مقاله است)

2. یکی از ابزارهای کاربردی برای فلش ESP8266 بسته به سیستم عامل خود را از بخش وب سایت ما دانلود کنید.

برای کار با RemoteXY، ماژول ESP8266 باید دارای یک نسخه سیستم عامل باشد که از دستورات AT کمتر از v0.40 پشتیبانی نمی کند. برای بررسی نسخه ماژول و همچنین تغییر سیستم عامل در صورت لزوم، ماژول را از طریق پورت سریال به رایانه متصل کنید. ماژول را می توان از طریق برد آردوینویا از طریق آداپتور USB-UART.

اتصال از طریق برد آردوینو

هنگام استفاده از آردوینو، تراشه اصلی ATmega در حالت تنظیم مجدد قرار می گیرد، تنها مبدل USB-UART داخلی فعال باقی می ماند. برای انجام این کار، کنتاکت RESET به زمین متصل می شود. پین‌های RX و TX مستقیماً به ESP8266 متصل می‌شوند، به‌جای اینکه برای کار با یک کنترلر به صورت متقاطع باشند.

اتصال از طریق آداپتور USB-UART

مبدل باید یک منبع خروجی 3.3 ولت برای تغذیه ESP8266 داشته باشد. همچنین این منبع باید جریان مورد نیاز حداقل 200 میلی آمپر را تامین کند.



کنتاکت CPIO0 حالت عملکرد ماژول را تعیین می کند. هنگامی که مخاطب متصل نیست، ماژول در حالت عادی کار می کند و دستورات AT را اجرا می کند. هنگامی که تماس به زمین بسته می شود، ماژول به حالت به روز رسانی سیستم عامل تغییر می کند. تغییر ماژول به حالت سفت‌افزار مستلزم آن است که وقتی برق به ماژول می‌رسد، پین CPIO0 به زمین وصل شود. اگر هنگام اجرای ماژول، مخاطب را ببندید، ماژول به حالت به روز رسانی سیستم عامل تغییر نخواهد کرد.

در حال بررسی نسخه فعلی

برای ارسال دستورات AT و مشاهده پاسخ ها، باید از هر برنامه مانیتوری استفاده کنید درگاه سریال. برنامه ترمینال از Arduino IDE بسیار خوب کار می کند. برنامه باید طوری تنظیم شود که دستوراتی را با یک خط تغذیه و کاراکتر بازگشتی ارسال کند. سرعت عملکرد پیش فرض ماژول 115200 bps است. برای اینکه ماژول در حالت عادی کار کند، تماس CPIO0 باید غیرفعال شود.

با اجرای دستور AT: AT+GMR می توانید نسخه سفت افزار فعلی را بررسی کنید. نمونه پاسخ ماژول:

نسخه AT: 0.40.0.0 (8 اوت 2015 14:45:58)
نسخه SDK: 1.3.0

ساخت: 1.3.0.2 11 سپتامبر 2015 11:48:04
خوب

همچنین ارزش یافتن اندازه حافظه فلش ماژول خود را دارد؛ تنظیمات آدرس های دانلود داده هنگام به روز رسانی سیستم عامل به این بستگی دارد. این راهنما سیستم عامل یک ماژول با اندازه حافظه فلش 8 مگابیت (512 کیلوبایت + 512 کیلوبایت) یا 16 مگابیت (1024 کیلوبایت + 1024 کیلوبایت) را به عنوان رایج ترین آنها توصیف می کند. اندازه فلش مموری را می توان با اجرای دستور AT برای تنظیم مجدد ماژول پیدا کرد: AT+RST.

Ets 8 ژانویه 2013، علت اول: 2، حالت بوت: (3،1)

بار 0x40100000، لن 1396، اتاق 16
دم 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
دم 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
دم 8
chksum 0xc0
csum 0xc0

نسخه بوت دوم: 1.4 (b1)
سرعت SPI: 40 مگاهرتز
حالت SPI: DIO
اندازه و نقشه فلش SPI: 8 مگابیت (512 کیلوبایت + 512 کیلوبایت)
برای اجرای user1 @ 1000 پرش کنید

#t#n"t از داده های rtc mem استفاده می کند
slЏ‚rlМя
Ai-Thinker Technology Co.,Ltd.

برنامه سفت افزار

برای به روز رسانی سیستم عامل، باید برنامه فریمور و خود فریمور را دانلود کنید. برنامه فلش ESP8266 از Flash Download Tools v2.4 از وب سایت رسمی Espressif Systems استفاده می کند. لینک صفحه دانلود در وب سایت رسمی: . شما باید به بخش "ابزار" بروید.

پیوند به برنامه در ذخیره سازی فایل ما: FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar

سیستم عامل

سیستم عامل را می توان از وب سایت رسمی نیز دانلود کرد. لینک صفحه دانلود در وب سایت رسمی: . شما باید به بخش "SDKs & Demos" بروید و نسخه سیستم عامل ESP8266 NONOS SDK را که کمتر از v1.3.0 نیست، دانلود کنید. با این نسخه سفت‌افزار است که پشتیبانی از دستورات AT نسخه 0.40 به بعد اجرا می‌شود.

پیوند به سیستم عامل موجود در ذخیره سازی فایل ما: esp8266_nonos_sdk_v1.4.0_15_09_18_0.rar

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

تنظیمات

برنامه را راه اندازی کنید سیستم عامل فلش Tools v2.4 (فایل به همین نام) را دانلود کنید. در پنجره باز شده باید فایل های دانلود شده و تنظیمات اتصال را به درستی مشخص کنید.


فایل های دانلود شده در فهرست bin آرشیو با سیستم عامل قرار دارند. برای هر فایل باید آدرس دانلود صحیح را مشخص کنید. برای انتخاب فایل ها و اختصاص آدرس ها از جدول زیر استفاده کنید:

تنظیمات زیر را تنظیم کنید:

  • SPIAutoSet - نصب شده است.
  • CrystalFreq - 26M;
  • اندازه فلش - 8 مگابیت یا 16 مگابیت بسته به اندازه فلش مموری.
  • COM PORT - پورتی را که ESP به آن متصل است انتخاب کنید.
  • BAUDRATE - 115200

برای راه اندازی سیستم عامل، باید دکمه "START" را فشار دهید.

دنباله ای از مراحل برای فلش کردن سیستم عامل ESP8266

1. ماژول را طبق نمودار اتصال در این مقاله به کامپیوتر وصل کنید.

2. مانیتور پورت سریال را راه اندازی کنید. برای تعیین دستورات AT AT+RST و AT+GMR را صادر کنید نسخه فعلیاندازه سیستم عامل و حافظه ماژول این مرحله همچنین به شما امکان می دهد بررسی کنید که ماژول به درستی متصل شده است.

3. برنامه نرم افزار Flash Download Tools را اجرا کنید، فایل های دانلود شده را به درستی پیکربندی کنید و تنظیمات را تنظیم کنید.

4. ماژول ESP8266 را خاموش کنید.

5. پایه CPIO0 را به زمین وصل کنید.

6. برق را به ماژول ESP8266 اعمال کنید.

7. دکمه START را در برنامه سیستم عامل فشار دهید

8. صبر کنید تا سیستم عامل ماژول تکمیل شود. پس از تکمیل سیستم عامل، پیام FINISH به رنگ سبز ظاهر می شود.

9. برق را از ماژول ESP8266 قطع کنید. زمین را از پین CPIO0 جدا کنید.

10. ماژول را روشن کنید، مانیتور پورت سریال را راه اندازی کنید. با اجرای دستور AT AT+GMR مطمئن شوید که ماژول و نسخه جدید سیستم عامل کار می کنند.

ماژول Wi-Fi ESP-01 محبوب ترین ماژول از سری ESP8266 است. ارتباط با یک کامپیوتر یا میکروکنترلر از طریق UART با استفاده از مجموعه ای از دستورات AT انجام می شود. علاوه بر این، ماژول را می توان به عنوان یک دستگاه مستقل استفاده کرد؛ برای انجام این کار، باید سیستم عامل خود را در آن بارگذاری کنید. از طریق نسخه آردوینو IDE بالای 1.6.5 می توانید فریمور را برنامه ریزی و دانلود کنید. برای فلش کردن سیستم عامل ماژول به یک آداپتور UART-USB نیاز دارید. ماژول ESP-01 ممکن است به طور گسترده در دستگاه های IoT (اینترنت اشیا) استفاده شود.

مشخصات فنیمدول

  • Wi-Fi 802.11 b/g/n
  • حالت های WiFi: مشتری، نقطه دسترسی
  • توان خروجی- 19.5 دسی بل
  • ولتاژ تغذیه - 1.8 -3.6 V
  • مصرف جریان - 220 میلی آمپر
  • پورت های GPIO: 4
  • فرکانس ساعتپردازنده - 80 مگاهرتز
  • ظرفیت حافظه کد
  • رم- 96 کیلوبایت
  • ابعاد - 13×21 میلی متر

ارتباط

بیایید حالت فرمان AT را در نظر بگیریم. برای انجام این کار، ماژول را از طریق یک آداپتور USB-UART به رایانه متصل کنید. هدف از پین های ماژول (شکل 1 را ببینید):
  • VCC - +3.3 V
  • GND - زمین
  • پین های RX، TX - UART
  • خروجی CH_PD - فعال کردن تراشه
  • GPIO0، GPIO2 - مخاطبین دیجیتال
ماژول نیاز دارد منبع تغذیه خارجی 3.3 V.

شکل 1. تخصیص پین ماژول ESP-01

نمودار اتصال برای برقراری ارتباط با ماژول در حالت فرمان AT (شکل 2):

شکل 2. نمودار اتصال ماژول ESP-01 به کامپیوتر از طریق پورت سریال

شکل 3. مدار مونتاژ

برای ارسال دستورات AT در Mac OS X می توانید از برنامه CoolTerm در سیستم عامل استفاده کنید برنامه ویندوزموریانه. شما فقط می توانید سرعت پورت COM برای اتصال به ماژول را به صورت تجربی دریابید؛ برای سیستم عامل های مختلف می تواند متفاوت باشد. برای ماژول من سرعت 9600 باود بود. علاوه بر این، تنها پس از قطع و وصل مجدد پین CH_PD به منبع تغذیه، امکان تبادل وجود داشت. پس از اتصال، AT را در ترمینال تایپ کنید و باید پاسخ OK را از ماژول دریافت کنید. دستور AT+GMR شماره نسخه سیستم عامل ماژول را می دهد، دستور AT+RST ماژول را مجددا راه اندازی می کند (شکل 4 را ببینید). فهرستی از دستورات اولیه AT را می توان در این سند یافت (ESP8266ATCommandsSet.pdf).

شکل 4. ارسال دستورات AT به ماژول از Termite

اگر حالت فرمان AT برای شما مناسب نیست، می توان برد را با استفاده از برنامه AppStack ESP8266 Config پیکربندی کرد، که می تواند از لینک http://esp8266.ru/download/esp8266-utils/ESP8266_Config.zip دانلود شود. ظاهربرنامه در شکل 5 ارائه شده است. ماژول با استفاده از پیکربندی شده است رابط کاربری گرافیکی، در حالی که اجرای دستورات را می توان در مانیتور برنامه مشاهده کرد (شکل 6 را ببینید). مانیتور همچنین می تواند دستورات AT را از خط فرمان ارسال کند.

شکل 5. برنامه پیکربندی AppStack ESP8266

شکل 6. نمایشگر سریال برنامه AppStack ESP8266 Config

دو گزینه برای استفاده از این ماژول وجود دارد:

  • در ارتباط با یک میکروکنترلر (به عنوان مثال آردوینو)، که ماژول را از طریق UART کنترل می کند.
  • نوشتن سیستم عامل خود برای استفاده از ESP8266 به عنوان یک دستگاه مستقل.

مثال استفاده

بیایید به مثالی از اتصال سنسور رطوبت و دما DHT11 به ماژول ESP-01 و ارسال داده به ماژول نگاه کنیم. سرویس ابری ThingSpeak (https://thingspeak.com/). ما به قطعات زیر نیاز خواهیم داشت:
  • ماژول ESP-01
  • تخته نان
  • سنسور رطوبت و دما DHT11
  • مقاومت 10 کیلو اهم
  • سیم های اتصال
  • منبع تغذیه 3 - 3.6 ولت
ابتدا سنسور DS18B20 را به ماژول ESP-01 وصل می کنیم. DS18B20 یک سنسور دما دیجیتال است که از طریق رابط تک سیم 1-Wire کار می کند. نمودار اتصال سنسور DS18B20 به ماژول در شکل نشان داده شده است. 7.

شکل 7. نمودار اتصال سنسور DHT11 به ماژول ESP-01.

سپس باید یک نمایه در سرویس ThingSpeak ایجاد کنید. این سرویس دارای دستورالعمل هایی برای ارسال داده به سرویس و دریافت داده از سرویس است.

شکل 8. مدار کامل.

ما برنامه را در آن می نویسیم محیط آردوینو IDE برای ESP8266. ما از کتابخانه های ESP8266WiFi.h (توکار) و OneWire.h استفاده خواهیم کرد. بیایید طرح را از لیست 1 در برد آردوینو آپلود کنیم - داده ها را از سنسور دما دریافت می کنیم و داده ها را به سرویس ThingSpeak ارسال می کنیم. شما باید اطلاعات خود را وارد کنید نقاط وای فایدسترسی برای ماژول ESP-01:

  • const char *ssid;
  • const char *password;
و همچنین پارامتر privateKey برای برنامه شما در سرویس ThingSpeak. لیست 1 // وب سایت // شامل کتابخانه برای کار با esp8266 #include // شامل کتابخانه DHT برای کار با DHT11 #include // پین اتصال DATA #define DHTPIN 4 // DHT11 sensor #define DHTTYPE DHT11 // ایجاد نمونه ای از یک شی DHT DHT dht(DHTPIN, DHTTYPE); //ssid شبکه های وای فایاتصالات const char ssid = "********"; // رمز وای فایشبکه های اتصال const char password = "*******"; // سرور ThingSpeak const char* host = "184.106.153.149"; // کلید API برنامه ThingSpeak شما const char* privateKey = "****************"; // متغیرهای ذخیره دما و رطوبت شناور دما. رطوبت شناور // متغیر برای فاصله اندازه گیری بدون علامت طولانی millis_int1=0; void setup() (// شروع پورت سریال Serial.begin(115200)؛ delay(10)؛ Serial.print("Connect to WiFi"); Serial.println(ssid)؛ // اتصال از طریق WiFi WiFi.begin( ssid , رمز عبور)؛ while (WiFi.status() != WL_CONNECTED) ( delay(500); ) Serial.println("WiFi متصل است"); // start dht dht.begin(); ) void loop() (/ / به مدت 10 دقیقه صبر کنید if(milis()-millis_int1>=10*60000) ( Serial.print("connect to ThingSpeak"); Serial.println(host); // از مشتری WiFi WiFiClient استفاده کنید؛ اگر [ برای سرور String url = "/ update?key="; url += privateKey; url += "&temp="; url += temp; url += "&humidity="; url += humidity; // ارسال درخواست به سرور client.print(String("GET") + url + "HTTP/1.1\r\n" + "Host:" + host + "\r\n" + "اتصال: بستن\r\n\r \n")؛ تاخیر (10); // پاسخ سرور ThingSpeak while(client.available())( String req = client.readStringUntil("\r"); Serial.print(req); )) ) اکنون در سرویس ThingSpeak می توانیم نموداری از قرائت ها را مشاهده کنیم. سنسور دمای DHT11 ما (شکل 9).

شکل 9. نمودار قرائت سنسور دما DS18B20 در سرویس ThingSpeak.

سوالات متداول سوالات متداول

1. ماژول به پاسخ نمی دهددستورات AT
  • بررسی کنید که ماژول به درستی وصل شده باشد.
  • اتصال صحیح مخاطبین Rx، Tx به آداپتور UART-USB را بررسی کنید.
  • اتصال پین CH_PD را به 3.3 ولت بررسی کنید.
  • سرعت ارتباط را روی پورت سریال به صورت آزمایشی انتخاب کنید.
2. ماژول ESP-01 داده های دما را از سنسور دریافت نمی کندDHT11
  • بررسی کنید که سنسور DHT11 به درستی به ماژول وصل شده باشد.
3. داده ها به سرویس ThingSpeak منتقل نمی شوند
  • اتصال ماژول به نقطه دسترسی WiFi را بررسی کنید.
  • اتصال نقطه دسترسی WiFi به اینترنت را بررسی کنید.
  • بررسی کنید که درخواست به سرویس ThingSpeak درست باشد.

بسیاری از کاربران در حال حاضر توجه خود را به تراشه ESP8266-12 که توسط Espressif منتشر شده است معطوف کرده اند. هزینه آن در مقایسه با برد آداپتور بلوتوث استاندارد به طور قابل توجهی ارزان تر است و با وجود ابعاد کوچکتر، قابلیت های قابل توجهی بیشتری دارد. اکنون همه سرگرمی های خانگی این فرصت را دارند که در آن کار کنند شبکه های وای فایدر دو حالت به طور همزمان، یعنی رایانه خود را به هر نقطه دسترسی متصل کنید یا آن را به عنوان یک نقطه روشن کنید.

از سوی دیگر، باید به درستی درک کنید که چنین بردهایی فقط سپرهایی نیستند که فقط برای ارتباطات Wi-Fi در نظر گرفته شده اند. ESP8266 خود یک میکروکنترلر است که دارای رابط های UART، GPIO و SPI مخصوص به خود است، یعنی می توان از آن به عنوان تجهیزات کاملاً مستقل استفاده کرد. پس از عرضه این تراشه، بسیاری آن را یک انقلاب واقعی نامیدند و با گذشت زمان، چنین دستگاه هایی حتی در بیشتر موارد ساخته می شوند. انواع سادهتکنولوژی، اما تا کنون دستگاه نسبتا جدید است و هیچ سیستم عامل پایداری برای آن وجود ندارد. بسیاری از متخصصان در سراسر جهان در تلاش هستند تا سیستم عامل خود را اختراع کنند، زیرا آپلود آنها در برد در واقع دشوار نیست، اما با وجود مشکلات مختلف، دستگاه را می توان کاملاً قابل استفاده نامید.

در حال حاضر، تنها دو گزینه برای استفاده از این ماژول در نظر گرفته شده است:

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

کاملا طبیعی است که باید در نظر بگیریم سیستم عامل مستقلدر این مورد ما نمی خواهیم.

نگاه به سهولت استفاده و ویژگی های خوب، بسیاری از افراد در میان بسیاری از میکروکنترلرها ترجیح خود را به مدل ESP8266 می دهند. به روز رسانی اتصال و سیستم عامل از این دستگاهبسیار ساده و مقرون به صرفه است و بر روی همان سخت افزاری تولید می شود که تجهیزات روی آن به کامپیوتر متصل است. یعنی همچنین از طریق یک مبدل USB-TTL یا اگر کسی گزینه های دیگر اتصال را ترجیح می دهد، می تواند از طریق RPi و آردوینو انجام شود.

چگونه بررسی کنیم؟

برای بررسی عملکرد دستگاهی که به تازگی خریداری شده است، باید از یک منبع ولتاژ تثبیت شده ویژه با ولتاژ 3.3 ولت استفاده کنید. شایان ذکر است فوراً محدوده ولتاژ تغذیه واقعی این ماژول از 3 تا 3.6 ولت است و افزایش ولتاژ بلافاصله منجر به این واقعیت می شود که به سادگی به ESP8266 خود آسیب می زنید. پس از چنین شرایطی، سیستم عامل و سایر نرم افزارها ممکن است شروع به کار نادرست کنند و شما باید دستگاه را تعمیر کنید یا به نحوی آن را تعمیر کنید.

برای تعیین عملکرد این مدل میکروکنترلر، فقط باید سه پایه را به هم وصل کنید:

  • CH_PD و VCC به منبع تغذیه 3.3 ولت متصل هستند.
  • GND به زمین متصل می شود.

اگر از ESP-01 استفاده نمی کنید، بلکه از ماژول دیگری استفاده می کنید، و در ابتدا دارای خروجی GPIO15 است، در این صورت باید آن را به زمین متصل کنید.

اگر سیستم عامل کارخانه به طور عادی راه اندازی شود، در این صورت می توانید ببینید و سپس نور آبی چند بار چشمک می زند. با این حال، شایان ذکر است که همه دستگاه های سری ESP8266 دارای نشانگر پاور قرمز نیستند. سیستم عامل در برخی از دستگاه ها روشن شدن نشانگر قرمز را در صورت نداشتن ماژول فراهم نمی کند (به ویژه، این در مورد مدل ESP-12 صدق می کند).

پس از اتصال، یک نقطه دسترسی جدید در شبکه بی سیم شما فعال می شود که ESP_XXXX نام دارد و از هر دستگاهی که به Wi-Fi دسترسی داشته باشد قابل شناسایی خواهد بود. در این مورد، نام نقطه دسترسی مستقیماً به سازنده سیستم عاملی که استفاده می کنید بستگی دارد و بنابراین ممکن است چیزی متفاوت باشد.

اگر نقطه ظاهر شد، می توانید به آزمایش ادامه دهید، در غیر این صورت باید منبع تغذیه و همچنین صحت اتصالات GND و CH_PD را دوباره بررسی کنید، و اگر همه چیز به درستی وصل شده باشد، به احتمال زیاد هنوز در تلاش هستید تا از یک ماژول شکسته استفاده کنید یا روی آن به سادگی سیستم عامل با تنظیمات غیر استاندارد نصب شده است.

چگونه سریع آن را وصل کنیم؟

کیت استاندارد مورد نیاز برای اتصال این ماژول شامل موارد زیر است:

  • خود ماژول؛
  • تخته نان بدون لحیم کاری;
  • مجموعه ای کامل از سیم های ماده-نر در نظر گرفته شده برای تخته نان یا یک کابل ویژه DUPONT M-F؛
  • مبدل USB-TTL بر اساس PL2303، FTDI یا برخی تراشه های مشابه. بهترین گزینه این است که RTS و DTR نیز به آداپتور USB-TTL خروجی داده شوند، زیرا به این دلیل می توانید به بارگیری نسبتاً سریع سیستم عامل از برخی از UDK، Arduino IDE یا Sming دست پیدا کنید، حتی بدون نیاز به تعویض دستی GPIO0 به زمین.

اگر از مبدل 5 ولتی استفاده می کنید، در این صورت باید یک تثبیت کننده برق اضافی بر اساس تراشه 1117 یا مشابه آن، و همچنین یک منبع تغذیه (برای یک 1117 استاندارد، حتی یک 5- معمولی) خریداری کنید. شارژر ولت گوشی هوشمند کاملا مناسب است). توصیه می شود از Arduino IDE یا USB-TTL به عنوان منبع تغذیه برای ESP8266 استفاده نکنید، بلکه از یک منبع تغذیه جداگانه استفاده کنید، زیرا در نهایت می توانید از بسیاری از مشکلات خلاص شوید.

یک مجموعه گسترده برای اطمینان از عملکرد راحت و ثابت ماژول نیاز به استفاده از مقاومت های اضافی، LED ها و سوئیچ های DIP دارد. علاوه بر این، می توانید از ارزان قیمت نیز استفاده کنید مانیتور USB، که به شما امکان می دهد به طور مداوم بر میزان جریان مصرفی نظارت داشته باشید و همچنین محافظت کمی برای گذرگاه USB از

چی کار باید بکنیم؟

اول از همه، شایان ذکر است که در ESP8266 ممکن است بسته به مدل خاصی که استفاده می کنید، کنترل ها کمی متفاوت باشند. امروزه تعداد زیادی از این ماژول ها در دسترس هستند، و اولین چیزی که نیاز دارید این است که مدلی را که استفاده می کنید شناسایی کنید و در مورد پینوت آن تصمیم بگیرید. در این دستورالعمل در مورد کار با ماژول ESP8266 ESP-01 V090 صحبت خواهیم کرد و اگر از مدل دیگری با پایه GPIO15 (HSPICS, MTDO) استفاده می کنید، باید آن را برای شروع استاندارد به زمین بکشید. ماژول و برای استفاده از حالت سیستم عامل.

پس از این، دوباره بررسی کنید که ولتاژ تغذیه برای ماژول متصل 3.3 ولت باشد. همانطور که در بالا ذکر شد، محدوده مجاز از 3 تا 3.6 ولت است و در صورت افزایش، دستگاه از کار می افتد، اما ولتاژ تغذیه حتی ممکن است به طور قابل توجهی کمتر از 3 ولت ذکر شده در اسناد باشد.

اگر از مبدل USB-TTL 3.3 ولت استفاده می کنید، ماژول را دقیقاً مانند سمت چپ تصویر زیر وصل کنید. اگر منحصراً از USB-TTL پنج ولتی استفاده می کنید، به سمت راست شکل توجه کنید. شاید برای بسیاری به نظر برسد که مدار مناسب به دلیل استفاده از منبع تغذیه مجزا کارآمدتر است، اما در واقع در مورد استفاده از مبدل 5 ولتی USB-TTL، ساخت یک مدار نیز بسیار مطلوب است. تقسیم کننده مقاومت اضافی برای اطمینان از تطابق سطوح منطقی سه ولت و پنج ولت، یا به سادگی از ماژول تبدیل سطح استفاده کنید.

ویژگی های اتصال

شکل سمت راست اتصال UTXD (TX) و همچنین URXD (RX) این ماژول به منطق پنج ولتی TTL را نشان می دهد و چنین رویه هایی فقط با خطر و خطر شما انجام می شود. برای ESP8266، توضیحات می گوید که ماژول فقط با منطق 3.3 ولت کار می کند. در اکثریت قریب به اتفاق موارد، حتی هنگام کار با منطق پنج ولت، تجهیزات خراب نمی شوند، اما چنین موقعیت هایی گهگاه رخ می دهد، بنابراین چنین اتصالی توصیه نمی شود.

اگر فرصت استفاده از مبدل تخصصی 3.3 ولت USB-TTL را ندارید، می توانید از تقسیم کننده مقاومت استفاده کنید. همچنین شایان ذکر است که در تصویر سمت راست، تثبیت کننده برق 1117 بدون سیم کشی اضافی وصل شده است، و این یک فناوری واقعا کارآمد است، اما همچنان بهتر است از نمودار اتصال 1117 با سیم کشی خازن استفاده کنید - باید آن را با برگه داده ESP8266 برای تثبیت کننده خود یا به طور کامل از آن استفاده کنید ماژول آماده، بر اساس پایه 1117.

برای راه اندازی ماژول، باید مدار GPIO0-TND را باز کنید، پس از آن می توانید برق را اعمال کنید. شایان ذکر است که همه چیز باید دقیقاً به این ترتیب انجام شود، یعنی ابتدا مطمئن شوید که GPIO0 "در هوا معلق است" و تنها پس از آن برق را به CH_PD و VCC اعمال کنید.

چگونه به درستی وصل شویم؟

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

شایان ذکر است که تصویر بالا استفاده از GPIO یا ADC رایگان را نشان نمی‌دهد و اتصال آنها مستقیماً به آنچه دقیقاً می‌خواهید پیاده‌سازی کنید بستگی دارد، اما اگر می‌خواهید از ثبات اطمینان حاصل کنید، به یاد داشته باشید که همه GPIO‌ها را به برق و ADC بکشید. به زمین با استفاده از مقاومت های کششی.

در صورت لزوم، مقاومت های 10k را می توان با هر مقاومت دیگری در محدوده 4.7k تا 50k جایگزین کرد، به استثنای GPIO15، زیرا مقدار آن نباید بیشتر از 10k باشد. مقدار خازنی که ضربان های فرکانس بالا را صاف می کند ممکن است کمی متفاوت باشد.

اتصال RESET و GPIO16 از طریق استفاده از یک مقاومت خواب عمیق 470 اهم ممکن است هنگام استفاده از حالت مناسب ضروری باشد، زیرا برای خروج از حالت خواب عمیق، ماژول با اعمال سطح پایین برای GPIO16 یک راه اندازی مجدد کامل را انجام می دهد. با غیبت از این ارتباطحالت خواب عمیق برای ماژول شما برای همیشه دوام خواهد داشت.

در نگاه اول، ممکن است به نظر برسد که GPIO0، GPIO1 (TX)، GPIO2، GPIO3 (RX) و GPIO15 مشغول هستند، بنابراین شما نمی توانید از آنها برای اهداف خود استفاده کنید، اما در واقع این موضوع دور از ذهن است. سطح به اندازه کافی بالا در GPIO0 و GPIO2 و همچنین سطح پایین در GPIO15 ممکن است فقط برای راه اندازی اولیه ماژول مورد نیاز باشد و در آینده می توانید بنا به صلاحدید خود از آنها استفاده کنید. تنها چیزی که شایان ذکر است این است که قبل از انجام بازنشانی کامل تجهیزات خود از سطوح مورد نیاز اطمینان حاصل کنید.

همچنین می توانید از TX، RX به عنوان جایگزینی برای GPIO1 و GPIO3 استفاده کنید، اما فراموش نکنید که پس از شروع ماژول، هر سیستم عامل شروع به کشیدن TX می کند، در حالی که همزمان اطلاعات اشکال زدایی را با سرعت 74480 به UART0 ارسال می کند، اما پس از دانلود موفقیت آمیز خواهد بود، آنها می توانند نه تنها به عنوان UART0 برای تبادل داده با دستگاه دیگری، بلکه به عنوان GPIO استاندارد نیز استفاده شوند.

برای ماژول هایی که تعداد پایه های سیمی کمی دارند (مثلا ESP-01)، نیازی به اتصال پین های unone نیست، یعنی فقط GND، CH_PD، VCC، GPIO0، GPIO2 و RESET روی ESP-01 سیم کشی شده اند. ، و این چیزی است که شما نیاز دارید که باید سفت شود. نیازی به لحیم کردن مستقیم به تراشه ESP8266EX و کشیدن پین های خالی نیست مگر اینکه واقعاً به آن نیاز داشته باشید.

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

اتصال از طریق آردوینو

اگر به دلایلی مبدل USB-TTL 3.3 ولتی ندارید، ماژول WiFi ESP8266 را می توان از طریق آردوینو با مبدل داخلی متصل کرد. در اینجا ابتدا باید توجه خود را به سه عنصر اصلی معطوف کنید:

  • هنگام استفاده با ESP8266، آردوینو ریست ابتدا به GND متصل می شود تا از راه اندازی میکروکنترلر جلوگیری کند و در این شکل به عنوان یک مبدل USB-TTL شفاف استفاده می شود.
  • RX و TX "در چهارراه" متصل نشدند، بلکه مستقیما - RX-RX (سبز)، TX-TX (زرد).
  • همه چیز دیگر دقیقاً همانطور که در بالا توضیح داده شد متصل است.

چه چیزی را در نظر بگیرید

این مدار همچنین نیاز به تطبیق سطوح TTL 5 ولتی در آردوینو و همچنین 3.3 ولت در ESP8266 دارد، اما در هر صورت می تواند به خوبی کار کند.

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

همچنین یک طرح اتصال ESP8266 و Arduino دیگر وجود دارد که از SoftSerial استفاده می کند. از آنجایی که برای کتابخانه SoftSerial سرعت پورت 115200 بسیار زیاد است و نمی تواند عملکرد پایدار را تضمین کند، این روش اتصال توصیه نمی شود، اگرچه مواردی وجود دارد که همه چیز کاملاً پایدار کار می کند.

اتصال از طریق RaspberryPi

اگر ندارید مبدل های USB-TTL، در این صورت می توانید از RaspberryPi استفاده کنید. در این حالت ، برای ESP8266 ، برنامه نویسی و اتصال تقریباً یکسان انجام می شود ، اما همه چیز در اینجا چندان راحت نیست و علاوه بر این ، باید از تثبیت کننده برق 3.3 ولت نیز استفاده کنید.

برای شروع، ما RX، TX و GND دستگاه خود را به ESP8266 متصل می کنیم و GND و VCC را از دستگاهی که برای 3.3 ولت طراحی شده است، می گیریم. در اینجا باید توجه ویژه ای به این واقعیت داشت که باید تمام دستگاه های GND یعنی تثبیت کننده RaspberryPi و ESP8266 را وصل کنید. اگر تثبیت کننده تعبیه شده در مدل دستگاه شما می تواند تا 300 میلی آمپر بار اضافی را تحمل کند، در این صورت اتصال ESP8266 کاملاً طبیعی است، اما همه این کارها فقط با خطر و خطر شخصی شما انجام می شود.

تنظیم پارامترها

هنگامی که نحوه اتصال ESP8266 را فهمیدید، باید مطمئن شوید که درایورهای دستگاه های شما به درستی نصب شده اند، در نتیجه یک پورت سریال مجازی جدید به سیستم اضافه شده است. در اینجا شما باید از یک برنامه استفاده کنید - ترمینال پورت سریال. در اصل، شما می توانید هر ابزاری را متناسب با سلیقه خود انتخاب کنید، اما باید به درستی درک کنید که هر دستوری که به پورت سریال ارسال می کنید باید در پایان کاراکترهای انتهایی CR+LF را داشته باشد.

ابزارهای CoolTerm و ESPlorer کاملاً گسترده هستند و دومی به شما امکان می دهد خودتان ESP8266 را وارد نکنید و در عین حال کار با اسکریپت های lua را در NodeMCU آسان تر می کند ، بنابراین می توان از آن به عنوان یک ترمینال استاندارد استفاده کرد.

برای اتصال به طور معمول، باید کارهای زیادی انجام دهید، زیرا سیستم عامل ESP8266 عمدتاً متنوع است و فعال سازی را می توان با سرعت های مختلف انجام داد. برای تصمیم گیری بیشتر بهترین گزینه، باید از سه گزینه اصلی عبور کنید: 9600، 57600 و 115200.

چگونه مرتب کنیم؟

برای شروع، به پورت سریال مجازی در برنامه ترمینال متصل شوید، پارامترها را روی 9600 8N1 تنظیم کنید، سپس یک راه اندازی مجدد کامل ماژول را انجام دهید، CH_PD (فعال کردن تراشه) را از منبع تغذیه جدا کنید و سپس دوباره با تکان دادن CH_PD آن را دوباره فعال کنید. همچنین می‌توانید برای تنظیم مجدد ماژول و مشاهده داده‌های موجود در ترمینال، یک RESET کوتاه به زمین انجام دهید.

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

وقتی یکی از گزینه های سرعت را می بینید این خط، ماژول را می توان آماده برای بهره برداری در نظر گرفت.

چگونه فریمور را آپدیت کنیم؟

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

برای شروع، نسخه جدید سیستم عامل را از وب سایت رسمی دانلود کنید و همچنین دانلود کنید ابزار ویژهبرای سیستم عامل در اینجا باید به چه چیزی توجه ویژه ای شود سیستم عاملروی دستگاهی که ESP8266 با آن کار می کند نصب شده است. بهتر است دستگاه را به سیستم های قدیمی تر از ویندوز 7 وصل کنید.

برای سیستم عامل های استاندارد ویندوز، استفاده از برنامه ای به نام XTCOM UTIL بهینه خواهد بود، که به خصوص اگر سیستم عامل فقط از یک فایل تشکیل شده باشد، استفاده از آن راحت است. بهترین گزینه چند پلتفرمی، ابزار esptool است که به پایتون و همچنین نیاز به تعیین پارامترها از طریق آن نیاز دارد. خط فرمان. علاوه بر این، ESP8266 به شما امکان می دهد تا به راحتی عملکردهای اصلی را با Flash Download Tool متصل کنید، که دارای تعداد نسبتاً زیادی تنظیمات و همچنین یک فناوری مناسب برای نصب سیستم عامل از چندین فایل است.

در مرحله بعد، برنامه ترمینال خود را از پورت سریال جدا کنید و همچنین CH_PD را به طور کامل از منبع تغذیه جدا کنید، GPIO0 ماژول را به GND وصل کنید و پس از آن می توان CH_PD را برگرداند. در نهایت، فقط برنامه سیستم عامل ماژولار را اجرا کنید و آن را در رله ESP8266 بارگذاری کنید.

در اکثر موارد، سیستم عامل با سرعتی در حدود 115200 در ماژول بارگذاری می شود، اما یک حالت ویژه توزیع خودکار سرعت را فراهم می کند، در نتیجه سیستم عامل را می توان با سرعت بیش از 9600 انجام داد و به روز می شود. توابع موجود ESP8266. آردوینو برای اتصال یا USB-TTL استفاده شد - در اینجا نقش خاصی بازی نمی کند و در اینجا حداکثر سرعت از قبل به طول سیم ها، مبدل مورد استفاده و تعدادی از عوامل دیگر بستگی دارد.