نمودار سیم کشی ESP 01. ماژول Wifi مبتنی بر تراشه ESP8266. مبدل USB به TTL با استفاده از کانکتور DTR

... به طور کلی این مطالب تنها به یک موضوع آردوینو محدود نمی شود.

موضوع ESP8266 بسیار مشکل است. اما، اگر با این ماژول‌های Wi-Fi در محیط توسعه Arduino IDE کار می‌کنید، آستانه ورود به سطح قابل قبولی برای کاربر معمولی Arduino کاهش می‌یابد. و نه تنها مرد آردوینو، بلکه هر شخصی که می‌خواهد چیزی در مورد IoT (اینترنت اشیا) و بدون صرف زمان زیادی برای خواندن مستندات تراشه و مطالعه API برای این ماژول‌ها ایجاد کند.

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

خوب، ما قبلاً می دانیم که چگونه ESP8266 را وصل کنیم و آن را در حالت برنامه نویسی قرار دهیم، حالا بیایید به چیز مفیدتر برویم.

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

برای شروع، از وب سایت رسمی دانلود کنید آخرین نسخهآردوینو IDE، روشن است این لحظهاین 1.6.7 است. نسخه های قدیمی تر مانند 1.0.5. مناسب نیستند زیرا آنها به سادگی عملکرد لازم را ندارند و رقصیدن با تنبور به ما علاقه ای ندارد، درست است؟

ما محیط توسعه را راه اندازی می کنیم و بلافاصله به File/Settings می رویم:

Http://arduino.esp8266.com/stable/package_esp8266com_index.json

سپس به Tools/Board:/Board Manager... بروید:

یک پنجره مدیر هیئت مدیره در مقابل ما ظاهر می شود، از طریق آن به سمت پایین حرکت کنید و اگر همه چیز به درستی انجام شود، چیزی شبیه به این را خواهیم دید:

روی نشانگر کلیک کنید " esp8266توسط انجمن ESP8266"بعد از آن دکمه "نصب" داریم، نسخه مورد نظر را انتخاب می کنم، آخرین نسخه را می گیرم، امروز 2.1.0 است و نصب می کنم. محیط توسعه فایل های مورد نیاز خود را (حدود 150 مگابایت) دانلود می کند و در مقابل سنگ نوشته " esp8266توسط انجمن ESP8266""INSTALLED" ظاهر می شود، یعنی نصب شده است:

لیست بردها را به پایین اسکرول می کنیم و می بینیم که ESP های مختلف زیادی در لیست داریم، از "Generic ESP8266 Module" استفاده کنید:

به «ابزار» بروید و پورت COM مورد نظر (برای من COM32 است) مبدل آردوینو یا USB UART را انتخاب کنید، سپس سرعت آپلود را تنظیم کنید: «115200»:

سرعت را روی 74880 و "NL & CR" تنظیم می کنیم و دوباره خاموش می کنیم و پاور را اعمال می کنیم و با مقداری اطلاعات اشکال زدایی پاسخ می دهد:

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

به طور پیش فرض سرعت باید 115200 باشد اما در برخی موارد می تواند 9600 باشد و موارد دیگر ... پس سعی کنید آن را پیدا کنید.

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

قبل از شروع به فلاش زدن ESP8266 in آردوینو IDEتوصیه می کنم مقاله را تا انتها بخوانید.

حالا بیایید سعی کنیم ESP8266 را از طریق Arduino IDE فلش کنیم. ما ماژول را در حالت برنامه نویسی قرار دادیم (در مقاله قبلی نحوه انجام این کار را نوشتم).

بیایید یک LED استاندارد به فلاشر اضافه کنیم:

// توسط آقای PodelkinTs youtube.com/RazniePodelki // ویژه geektimes.ru/post/271754/ #define TXD 1 // GPIO1/TXD01 void setup() ( pinMode(TXD, OUTPUT); ) void loop() ( digitalWrite (TXD، HIGH)؛ تاخیر (1000)؛ DigitalWrite (TXD، LOW)؛ تاخیر (1000)؛ )

فلش شد؟ بنابراین همه چیز به درستی انجام شد. از کجا فهمیدم که ال ای دی به پین ​​اول وصل شده؟ در مقاله قبلی تصویری با پین‌آوت‌های ماژول‌های مختلف وجود دارد و هنگام استفاده از بوت لودر آردوینو، درگاه‌ها علامت‌گذاری شده است (پین‌ها با رنگ صورتی مشخص شده‌اند).

چشمک زدن LED البته خوب است، اما ما باید نوعی وب سرور نصب کنیم یا حداقل با استفاده از دکمه های مرورگر شروع به کنترل LED کنیم، درست است؟ اما در این مورد یک وقت دیگر به شما خواهم گفت.

و حالا نحوه فلش بک فریمور بومیو نحوه فلش کردن یک ماژول با بوت لودرهای شخص ثالث. برای ESP8266 برنامه ای مانند NodeMCU Flasher وجود دارد که در اصل برای فلش کردن بوت لودر NodeMCU در نظر گرفته شده است. اما همانطور که مشخص شد، سیستم عامل دیگر را کاملاً فلش می کند.

من یک آرشیو با این برنامه و سیستم عامل را برای راحتی به مقاله پیوست می کنم، اما همیشه می توانید دانلود کنید نسخه جدیدفلاشر NodeMCU.

در پوشه "nodemcu-flasher-master" 2 پوشه Win64 و Win32 وجود دارد و بسته به عمق بیت سیستم عامل خود، پوشه مورد نیاز خود را انتخاب کنید. سپس، در پوشه Release، "ESP8266Flasher.exe" را اجرا کنید و رابط برنامه را ببینید:

پورت COM مورد نظر را انتخاب کنید و به تب "Config" بروید، ضربدر کنار "INTERNAL://NODEMCU" را بردارید و آن را مانند تصویر یک نقطه پایین تر قرار دهید:

(اگر می خواهید بوت لودر NodeMCU را فلش کنید، ضربدر را از جایی که نبود، بردارید و در جایی که بود، یعنی نزدیک «INTERNAL://NODEMCU» قرار دهید).

سپس روی چرخ دنده کلیک می کنیم و محل قرار گرفتن فریمور ما را انتخاب می کنیم، فریمور معمولا با فرمت *.bin است (در آرشیو پیوست "v0.9.5.2 AT Firmware.bin" است که در پوشه اصلی است) و همچنین "0x00000" را به عنوان و بالاتر انتخاب کنید.

دوباره به تب "عملیات" برمی گردیم، ماژول را در حالت برنامه نویسی قرار می دهیم و روی "فلش" کلیک می کنیم:

تمام است، ماژول شروع به فلش شدن کرده است، پس از فلش، فراموش نکنید که ماژول و voila را دوباره راه اندازی کنید، با سیستم عامل مورد نیاز ما فلش می شود.

با دستور AT "AT+GMR" بررسی می کنیم که آیا همه کارها را به درستی انجام داده ایم:

همانطور که می بینید همه چیز به آرامی پیش رفت.

روز به روز محبوبیت بیشتری پیدا می کند و آردوینو در حال حاضر ابتکار عمل را در دست گرفته است - این ماژول های 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-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 پنج ولتی استفاده می کنید، به سمت راست شکل توجه کنید. ممکن است بسیاری فکر کنند که مدار مناسب به دلیل استفاده از منبع تغذیه جداگانه کارآمدتر است، اما در واقع در مورد برنامه های USB-TTLبرای یک مبدل 5 ولتی، بسیار توصیه می شود که یک تقسیم کننده مقاومت اضافی نیز ایجاد کنید تا از تطابق سطوح منطقی سه ولت و پنج ولت اطمینان حاصل کنید، یا به سادگی از یک ماژول تبدیل سطح استفاده کنید.

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

شکل سمت راست اتصال 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 استفاده شد - در اینجا نقش خاصی بازی نمی کند و در اینجا حداکثر سرعت از قبل به طول سیم ها، مبدل مورد استفاده و تعدادی از عوامل دیگر بستگی دارد.

شرکت چینی Espressif در سال 2014 شروع به فروش ماژول های Wi-Fi بر اساس تراشه های ESP8266 کرد. که بلافاصله به دلیل هزینه کم و قابلیت های فوق العاده محبوبیت زیادی در بین آماتورهای رادیویی پیدا کرد. امروزه تعداد زیادی ماژول مختلف بر اساس تراشه ESP8266 وجود دارد؛ در این مقاله در مورد ESP-01 صحبت خواهم کرد.

مشخصات فنی

ولتاژ تغذیه: 3 ولت ~ 3.6 ولت
حداکثر جریان کاری: 220 میلی آمپر
فرکانس کاری: 2.4 گیگاهرتز
حالت ها: P2P (مشتری)، Soft-AP (نقطه دسترسی)
تعداد GPIO: 2.
حافظه فلش: 1024 کیلوبایت
توان خروجیدر حالت 802.11b: +19.5dBm
حمایت کردن استاندارد بی سیم: 802.11 b/g/n
ابعاد: 24.8mm x 14.3mm x 8mm

اطلاعات کلی در مورد ESP-01

در اصل، تراشه ESP8266 یک میکروکنترلر مینیاتوری با فرستنده Wi-Fi است که می تواند در استقلال کامل، بدون هزینه های اضافیآردوینو. با استفاده از ماژول ESP-01 می توانید اطلاعات دما، رطوبت، روشن کردن رله و غیره را انتقال دهید. برای سهولت استفاده از تراشه ESP8266، سازنده یک سری ماژول از ESP-01 تا ESP-14 را تولید کرده است. اولین مورد از این سری ماژول ESP-01 است (ESP-01S نیز وجود دارد، کمی بعد بیشتر در مورد آن توضیح خواهیم داد) که به دلیل قیمت و اندازه کوچکش، تنها 14.3 میلی متر در 24.8 میلی متر، یکی از معروف ترین هاست. اما دو ایراد دارد: تعداد محدودپین های GPIO برنامه ریزی شده و مکان نامناسب آنها (برای چیدمان ناخوشایند).


ماژول ESP-01 یک برد کوچک به رنگ مشکی است که دو تراشه اصلی، میکروکنترلر ESP8266 و فلش مموری 1 مگابایتی روی آن قرار گرفته است. در همان نزدیکی یک تشدید کننده کوارتزیت و یک آنتن چاپی وجود دارد. این برد دارای دو عدد LED قرمز و آبی می باشد. هنگامی که ماژول برق دارد، LED قرمز روشن می شود، و زمانی که دستورات اجرا می شوند، LED آبی چشمک می زند (ال ای دی قرمز به دلیل مصرف برق ثابت از NSP-01S حذف شده است). برای اتصال ماژول ESP-01، هشت پین ارائه شده است (دو ردیف چهار پایه، گام 2.54 میلی‌متری)، دو عدد از آن‌های آماده ورودی-خروجی دیجیتال هستند و از مدولاسیون عرض پالس پشتیبانی می‌کنند. اگرچه این ماژول به طور پیش فرض دارای دو پایه GPIO است، اگر ابزار لحیم کاری لازم را دارید می توانید از سایر پین های موجود استفاده کنید.


پین انتساب
GND:منبع تغذیه ماژول "-".
GPIO2:(ورودی/خروجی دیجیتال قابل برنامه ریزی)
GPIO0:(ورودی/خروجی دیجیتال قابل برنامه ریزی، همچنین برای حالت های بوت استفاده می شود)
RX:پذیرش UART
TX:انتقال UART
CH_PD:(روشن/خاموش، باید مستقیماً یا از طریق یک مقاومت به 3.3 ولت خروجی داده شود)
RST:تنظیم مجدد، شما باید آن را به 3.3 ولت بکشید
VCC:منبع تغذیه ماژول "3.3 ولت".

اتصال ماژول
برای کار با ماژول ESP-01، یک منبع تغذیه مورد نیاز است جریان مستقیمکه باید 3.3 ولت و جریان حداقل 250 میلی آمپر تولید کند. متأسفانه، تثبیت کننده استاندارد نصب شده روی آردوینو قادر به ارائه جریان لازم برای عملکرد ESP-01 نیست (اگر تصمیم دارید به هر حال ESP-01 را وصل کنید، انتظار عملکرد ناپایدار و راه اندازی مجدد مداوم را داشته باشید). علاوه بر این سیگنال منطقی این ماژول برای 3.3 ولت طراحی شده است، یعنی باید ولتاژ 3.3 ولت به پایه RX اعمال شود و ولتاژ 3.3 ولت از پایه TX تامین می شود (همین طور برای پایه های دیگر ). اگر نیاز به اتصال ماژول به آردوینو یا سایر کنترلرهایی دارید که 5 ولت خروجی به پین ​​منطقی دارند، باید از مقاومت ها یا یک ماژول سطح منطقی استفاده کنید؛ اگر مستقیماً متصل شوید، ماژول از کار می افتد.

توجه! ESP-01 در مورد منبع تغذیه بسیار دمدمی مزاج است، شما باید از یک تنظیم کننده ولتاژ خارجی 3.3 ولت استفاده کنید، من از آداپتور USB به عنوان اولین نمونه استفاده خواهم کرد.

از جدول بالا می توان دریافت که ماژول ESP-01 می تواند در چندین حالت خواب کار کند، با حداقل مصرف جریان، آنها را با نرم افزار فراخوانی می کنند، به جز آخرین "Power Off"، برای فعال کردن این حالت، باید بین GPIO16 و RST یک جامپر نصب کنید، بعداً مثال می زنم.

نصب ESP8266 در Arduino IDE

برنامه Arduino IDE را از وب سایت arduino.cc دانلود کنید
در مرحله بعد باید برد ESP را در Arduino IDE نصب کنید برای این کار برنامه Arduino IDE را اجرا کرده و باز کنید: فایل -> تنظیمات.
در جدید پنجره باز، در زمینه " پیوندهای اضافی برای PCB Manager:» افزودن لینک:

Http://arduino.esp8266.com/stable/package_esp8266com_index.json

در پنجره باز، به دنبال " esp8266 توسط ESP8266 Communit y" و " را فشار دهید نصب". نصب چند دقیقه طول می کشد، سپس پیام " نصب شده است"، کلیک " بستن«

کلیک " ابزارها -> تابلوها -> ماژول Generis ESP8266«.

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


تنظیم فرکانس پردازنده " فرکانس پردازنده: 80 مگاهرتز"، سرعت " سرعت آپلود: "115200""و انتخاب کنید" بندر«.

سپس طرحی را آپلود می کنیم که باعث می شود ESP8266 LED را چشمک بزند.

/* تست شده روی آردوینو IDE 1.8.5 تاریخ تست 2018/06/15 */ #define TXD 1 // GPIO1 / TXD01 void setup() (pinMode(TXD, OUTPUT); ) void loop() (digitalWrite(TXD, HIGH); delay(1000); digitalWrite(TXD, LOW); delay( 1000)