Esp 01 ulanish sxemasi. ESP8266 chipiga asoslangan Wi-Fi moduli. DTR ulagichidan foydalangan holda USB-TTL konvertori

... Umuman olganda, bu material faqat bitta Arduino mavzusi bilan cheklanmaydi.

ESP8266 mavzusi juda qiyin. Ammo, agar siz ushbu Wi-Fi modullari bilan Arduino IDE ishlab chiqish muhitida ishlasangiz, kirish chegarasi o'rtacha Arduino foydalanuvchisi uchun maqbul darajaga tushadi. Va nafaqat Arduino yigiti, balki IoT (Internet narsalari) mavzusida biror narsani o'ylab topishni xohlaydigan va chip uchun hujjatlarni o'qishga va ushbu modullar uchun API-ni o'rganishga ko'p vaqt sarflamaydigan har qanday odam.

Ushbu video quyidagi maqolada keltirilgan materialni to'liq takrorlaydi.

Xo'sh, biz ESP8266-ni qanday ulashni va uni dasturlash rejimiga qo'yishni allaqachon bilamiz, endi foydaliroq narsaga o'tamiz.

Men darhol aytamanki, biz modulni Arduino ishlab chiqish muhitida dasturlashtirgandan so'ng, biz mahalliy dasturiy ta'minotni yo'q qilamiz va biz endi AT buyruqlari yordamida modul bilan ishlay olmaymiz. Shaxsan, bu meni sovuq/issiq qilmaydi, lekin agar kimgadir kerak bo'lsa, maqolaning oxirida men sizga mahalliy dasturiy ta'minotni modulga yoki NodeMcu kabi yuklovchini qanday yoqishni ko'rsataman.

Boshlash uchun rasmiy veb-saytdan yuklab oling so'nggi versiya Arduino IDE, yoqilgan bu daqiqa bu 1.6.7. 1.0.5 kabi eski versiyalar. mos kelmaydi, chunki ular oddiygina kerakli funksionallikka ega emas va daf bilan raqsga tushish bizni qiziqtirmaydi, to'g'rimi?

Biz ishlab chiqish muhitini ishga tushiramiz va darhol Fayl/Sozlamalarga o'tamiz:

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

Keyin Asboblar/Boshqa:/Bosh menejeri...-ga o'ting:

Bizning oldimizda boshqaruv paneli oynasi paydo bo'ladi, uni eng pastki qismiga aylantiring va agar hamma narsa to'g'ri bajarilgan bo'lsa, biz shunga o'xshash narsani ko'ramiz:

"Yozuvidagi kursorni bosing. esp8266 tomonidan ESP8266 hamjamiyati"Bundan so'ng bizda "O'rnatish" tugmasi bor, kerakli versiyani tanlang, men eng so'nggini olaman, bugun u 2.1.0 va uni o'rnating. Rivojlanish muhiti kerakli fayllarni (taxminan 150 megabayt) yuklab oladi va uning qarshisida. yozuv " esp8266 tomonidan ESP8266 hamjamiyati""INSTALLED" paydo bo'ladi, ya'ni o'rnatilgan:

Biz taxtalar ro'yxatini pastga aylantiramiz va ro'yxatda juda ko'p turli xil ESPlar mavjudligini ko'ramiz, "Umumiy ESP8266 moduli" ni oling:

"Asboblar" ga o'ting va kerakli MAQOMOTI portini (men uchun bu COM32) Arduino yoki USB UART konvertorini tanlang, so'ngra Yuklash tezligini o'rnating: "115200":

Biz tezlikni 74880 va "NL & CR" ga o'rnatamiz va yana o'chirib, quvvatni ishga tushiramiz va u ba'zi disk raskadrovka ma'lumotlari bilan javob beradi:

E'tibor bering, 74880 ESP8266 ning asosiy tezligi emas, u shunchaki disk raskadrovka ma'lumotlarini yuboradi. Agar modul konsolga hech narsa yubormasa, unda biror narsa noto'g'ri ulangan bo'lishi mumkin.

Odatiy bo'lib, tezlik 115200 bo'lishi kerak, lekin ba'zi hollarda u 9600 va boshqalar bo'lishi mumkin ... Shuning uchun uni topishga harakat qiling.

Kerakli tezlikni tanlagandan so'ng, biz "AT" modulini yuboramiz va u hamma narsa "OK" deb javob berishi kerak. "AT+GMR" buyrug'i proshivka haqidagi ma'lumotlarni ko'rsatadi.

ESP8266 ni miltillashni boshlashdan oldin Arduino IDE Men sizga maqolani oxirigacha o'qishni maslahat beraman.

Endi ESP8266 ni Arduino IDE orqali miltillashga harakat qilaylik. Biz modulni dasturlash rejimiga o'tkazdik (men buni qanday qilishni avvalgi maqolada yozganman).

Keling, miltillovchiga standart LED qo'shamiz:

// Janob PodelkinTs youtube.com/RazniePodelki // geektimes.ru/post/271754/ uchun maxsus // #define TXD 1 // GPIO1/TXD01 void setup() ( pinMode(TXD, OUTPUT); ) void loop() () digitalWrite (TXD, HIGH); kechikish (1000); digitalWrite (TXD, LOW); kechikish (1000); )

Yorqinmi? Shunday qilib, hamma narsa to'g'ri bajarildi. LED birinchi pinga ulanganligini qaerdan oldim? Oldingi maqolada turli xil modullarning pinoutlari bo'lgan rasm mavjud va Arduino yuklash moslamasidan foydalanganda portlarning belgilari mavjud (pinlar pushti rang bilan belgilangan).

LEDni miltillash, albatta, yaxshi, lekin biz qandaydir veb-serverni o'rnatishimiz yoki hech bo'lmaganda brauzerdagi tugmalar yordamida LEDni boshqarishni boshlashimiz kerak, to'g'rimi? Ammo men bu haqda boshqa vaqt aytib beraman.

Endi esa mahalliy proshivkani qanday qaytarish kerak, va hatto uchinchi tomon yuklagichlari bilan modulni qanday yoqish mumkin. ESP8266 uchun NodeMCU Flasher kabi dastur mavjud bo'lib, u dastlab NodeMCU yuklash moslamasini miltillash uchun mo'ljallangan. Ammo ma'lum bo'lishicha, u boshqa proshivkalarni mukammal tarzda yoritadi.

Qulaylik uchun men ushbu dastur va proshivka bilan arxivni maqolaga biriktiraman, lekin siz har doim yuklab olishingiz mumkin yangi versiya NodeMCU Flasher.

"Nodemcu-flasher-master" papkasida 2 ta Win64 va Win32 papkalari mavjud va operatsion tizimingizning bit chuqurligiga qarab, keraklisini tanlang. Keyin, Release papkasida "ESP8266Flasher.exe" ni ishga tushiring va dastur interfeysini ko'ring:

Kerakli MAQOMOTI portini tanlang va "Konfiguratsiya" yorlig'iga o'ting, "INTERNAL://NODEMCU" yonidagi xochni olib tashlang va skrinshotda bo'lgani kabi, uni bir nuqta pastga qo'ying:

(Agar siz NodeMCU yuklash moslamasini yondirmoqchi bo'lsangiz, xochni u bo'lmagan joyga olib tashlang va uni bo'lgan joyga, ya'ni "INTERNAL://NODEMCU" yoniga qo'ying).

Keyin biz vitesni bosamiz va proshivkamiz joylashgan joyni tanlaymiz, proshivka odatda *.bin formatida bo'ladi (ilova qilingan arxivda u asosiy papkada joylashgan "v0.9.5.2 AT Firmware.bin") va kabi va undan yuqoriroq “0x00000” ni ham tanlang.

Biz yana "Operatsiya" yorlig'iga qaytamiz, modulni dasturlash rejimiga o'tkazamiz va "Flash" tugmasini bosing:

Hammasi shunday, modul miltillay boshladi, miltillagandan so'ng, modulni qayta ishga tushirishni unutmang va voila, u bizga kerak bo'lgan proshivka bilan yonib ketdi.

Biz "AT+GMR" AT buyrug'i bilan hamma narsani to'g'ri bajarganimizni tekshiramiz:

Ko'rib turganingizdek, hamma narsa muammosiz o'tdi.

U tobora ommalashib bormoqda va Arduino allaqachon tashabbusni o'z zimmasiga oldi - ushbu Wi-Fi modullarini qo'llab-quvvatlanadigan platalar ro'yxatiga qo'shmoqda.
Ammo uni Arduino-ga qanday ulash mumkin? Arduinosiz qandaydir tarzda qilish mumkinmi? Aynan shu maqola bugun haqida bo'ladi.

Oldinga qarab, men Arduino IDE ishlab chiqish muhitida ESP8266 modulini proshivka va dasturlash mavzusida amaliyroq ikkinchi maqola bo'lishini aytaman. Lekin birinchi narsa.

Ushbu video maqolada keltirilgan materialni to'liq takrorlaydi.



Hozirgi vaqtda ushbu modulning ko'plab turlari mavjud, ulardan ba'zilari:

Va bu erda ESP01, ESP03, ESP12 ning pinouti:


* Ushbu rasmni ko'rish mumkin yaxshi sifat yoqilgan o'chirilgan. pighixxx.com veb-sayti.

Shaxsan menga ESP07 versiyasi ko'proq yoqadi. Hech bo'lmaganda metall ekran (u mikrosxemalarni tashqi shovqinlardan himoya qiladi va shu bilan yanada barqaror ishlashni ta'minlaydi), o'zining keramik antennasi va tashqi antenna uchun ulagich mavjudligi uchun. Unga ulanish orqali chiqadi tashqi antenna, masalan, kabi biquadrat, keyin siz yaxshi diapazonga erishishingiz mumkin. Bundan tashqari, GPIO (Umumiy Maqsadli Kirish Chiqish - kirish/chiqish portlari) deb ataladigan bir nechta kirish/chiqish portlari mavjud. umumiy maqsad), Arduino bilan o'xshash - pinlar.

Keling, Wi-Fi modullari va Arduino-ga qaytaylik. Ushbu maqolada men ESP8266 (model ESP01) ni Arduino Nano V3 ga ulashni ko'rib chiqaman.

Lekin, bu ma'lumot Ko'pgina ESP8266 modullari va turli Arduino platalari uchun tegishli bo'ladi, masalan, eng mashhur Arduino UNO.

ESP01 oyoqlari haqida bir necha so'z:

Vcc Va GND(yuqoridagi rasmda bular 8 va 1) - oziq-ovqat, oyog'iga Vcc hujjatlarga ko'ra taqdim etilishi mumkin, 3 dan 3,6 V gacha, A GND- tuproq (minus quvvat). Men bir kishi ushbu modulni ikkita AA batareyasiga ulaganini ko'rdim (bu holda ta'minot kuchlanishi taxminan 2,7 V edi) va modul ishladi. Ammo shunga qaramay, ishlab chiquvchilar modulning ishlashi kafolatlanishi kerak bo'lgan kuchlanish diapazonini ko'rsatdilar, agar siz boshqasini ishlatsangiz, bu sizning muammoingiz.

Diqqat! Ushbu modul 3.3V mantiqqa asoslangan, Arduino esa asosan 5V mantiqidir. 5 V ESP8266 ga osongina zarar etkazishi mumkin, shuning uchun uni Arduinodan alohida quvvatlantirish kerak.

- Mening Arduino oyog'im bor, unda 3,3 V deb yozilgan, nega undan foydalanmaslik kerak?

Ehtimol, o'ylaysiz. Gap shundaki, ESP8266 juda quvvat talab qiladigan modul bo'lib, cho'qqilarda u 200 mA gacha oqimlarni iste'mol qilishi mumkin va deyarli hech bir Arduino sukut bo'yicha bunday oqimni etkazib bera olmaydi, Arduino Due bundan mustasno. 3,3 V chiziq bo'ylab oqim 800 mA ga yetishi mumkin, bu juda ko'p, boshqa hollarda men sizga qo'shimcha 3,3 V stabilizatordan foydalanishni maslahat beraman, masalan, AMS1117 3,3 V. Ular Xitoyda ham, bu erda ham juda ko'p.

Oyoq RST 6 - modulni qayta ishga tushirish uchun apparat uchun mo'ljallangan, unga past mantiqiy darajani qisqacha qo'llash orqali modul qayta ishga tushadi. Videoda men buni e'tiborsiz qoldirgan bo'lsam ham, sizga maslahat beraman musbat quvvat manbaiga 10 kOhm qarshilik bilan bu oyoqni "bosing", modulning ishlashida yaxshiroq barqarorlikka erishish uchun, aks holda men eng kichik shovqin bilan qayta ishga tushiraman.

Oyoq CP_PD 4 (yoki boshqa yo'l bilan UZ) - yana modulni energiyani tejash rejimiga "o'rnatish" uchun xizmat qiladi, bunda u juda kam oqim sarflaydi. Xo'sh, yana - Bu oyog'ini 10 kOm qarshilik bilan musbatga "bosish" zarar qilmaydi. Pitalova Videoda men bu oyog'imni Vcc ga ahmoqona qisqa tutashuv qildim, chunki qo'limda bunday rezistor yo'q edi.

Oyoqlar RXD0 7 TXD0 2 - miltillash uchun ishlatiladigan UART apparati, ammo hech kim bu portlarni GPIO (mos ravishda GPIO3 va GPIO1) sifatida ishlatishni taqiqlamaydi. Ba'zi sabablarga ko'ra, GPIO3 rasmda belgilanmagan, ammo u ma'lumotlar varag'ida:

Aytgancha, oyoqqa TXD0 2 "Ulanish" LED yoritgichi ulangan va GPIO1 da mantiq darajasi past bo'lganda yoki modul UART orqali biror narsa yuborganda yonadi.

GPIO0 5 - nafaqat kiritish-chiqarish porti bo'lishi mumkin, balki modulni dasturlash rejimiga qo'yishi mumkin. Bu portni past mantiqiy darajaga ulash ("Uni GND ga bosish") va modulni quvvat bilan ta'minlash orqali amalga oshiriladi. Videoda men buni oddiy tugma bilan qilaman. Miltillagandan so'ng, jumperni tortib olishni / tugmani bosishni unutmang (miltillash paytida tugmani ushlab turish shart emas; yoqilganda modul dasturlash rejimiga o'tadi va qayta ishga tushirilgunga qadar unda qoladi).

GPIO2 3 - kirish / chiqish porti.

Va yana bir muhim nuqta, Wi-Fi modulining har bir GPIO 6mA gacha bo'lgan oqimni xavfsiz etkazib bera oladi, uni yoqib yubormaslik uchun, kirish / chiqish portlari bilan rezistorlarni ketma-ket joylashtirishni unutmang ... Ohm qonunini eslang R = U/I = 3,3V / 0,006 A = 550 Ohm, ya'ni, 560 Ohm da. Yoki buni e'tiborsiz qoldiring va keyin nima uchun ishlamayotganiga hayron bo'ling.

ESP01-da barcha GPIO-lar PWM-ni qo'llab-quvvatlaydi, shuning uchun bizning to'rtta GPIO-ga, ya'ni GPIO0-3-ga siz ala L293 / L298 motor drayverini ulashingiz va ikkita dvigatelni, masalan, qayiqlarni boshqarishingiz yoki RGB Wi-Fi-ni yaratishingiz mumkin. . Ha, ha, bu modul bortida juda ko'p narsalarga ega va oddiy loyihalar uchun Arduino skripkachisi kerak emas, faqat miltillash uchun. Va agar siz ESP07 dan foydalansangiz, umuman olganda portlar Uno portlari bilan deyarli bir xil, bu esa Arduinosiz ishonch bilan ishlashga imkon beradi. To'g'ri, bitta noxush lahza bor, ESP01da umuman analog portlar yo'q, ESP07da esa faqat bitta, ADC deb ataladi. Bu, albatta, analog sensorlar bilan ishlashni qiyinlashtiradi. Bunday holda, Arduino analog multipleksor yordam beradi.

Hamma narsa pinout bilan tushuntirilganga o'xshaydi va bu erda ESP8266 ni Arduino Nano-ga ulash diagrammasi:

Arduino Nano-dagi RST va GND pinlaridagi jumperni ko'ryapsizmi? Bu Arduino modulning dasturiy ta'minotiga xalaqit bermasligi uchun kerak; Arduino yordamida ESP8266 ni ulashda bu zaruriy shartdir.

Bundan tashqari, agar siz Arduino-ga ulansangiz, modulning RX arduino-ning RX-ga, TX - TX-ga o'tishi kerak. Buning sababi shundaki, konvertor chipi allaqachon Arduino pinlariga o'zaro faoliyat naqshda ulangan.

Shuningdek, modulning RX chizig'i bo'ylab 1 kOm va 2 kOm rezistorlardan (ikkita 1 kOhm rezistordan ularni ketma-ket ulash orqali yasash mumkin) iborat bo'lgan rezistorli ajratuvchi muhim ahamiyatga ega. Chunki Arduino 5 V mantiq va modul 3.3. Bu ibtidoiy darajadagi konvertor bo'lib chiqadi. U erda bo'lishi kerak, chunki RXD TXD modulining oyoqlari 5 V ga toqat qilmaydi.

Xo'sh, ESP8266-ni oddiy USB-UART konvertori orqali ulab, Arduinosiz umuman ishlashingiz mumkin. Arduino-ga ulanishda biz asosan standart konvertordan foydalanamiz usb interfeyslari va uart, miyalarni chetlab o'tadi. Agar Arduinosiz umuman ishlay olsangiz, nima uchun qo'shimcha pul sarflashingiz mumkin? Faqat bu holatda biz modulning RXD ni konvertorning TXD ga, TXD - RXD ga ulaymiz.

Agar siz ulanishlar, rezistorlar va stabilizatorlar bilan shug'ullanish uchun juda dangasa bo'lsangiz, tayyor NodeMcu echimlari mavjud:

Bu erda hamma narsa ancha sodda: kabelni kompyuterga ulang, drayverlarni va dasturni o'rnating, modulni proshivka rejimiga o'tkazish uchun GPIO0 da jumper/tugmachadan foydalanishni unutmang.

Xo'sh, bu nazariya bilan bo'lsa kerak, maqola juda uzun bo'lib chiqdi va men birozdan keyin modulning amaliy qismini, proshivka va dasturlashni nashr etaman.

Ko'pgina foydalanuvchilar allaqachon Espressif tomonidan chiqarilgan ESP8266-12 chipiga e'tibor qaratishgan. Uning narxi standart Bluetooth adapter platasi bilan solishtirganda sezilarli darajada arzonroq va uning kichik o'lchamlariga qaramay, u sezilarli darajada katta imkoniyatlarga ega. Endi barcha uy xobbilari ishlash imkoniyatiga ega Wi-Fi tarmoqlari bir vaqtning o'zida ikkita rejimda, ya'ni kompyuteringizni istalgan kirish nuqtalariga ulang yoki uni shunday nuqta sifatida yoqing.

Boshqa tomondan, bunday taxtalar faqat Wi-Fi aloqasi uchun mo'ljallangan qalqon emasligini to'g'ri tushunishingiz kerak. ESP8266 ning o'zi mikrokontroller bo'lib, u o'zining UART, GPIO va SPI interfeyslariga ega, ya'ni u butunlay avtonom uskuna sifatida ishlatilishi mumkin. Ushbu chip chiqarilgandan so'ng, ko'pchilik buni haqiqiy inqilob deb atashdi va vaqt o'tishi bilan bunday qurilmalar hatto eng ko'p qurilmalarga o'rnatila boshlaydi. oddiy turlari texnologiya, lekin hozirgacha qurilma nisbatan yangi va u uchun barqaror proshivka yo'q. Dunyo bo'ylab ko'plab mutaxassislar o'zlarining dasturiy ta'minotini ixtiro qilishga harakat qilmoqdalar, chunki ularni doskaga yuklash aslida qiyin emas, lekin har xil qiyinchiliklarga qaramay, qurilmani allaqachon ishlash uchun juda mos deb atash mumkin.

Hozirda faqat ikkita ariza varianti ko'rib chiqilmoqda ushbu moduldan:

  • Doskani qo'shimcha mikrokontroller yoki modulni UART orqali boshqaradigan kompyuter bilan birgalikda ishlatish.
  • Chip uchun mikrodasturni mustaqil ravishda yozish, bu keyinchalik uni o'zini o'zi ta'minlaydigan qurilma sifatida ishlatishga imkon beradi.

O'ylab ko'rishimiz tabiiy mustaqil proshivka bu holda biz buni qilmaymiz.

Foydalanish qulayligiga qarab va yaxshi xususiyatlar, ko'plab mikrokontrollerlar orasida ko'p odamlar ESP8266 modeliga ustunlik berishadi. Ulanish va proshivka yangilanishi ushbu qurilmadan juda sodda va hamyonbop bo'lib, uskuna kompyuterga ulangan bir xil uskunada ishlab chiqariladi. Ya'ni, shuningdek, USB-TTL konvertori orqali yoki kimdir boshqa ulanish variantlarini afzal ko'rsa, buni RPi va Arduino orqali amalga oshirish mumkin.

Qanday tekshirish kerak?

Yangi sotib olingan qurilmaning funksionalligini tekshirish uchun siz 3,3 voltsli maxsus stabillashtirilgan kuchlanish manbasini ishlatishingiz kerak bo'ladi. Darhol shuni ta'kidlash kerakki, ushbu modulning haqiqiy kuchlanish diapazoni 3 dan 3,6 voltgacha va yuqori kuchlanishni ta'minlash darhol ESP8266-ga shikast etkazishingizga olib keladi. Bunday vaziyatdan so'ng, proshivka va boshqa dasturiy ta'minot noto'g'ri ishlay boshlashi mumkin va siz qurilmani ta'mirlashingiz yoki qandaydir tarzda tuzatishingiz kerak bo'ladi.

Ushbu mikrokontroller modelining funksionalligini aniqlash uchun siz faqat uchta pinni ulashingiz kerak:

  • CH_PD va VCC 3,3 voltli tarmoqqa ulangan.
  • GND erga ulanadi.

Agar siz ESP-01 dan foydalanmasangiz, lekin boshqa moduldan foydalansangiz va u allaqachon GPIO15 chiqishiga ega bo'lsa, bu holda siz uni qo'shimcha ravishda erga ulashingiz kerak bo'ladi.

Agar zavod proshivkasi an'anaviy tarzda ishga tushirilgan bo'lsa, bu holda siz ko'rishingiz mumkin va keyin ko'k chiroq bir necha marta miltillaydi. Ammo shuni ta'kidlash kerakki, barcha ESP8266 seriyali qurilmalarda qizil quvvat ko'rsatkichi mavjud emas. Ba'zi qurilmalardagi proshivka, agar modulda bo'lmasa, qizil ko'rsatkich yonishini ta'minlamaydi (xususan, bu ESP-12 modeliga tegishli).

Ulanganingizdan so'ng simsiz tarmoq yangi kirish nuqtasi faollashtiriladi, u ESP_XXXX deb nomlanadi va uni Wi-Fi tarmog'iga kirish imkoni bo'lgan har qanday qurilmadan topish mumkin bo'ladi. Bunday holda, kirish nuqtasining nomi to'g'ridan-to'g'ri siz foydalanayotgan dasturiy ta'minot ishlab chiqaruvchisiga bog'liq va shuning uchun boshqacha bo'lishi mumkin.

Agar nuqta paydo bo'lsa, siz tajribani davom ettirishingiz mumkin, aks holda siz quvvat manbaini, shuningdek, GND va CH_PD ulanishlarining to'g'riligini qayta tekshirishingiz kerak bo'ladi va agar hamma narsa to'g'ri ulangan bo'lsa, ehtimol siz hali ham singan moduldan foydalaning yoki Unda oddiy bo'lmagan sozlamalar bilan o'rnatilgan proshivka mavjud.

Qanday qilib uni tezda ulash mumkin?

Ushbu modulni ulash uchun zarur bo'lgan standart to'plam quyidagilarni o'z ichiga oladi:

  • modulning o'zi;
  • lehimsiz non taxtasi;
  • non taxtasi uchun mo'ljallangan ayol-erkak simlarning to'liq to'plami yoki maxsus DUPONT M-F kabeli;
  • PL2303, FTDI yoki shunga o'xshash chipga asoslangan USB-TTL konvertori. Eng yaxshi variant, agar RTS va DTR USB-TTL adapteriga ham chiqarilgan bo'lsa, chunki buning natijasida siz GPIO0 ni qo'lda erga o'tkazmasdan ham ba'zi UDK, Arduino IDE yoki Sming-dan proshivkani juda tez yuklashingiz mumkin.

Agar siz 5 voltli konvertordan foydalanayotgan bo'lsangiz, bu holda siz 1117 chipi yoki shunga o'xshash qo'shimcha quvvat stabilizatorini, shuningdek quvvat manbaini (standart 1117 uchun, hatto oddiy 5- uchun ham) sotib olishingiz kerak bo'ladi. voltli smartfon zaryadlash moslamasi juda mos keladi). ESP8266 uchun quvvat manbai sifatida Arduino IDE yoki USB-TTL dan foydalanmaslik tavsiya etiladi, balki alohida-alohida foydalanish tavsiya etiladi, chunki bu oxir-oqibatda ko'plab muammolardan xalos bo'lishi mumkin.

Modulning qulay va doimiy ishlashini ta'minlash uchun kengaytirilgan to'plam qo'shimcha rezistorlar, LEDlar va DIP kalitlaridan foydalanishni talab qiladi. Bunga qo'shimcha ravishda, siz arzon narxlarda ham foydalanishingiz mumkin USB monitor, bu sizga iste'mol qilinadigan oqim miqdorini doimiy ravishda kuzatib borish imkonini beradi, shuningdek, USB avtobusini biroz himoya qiladi.

Nima qilishimiz kerak?

Avvalo, shuni ta'kidlash kerakki, ESP8266-da boshqaruv elementlari qaysi modeldan foydalanayotganingizga qarab biroz farq qilishi mumkin. Bugungi kunda bunday modullar juda ko'p va sizga kerak bo'lgan birinchi narsa siz foydalanayotgan modelni aniqlash va uning pinoutini tanlashdir. Ushbu yo'riqnomada biz ESP8266 ESP-01 V090 moduli bilan ishlash haqida gaplashamiz va agar siz GPIO15 pinli (HSPICS, MTDO) boshqa modeldan foydalansangiz, standart ishga tushirish uchun uni erga tortib olishingiz kerak bo'ladi. modul va proshivka rejimidan foydalanish uchun.

Shundan so'ng, ulangan modul uchun besleme zo'riqishida 3,3 volt ekanligini ikki marta tekshiring. Yuqorida ta'kidlab o'tilganidek, ruxsat etilgan diapazon 3 dan 3,6 voltgacha va agar u oshsa, qurilma ishlamay qolsa, lekin besleme zo'riqishida hatto hujjatlarda ko'rsatilgan 3 voltdan sezilarli darajada past bo'lishi mumkin.

Agar siz 3,3 voltli USB-TTL konvertoridan foydalanayotgan bo'lsangiz, modulni quyidagi rasmning chap tomonidagi kabi ulang. Agar siz faqat besh voltli USB-TTL dan foydalansangiz, rasmning o'ng tomoniga e'tibor bering. Ko'pchilik, to'g'ri sxema alohida quvvat manbasidan foydalanganligi sababli samaraliroq deb o'ylashlari mumkin, lekin aslida bu holatda USB-TTL ilovalari 5 voltli konvertor uchun uch voltli va besh voltli mantiqiy darajalarning mos kelishini ta'minlash uchun qo'shimcha rezistor ajratgichni ham qilish tavsiya etiladi yoki oddiygina darajani o'zgartirish modulidan foydalaning.

Ulanish xususiyatlari

To'g'ri rasmda UTXD (TX), shuningdek, ushbu modulning URXD (RX) besh voltli TTL mantig'iga ulanishi ko'rsatilgan va bunday protseduralar faqat sizning xavfingiz va xavfingiz ostida amalga oshiriladi. ESP8266 uchun tavsifda aytilishicha, modul faqat 3,3 voltli mantiq bilan samarali ishlaydi. Aksariyat hollarda, hatto besh voltli mantiq bilan ishlaganda ham, uskuna ishlamay qolmaydi, lekin bunday holatlar vaqti-vaqti bilan sodir bo'ladi, shuning uchun bunday ulanish tavsiya etilmaydi.

Ixtisoslashgan 3,3 voltli USB-TTL konvertoridan foydalanish imkoningiz bo'lmasa, siz rezistorli ajratgichdan foydalanishingiz mumkin. Shuni ham ta'kidlash kerakki, to'g'ri rasmda 1117 quvvat stabilizatori qo'shimcha simlarsiz ulangan va bu haqiqatan ham ishlaydigan texnologiya, ammo kondansatör simlari bilan 1117 ulanish diagrammasidan foydalanish hali ham yaxshi - siz uni tekshirishingiz kerak. stabilizatoringiz uchun ESP8266 ma'lumotlar jadvali yoki 1117 bazasiga asoslangan to'liq tayyor moduldan foydalaning.

Modulni ishga tushirish uchun siz GPIO0-TND sxemasini ochishingiz kerak, shundan so'ng siz quvvatni qo'llashingiz mumkin. Shuni ta'kidlash kerakki, hamma narsa aynan shu tartibda bajarilishi kerak, ya'ni birinchi navbatda GPIO0 "havoda osilgan"ligiga ishonch hosil qiling va shundan keyingina CH_PD va VCC ga quvvat bering.

Qanday qilib to'g'ri ulanish kerak?

ESP8266 modulini to'g'ri ulash uchun bir necha oqshomni ajrata olsangiz, yanada barqaror variantdan foydalanishingiz mumkin. Yuqoridagi diagrammada siz bilan ulanish variantini ko'rasiz avtomatik yuklab olish proshivka.

Shuni ta'kidlash kerakki, yuqoridagi rasmda bepul GPIO yoki ADC-lardan foydalanish ko'rsatilmagan va ularning ulanishi to'g'ridan-to'g'ri siz amalga oshirmoqchi bo'lgan narsaga bog'liq bo'ladi, ammo barqarorlikni ta'minlashni istasangiz, barcha GPIO-larni quvvat va ADC-larga tortishni unutmang. tortuvchi rezistorlar yordamida erga ulash.

Agar kerak bo'lsa, 10k rezistorlar GPIO15 dan tashqari 4,7k dan 50k gacha bo'lgan har qanday boshqa rezistorlar bilan almashtirilishi mumkin, chunki uning qiymati 10k dan oshmasligi kerak. Yuqori chastotali pulsatsiyalarni yumshatuvchi kondansatkichning qiymati biroz boshqacha bo'lishi mumkin.

470 Ohm chuqur uyqu rezistori yordamida RESET va GPIO16 ni ulash tegishli rejimdan foydalanganda zarur bo'lishi mumkin, chunki chuqur uyqu rejimidan chiqish uchun modul GPIO16 ga past darajani qo'llash orqali to'liq qayta yuklashni amalga oshiradi. Yo'qligi bilan bu aloqadan Modulingiz uchun chuqur uyqu rejimi abadiy davom etadi.

Bir qarashda, GPIO0, GPIO1 (TX), GPIO2, GPIO3 (RX) va GPIO15 band bo'lib tuyulishi mumkin, shuning uchun siz ularni o'z maqsadlaringiz uchun ishlata olmaysiz, lekin aslida bu juda uzoqdir. GPIO0 va GPIO2 da etarlicha yuqori daraja, shuningdek GPIO15 da past daraja faqat modulni dastlabki ishga tushirish uchun talab qilinishi mumkin va kelajakda siz ularni o'zingizning xohishingiz bilan ishlatishingiz mumkin. E'tiborga olish kerak bo'lgan yagona narsa - uskunangizni to'liq qayta tiklashdan oldin kerakli darajalarni ta'minlashni unutmang.

Siz GPIO1 va GPIO3 ga muqobil sifatida TX, RX dan ham foydalanishingiz mumkin, lekin unutmangki, modul ishga tushirilgandan so'ng har bir proshivka TX-ni “tortib” boshlaydi, shu bilan birga disk raskadrovka ma'lumotlarini UART0-ga 74480 tezlikda yuboradi, lekin keyin. yuklab olish muvaffaqiyatli bo'ladi, ular faqat boshqa qurilma bilan ma'lumot almashish uchun UART0 sifatida emas, balki standart GPIO sifatida ham ishlatilishi mumkin.

Oz sonli simli pinlarga ega bo'lgan modullar uchun (masalan, ESP-01) bekor qilingan pinlarni ulashning hojati yo'q, ya'ni faqat GND, CH_PD, VCC, GPIO0, GPIO2 va RESET ESP-01-ga ulangan. , va bu sizga kerak bo'lgan narsa siqilishi kerak. ESP8266EX chipiga to'g'ridan-to'g'ri lehimlashning hojati yo'q va agar kerak bo'lmasa, yalang'och pinlarni tortib oling.

Bunday ulanish sxemalari malakali mutaxassislar tomonidan o'tkazilgan va juda ko'p turli xil ma'lumotlardan to'plangan ko'plab tajribalardan so'ng foydalanilgan. Shuni ta'kidlash kerakki, hatto bunday sxemalarni ideal deb hisoblash mumkin emas, chunki boshqa bir qator samarali variantlardan foydalanish mumkin emas.

Arduino orqali ulanish

Agar biron sababga ko'ra sizda 3,3 voltli USB-TTL konvertoringiz bo'lmasa, u holda ESP8266 WiFi moduli o'rnatilgan konvertor bilan Arduino orqali ulanishi mumkin. Bu erda siz birinchi navbatda e'tiboringizni uchta asosiy elementga qaratishingiz kerak:

  • ESP8266 bilan foydalanilganda, Arduino Reset dastlab mikrokontroller ishga tushishining oldini olish uchun GND ga ulanadi va bu shaklda u shaffof USB-TTL konvertori sifatida ishlatilgan.
  • RX va TX "chorrahada" ulanmagan, lekin to'g'ridan-to'g'ri - RX-RX (yashil), TX-TX (sariq).
  • Qolganlarning hammasi yuqorida tavsiflanganidek ulangan.

Nimani hisobga olish kerak

Ushbu sxema, shuningdek, Arduino-da 5 voltli TTL darajalariga, shuningdek, ESP8266-da 3,3 voltga mos kelishini talab qiladi, ammo u har qanday holatda ham yaxshi ishlashi mumkin.

ESP8266 ga ulanganda, Arduino ESP8266 tomonidan talab qilinadigan oqimga bardosh bera olmaydigan quvvat regulyatori bilan jihozlangan bo'lishi mumkin, shuning uchun uni faollashtirishdan oldin foydalanayotganingiz uchun ma'lumotlar jadvalini tekshirishingiz kerak bo'ladi. ESP8266 bilan boshqa quvvat sarflaydigan komponentlarni ulashga urinmang, chunki bu Arduino ichiga o'rnatilgan quvvat regulyatorining ishlamay qolishiga olib kelishi mumkin.

SoftSerial-dan foydalanadigan yana bir ESP8266 va Arduino ulanish sxemasi ham mavjud. SoftSerial kutubxonasi uchun 115200 port tezligi juda yuqori va barqaror ishlashni kafolatlay olmasligi sababli, bu ulanish usuli tavsiya etilmaydi, garchi ba'zi hollarda hamma narsa barqaror ishlaydi.

RaspberryPi orqali ulanish

Agar sizda umuman USB-TTL konvertorlari bo'lmasa, RaspberryPi-dan foydalanishingiz mumkin. Bunday holda, ESP8266 uchun dasturlash va ulanish deyarli bir xil tarzda amalga oshiriladi, ammo bu erda hamma narsa unchalik qulay emas va qo'shimcha ravishda siz 3,3 voltli quvvat stabilizatoridan foydalanishingiz kerak bo'ladi.

Boshlash uchun biz qurilmamizning RX, TX va GND-ni ESP8266-ga ulaymiz va 3,3 voltga mo'ljallanganidan GND va VCC-ni olamiz. Bu erda siz barcha GND qurilmalarini, ya'ni RaspberryPi stabilizatorini va ESP8266 ni ulashingiz kerakligiga alohida e'tibor qaratish lozim. Agar qurilmangiz modeliga o'rnatilgan stabilizator 300 milliampergacha qo'shimcha yukga bardosh bera olsa, bu holda ESP8266 ni ulash juda normaldir, ammo bularning barchasi faqat o'zingizning xavf-xataringiz va xavfingiz ostida amalga oshiriladi.

Parametrlarni sozlash

ESP8266 ni qanday ulash kerakligini aniqlaganingizdan so'ng, qurilmalaringiz uchun drayverlar to'g'ri o'rnatilganligiga ishonch hosil qilishingiz kerak, buning natijasida tizimga yangi virtual ketma-ket port qo'shilgan. Bu erda siz dasturdan foydalanishingiz kerak - ketma-ket port terminali. Aslida, siz o'zingizning didingizga mos keladigan har qanday yordamchi dasturni tanlashingiz mumkin, ammo siz ketma-ket portga yuboradigan har qanday buyruq oxirida CR+LF belgilari bo'lishi kerakligini to'g'ri tushunishingiz kerak.

CoolTerm va ESPlorer yordam dasturlari juda keng tarqalgan va ikkinchisi ESP8266 ga o'zingiz kirmaslikka imkon beradi va shu bilan birga NodeMCU ostida lua skriptlari bilan ishlashni osonlashtiradi, shuning uchun uni standart terminal sifatida ishlatish mumkin.

Oddiy ulanish uchun siz juda ko'p ish qilishingiz kerak bo'ladi, chunki ESP8266 uchun proshivka asosan xilma-xil bo'lib, faollashtirish quyidagi hollarda amalga oshirilishi mumkin. turli tezliklar. Eng yaxshi variantni tanlash uchun siz uchta asosiy variantdan o'tishingiz kerak: 9600, 57600 va 115200.

Qanday saralash kerak?

Boshlash uchun terminal dasturidagi virtual ketma-ket portga ulaning, parametrlarni 9600 8N1 ga o'rnating, so'ngra CH_PD (chipni yoqish) quvvat manbaidan uzib, modulni to'liq qayta ishga tushiring va keyin CH_PD tugmachasini silkitib, uni qayta yoqing. Shuningdek, modulni qayta o'rnatish va terminaldagi ma'lumotlarni kuzatish uchun erga qisqa RESETni amalga oshirishingiz mumkin.

Avvalo, qurilmaning LEDlari sinov tartibida ko'rsatilgandek ko'rinishi kerak. Shuningdek, siz terminalda to'plamni kuzatishingiz kerak turli belgilar, bu chiziq tayyor bo'lishi bilan tugaydi va agar u bo'lmasa, terminalga qayta ulanish boshqa tezlikda amalga oshiriladi, so'ngra modul qayta ishga tushiriladi.

Tezlik variantlaridan birini ko'rganingizda bu qator, modulni ishga tayyor deb hisoblash mumkin.

Mikrodasturni qanday yangilash kerak?

ESP8266-ni o'rnatganingizdan so'ng, qurilmani ulash uchun bir necha soniya kerak bo'ladi, shundan so'ng siz proshivkani yangilashni boshlashingiz mumkin. Yangisini o'rnatish uchun dasturiy ta'minot quyidagilarni qilishingiz kerak.

Boshlash uchun rasmiy veb-saytdan yangi proshivka versiyasini yuklab oling, shuningdek yuklab oling maxsus yordamchi dastur proshivka uchun. Bu erda nimaga alohida e'tibor berish kerak operatsion tizim ESP8266 ishlaydigan mashinaga o'rnatilgan. Qurilmani Windows 7 dan eski tizimlarga ulash yaxshidir.

Standart Windows operatsion tizimlari uchun, agar proshivka faqat bitta fayldan iborat bo'lsa, foydalanish uchun ayniqsa qulay bo'lgan XTCOM UTIL dasturidan foydalanish maqbul bo'ladi. Eng yaxshi ko'p platformali variant - bu esptool yordam dasturi, ammo u pythonni talab qiladi, shuningdek, parametrlarni ko'rsatish zarurati orqali buyruq qatori. Bundan tashqari, ESP8266 sizga asosiy funktsiyalarni juda ko'p sonli sozlamalarga, shuningdek, bir nechta fayllardan proshivka o'rnatish uchun qulay texnologiyaga ega bo'lgan Flash Download Tool bilan qulay tarzda ulash imkonini beradi.

Keyinchalik, terminal dasturingizni ketma-ket portdan uzing, shuningdek, CH_PD-ni quvvat manbaidan butunlay uzing, modulning GPIO0-ni GND-ga ulang va shundan so'ng CH_PD-ni orqaga qaytarish mumkin. Oxir-oqibat, modulli proshivka dasturini ishga tushiring va uni ESP8266 relesiga yuklang.

Aksariyat hollarda proshivka modulga taxminan 115200 tezlikda yuklanadi, lekin maxsus rejim tezlikni avtomatik taqsimlashni ta'minlaydi, buning natijasida proshivka 9600 dan yuqori tezlikda amalga oshirilishi mumkin, yangilanadi. ESP8266 ning mavjud funktsiyalari. Arduino ulanish yoki USB-TTL uchun ishlatilgan - bu erda alohida rol o'ynamaydi va bu erda maksimal tezlik allaqachon simlarning uzunligiga, ishlatiladigan konvertorga va boshqa bir qator omillarga bog'liq.

Xitoyning Espressif kompaniyasi 2014 yilda ESP8266 chiplari asosidagi Wi-Fi modullarini sotishni boshladi. arzonligi va katta imkoniyatlari tufayli radio havaskorlari orasida darhol katta shuhrat qozondi. Bugungi kunda ESP8266 chipiga asoslangan juda ko'p turli xil modullar mavjud, ushbu maqolada men ESP-01 haqida gapiraman.

Texnik spetsifikatsiyalar

Ta'minot kuchlanishi: 3V ~ 3,6V
Maksimal ish oqimi: 220mA
Ishlash chastotasi: 2,4 gigagertsli
Tartiblar: P2P (mijoz), soft-AP (kirish nuqtasi)
GPIO soni: 2.
Flash xotira: 1024 kb.
chiqish quvvati 802.11b rejimida: +19,5 dBm
Qo'llab-quvvatlash simsiz standart: 802,11 b/g/n
Olchamlari: 24,8 mm x 14,3 mm x 8 mm

ESP-01 haqida umumiy ma'lumot

Asosan, ESP8266 chipi Wi-Fi uzatgichli miniatyura mikrokontrolleri bo'lib, u to'liq avtonomiyada ishlaydi. qo'shimcha to'lov Arduino. ESP-01 modulidan foydalanib, siz harorat, namlik, o'rni yoqish va hokazolar haqida ma'lumotlarni uzatishingiz mumkin. ESP8266 chipidan foydalanish qulayligi uchun ishlab chiqaruvchi ESP-01 dan ESP-14 gacha bo'lgan bir qator modullarni ishlab chiqardi. Ushbu seriyadagi birinchisi - bu ESP-01 moduli (ESP-01S ham bor, bu haqda birozdan keyin), u o'zining narxi va kichik o'lchamlari tufayli mashhur bo'lganlardan biri bo'lib, atigi 14,3 mm dan 24,8 mm gacha. Ammo uning ikkita kamchiligi bor: cheklangan miqdor dasturlashtirilgan GPIO pinlari va ularning noqulay joylashuvi (tartibga noqulay).


ESP-01 moduli qora rangli kichik doska bo'lib, unda ikkita asosiy chip, ESP8266 mikrokontrolleri va 1 MB flesh xotira joylashgan. Yaqin atrofda kvartsit rezonatori va bosma antenna mavjud. Kengashda qizil va ko'k ikkita LED mavjud. Modul quvvatga ega bo'lganda qizil LED yonadi va buyruqlar bajarilganda ko'k yonadi (qizil LED doimiy quvvat sarfi tufayli NSP-01S dan olib tashlangan). ESP-01 modulini ulash uchun sakkizta pin (ikki qator to'rt pin, 2,54 mm qadam), ikkita tayyor raqamli kirish-chiqish, impuls kengligi modulyatsiyasini qo'llab-quvvatlaydi. Modulda sukut bo'yicha ikkita GPIO pinlari mavjud bo'lsa-da, agar sizda kerakli lehim vositasi bo'lsa, boshqa mavjud pinlardan foydalanishingiz mumkin.


Pin tayinlash
GND:"-" modulli quvvat manbai
GPIO2:(Raqamli I/U dasturlashtiriladi)
GPIO0:(Raqamli kiritish-chiqarish dasturlashtiriladi, yuklash rejimlari uchun ham ishlatiladi)
RX: UART qabul qilish
TX: UART uzatish
CH_PD:(quvvatni yoqish/o'chirish, to'g'ridan-to'g'ri yoki rezistor orqali 3,3V ga chiqishi kerak)
RST: qayta o'rnatish, siz uni 3,3V ga tortib olishingiz kerak
VCC:"3.3V" modulli quvvat manbai

Modul ulanishi
ESP-01 modulini ishlatish uchun quvvat manbai kerak to'g'ridan-to'g'ri oqim, bu 3,3 V va kamida 250 mA oqim hosil qilishi kerak. Afsuski, Arduino-da o'rnatilgan standart stabilizator ESP-01 ishlashi uchun zarur bo'lgan oqimni etkazib bera olmaydi (agar siz baribir ESP-01 ni ulashga qaror qilsangiz, beqaror ishlashni va doimiy qayta ishga tushirishni kuting). Bundan tashqari, ushbu modulning mantiqiy signali 3,3 V uchun mo'ljallangan, ya'ni RX piniga 3,3 V kuchlanish qo'llanilishi kerak va TX pinidan 3,3 V kuchlanish beriladi (boshqa pinlar uchun ham xuddi shunday). ). Agar siz modulni Arduino yoki mantiqiy pinga 5V chiqaradigan boshqa kontrollerlarga ulashingiz kerak bo'lsa, siz rezistorlar yoki mantiqiy darajadagi moduldan foydalanishingiz kerak; agar siz to'g'ridan-to'g'ri ulansangiz, modul muvaffaqiyatsiz bo'ladi.

Diqqat! ESP-01 elektr ta'minoti haqida gap ketganda juda injiq, siz tashqi 3,3V kuchlanish regulyatoridan foydalanishingiz kerak, men birinchi misol sifatida USB adapterdan foydalanaman.

Yuqoridagi jadvaldan ko'rinib turibdiki, ESP-01 moduli bir nechta uyqu rejimlarida ishlashi mumkin, minimal oqim iste'moli bilan ular dasturiy ta'minot tomonidan chaqiriladi, oxirgi "O'chirish" dan tashqari bu rejim, GPIO16 va RST o'rtasida jumper o'rnatishingiz kerak, keyinroq misol keltiraman.

Arduino IDE-da ESP8266-ni o'rnatish

Arduino IDE dasturini arduino.cc veb-saytidan yuklab oling
Keyinchalik, Arduino IDE-ga ESP platasini o'rnatishingiz kerak. Buning uchun Arduino IDE dasturini ishga tushiring va oching: Fayl -> Sozlamalar.
Yangisida ochiq oyna, dalada " PCB menejeri uchun qo'shimcha havolalar:» havola qo'shing:

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

Ochiq oynada "ni toping" esp8266 ESP8266 Communit tomonidan y" va "ni bosing O'rnatish". O'rnatish bir necha daqiqa davom etadi, keyin xabar " Oʻrnatilgan", bosing" Yopish«

ni bosing Asboblar -> Kengashlar -> Generis ESP8266 moduli«.

Endi siz ESP-01 modulini CH340G chipidagi maxsus USB adapter orqali kompyuterga ulashingiz kerak.


Protsessor chastotasini sozlash " CPU chastotasi: "80 MGts"", tezlik" Yuklash tezligi: "115200""va tanlang" Port«.

Keyin biz ESP8266 ning LEDni miltillashiga olib keladigan eskizni yuklaymiz.

/* Arduino IDE 1.8.5 da sinovdan o'tgan Sinov sanasi 15/06/2018 */ #define TXD 1 // GPIO1 / TXD01 bekor o'rnatish() ( pinMode(TXD, OUTPUT); ) bekor sikl() ( digitalWrite(TXD, HIGH); kechikish(1000); digitalWrite(TXD, LOW); kechikish( 1000);)