Esp 01 ulanish. ESP8266 chipiga asoslangan Wi-Fi moduli. ESP8266 ni Internetga ulash

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.



Yoniq bu daqiqa, 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) tashkil topgan 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.

ESP8266 qanday sinovdan o'tkaziladi

Siz sotib olgan ESP8266 ni sinab ko'rish uchun sizga kerak bo'ladi.

Diqqat!ESP8266 moduli uchun ruxsat etilgan kuchlanish diapazoni 3,0 dan 3,6 voltgacha. Modulga yuqori kuchlanish kuchlanishini etkazib berish ESP8266 ning ishlamay qolishiga olib kelishi kafolatlanadi.

ESP8266 ESP-01 ni sinab ko'rish uchun faqat uchta pinni ulang: VCC va CH_PD (chipni yoqish) 3,3 voltli quvvat manbaiga va GND - erga. Agar sizda ESP-01 bo'lmasa, lekin boshqa modul va GPIO15 chiqadigan bo'lsa, siz qo'shimcha ravishda GPIO15 ni erga ulashingiz kerak bo'ladi.

Agar ESP8266 modulida zavod dasturiy ta'minoti muvaffaqiyatli ishga tushirilsa, qizil LED yonadi (modulning ba'zi versiyalarida quvvat indikatori, masalan, ESP-12 yo'q bo'lishi mumkin) va ko'k LED bir necha marta miltillaydi. (bu TX-RX liniyasi orqali moduldan terminalga ma'lumotlarni uzatish ko'rsatkichi, u boshqa rangga ega bo'lishi mumkin) va sizniki simsiz tarmoq"ESP_XXXX" nomi bilan yangi kirish nuqtasi paydo bo'lishi kerak, uni istalganidan ko'rishingiz mumkin WiFi qurilmalari. Kirish nuqtasi nomi proshivka ishlab chiqaruvchisiga bog'liq va boshqacha bo'lishi mumkin, masalan, AI-THINKER_AXXXXC. Agar kirish nuqtasi paydo bo'lsa, siz tajribalarni davom ettirishingiz mumkin, agar bo'lmasa, quvvat manbai, CH_PD, GND ni yana tekshiring va agar hamma narsa to'g'ri ulangan bo'lsa, unda sizda noto'g'ri modul bor, lekin umid bor moduldagi proshivka nostandart sozlamalarga ega va , ehtimol uni miltillash sizga yordam beradi.

ESP8266-ni tezda qanday ulash mumkin

ESP8266 modulini ulash va miltillash uchun minimal to'plam quyidagilarni o'z ichiga oladi:

Qizil - 3,3V quvvat manbai

Qora - GND

Sariq - ESP8266 tomonida - RX, USB-TTL tomonida - TX

Yashil - ESP8266 tomoni - TX, USB-TTL tomoni - RX

Apelsin - CH_PD (CHIP ENABLE) - har doim quvvatga ulangan bo'lishi kerak

Moviy - GPIO0 - modul miltillash rejimini yoqish uchun erga kalit orqali ulangan. Modulni normal ishga tushirish uchun GPIO0 hech qanday joyga ulanmagan holda qoldirilishi mumkin.

O'ng diagrammada pushti - barqaror bo'lmagan quvvat manbai 5-8 volts

4. Modulni ishga tushirish uchun GPIO0 - GND sxemasini uzing va siz quvvatni qo'llashingiz mumkin (va aynan shu tartibda: avval biz GPIO0 "havoda osilgan"ligiga ishonch hosil qilamiz, keyin VCC va CH_PD ga quvvat beramiz)

Diqqat! Yuqoridagi, aslida ishlaydigan, ESP8266 ni ulash misollarida ular ESP8266 pinlarini "to'g'ridan-to'g'ri" erga va quvvatga ulash yoki "havoda osilgan holda" foydalanishadi, chunki bizda RESET hech qanday joyga ulanmagan, bu mutlaqo noto'g'ri va faqat birinchi ikkita tajriba uchun javob beradi, garchi modullarning aksariyatida juda yaxshi ishlaydi. Elektr ta'minotiga faqat VCC pin "to'g'ridan-to'g'ri" ulangan; qolgan pinlar: CH_PD, RESET, GPIO0, GPIO2 4,7 dan 50 kOm gacha bo'lgan qarshilik orqali quvvat manbaiga (VCC) tortilishi (tortib olinishi) kerak. "To'g'ridan-to'g'ri" biz faqat GND ni elektr ta'minotining salbiy (umumiy simi) ga ulaymiz va modulni dasturiy ta'minotni yuklab olish rejimiga o'tkazish uchun GPIO0 ni (pulldown) 10k gacha bo'lgan rezistor orqali GND ga tortamiz. Agar siz ESP8266 bilan tajribani davom ettirishni rejalashtirmoqchi bo'lsangiz, uni boshqa mikrokontrollerlar bilan bir xil tarzda bajaring. Pullup va pulldownning batafsil tavsifi ushbu maqola doirasidan tashqarida, ammo siz tavsifni osongina google orqali topishingiz mumkin. to'g'ri ulanish kirish/chiqish portlari. "" ulanishi sizga ko'p "mo''jizalar" va muammolardan qochish imkonini beradi va ESP8266 modulini ishga tushirish yoki miltillashda qiyinchiliklarga duch kelsangiz, muqarrar ravishda zarur bo'ladi.

ESP8266 ni qanday qilib to'g'ri ulash kerak

Agar siz ESP8266-dan bir necha oqshom foydalanishni rejalashtirmoqchi bo'lsangiz, sizga barqarorlikni ta'minlaydigan ulanish opsiyasi kerak bo'ladi. Quyida ikkita ulanish diagrammasi keltirilgan: dasturiy ta'minotni avtomatik yuklashni qo'llab-quvvatlaydigan va unsiz.

ESP8266 uchun ulanish diagrammasi (proshivkani avtomatik yuklamasdan, avval BURN jumperini o'rnatish va modulni qayta ishga tushirish orqali uni miltillaymiz)

Mikrodasturni avtomatik yuklashni qo'llab-quvvatlaydigan ulanish diagrammasi Arduino IDE, UDK, Sming. Flash Download Tool va XTCOM_UTIL RTS/DTR-ni o'chirib qo'yishi kerak bo'lishi mumkin. Agar siz RTS va DTR-ni o'chirib qo'yish noqulay bo'lsa, siz kontaktlarning zanglashiga olib qo'yishingiz mumkin.

Ushbu diagrammalar ADC va bepul GPIO-larning ulanishini ko'rsatmaydi - ularning ulanishi siz amalga oshirmoqchi bo'lgan narsaga bog'liq bo'ladi, lekin agar siz barqarorlikni istasangiz, barcha GPIO-larni quvvatga (tortishish) va ADC-ni erga (pulldown) tortishni unutmang. ) tortuvchi rezistorlar orqali.

10k dagi rezistorlar 4,7k dan 50k gacha bo'lgan boshqalar bilan almashtirilishi mumkin, GPIO15 dan tashqari - uning qiymati 10k gacha bo'lishi kerak. Yuqori chastotali pulsatsiyalarni yumshatuvchi kondansatkichning qiymati boshqacha bo'lishi mumkin.

Agar chuqur uyqu rejimidan foydalansangiz, RESET va GPIO16 ni 470 Ohm chuqur uyqu qarshiligi orqali ulashingiz kerak bo'ladi: chuqur uyqu rejimidan chiqish uchun modul GPIO16 ga past darajani qo'llash orqali o'zini qayta ishga tushiradi. Ushbu ulanishsiz chuqur uyqu modulingiz uchun abadiy bo'ladi.

Bir qarashda, bu diagrammalar GPIO0, GPIO2, GPIO15, GPIO1 (TX), GPIO3 (RX) band ekanligini va siz ularni o'z maqsadlaringiz uchun ishlata olmasligingizni ko'rsatadi, ammo bu unday emas. GPIO0 va GPIO2-da yuqori daraja, GPIO15-da past daraja faqat modulni ishga tushirish uchun talab qilinadi va keyinchalik siz ularni o'zingizning xohishingiz bilan ishlatishingiz mumkin, modulni qayta ishga tushirishdan oldin kerakli darajalarni ta'minlashni unutmang.

Siz TX, RX dan mos ravishda GPIO1 va GPIO3 sifatida foydalanishingiz mumkin, modul ishga tushganda har qanday proshivka TX-ni tortib olishini, disk raskadrovka ma'lumotlarini UART0-ga 74480 tezlikda yuborishini unutmang, ammo muvaffaqiyatli yuklangandan so'ng siz ularni nafaqat UART0 sifatida ishlatishingiz mumkin. boshqa qurilma bilan ma'lumot almashish, balki oddiy GPIO kabi.

ESP-01 kabi kamroq simli pinli modullar uchun bekor qilingan pinlarni ulash shart emas, ya'ni. ESP-01 da faqat VCC, GND, GPIO0, GPIO2, CH_PD va RESET simlari ulangan - siz ularni shunchaki torting. ESP8266EX chipiga to'g'ridan-to'g'ri lehimlash va yo'naltirilmagan pinlarni jalb qilishning hojati yo'q, faqat sizga kerak bo'lsa.

Ushbu ulanish diagrammalari forum a'zolarimiz tomonidan o'tkazilgan ko'plab tajribalardan so'ng paydo bo'ldi va bizning hamjamiyatimiz tomonidan tarqoq va dastlab mavjud bo'lmagan hujjatlardan asta-sekin to'plandi, men bu bilimlarni bir joyda birlashtirishga harakat qildim. Ulanish bo'yicha ko'plab maslahatlarni topasiz. U erda siz o'zingizni qiziqtirgan yoki topadigan savollarni berishingiz mumkin. Agar siz ushbu maqolada xato, noaniqlik yoki biror narsa qo'shmoqchi bo'lsangiz, unda .

Diqqat! Hatto bu sxemalarni "ideal" deb atash mumkin emas. Mukammallikka cheklov yo'q: disk raskadrovka terminalini ulash uchun ikkinchi USB-TTLni UART1 ga ulash qulay (ESP8266 bilan siz faqat GND va UTXD1, ya'ni GPIO2 ni olishingiz mumkin) (sizga ikkinchi USB-TTL konvertori kerak bo'ladi) - keyin siz UART1 da disk raskadrovka terminalini o'chirmasdan ESP8266 modulini UART0 orqali miltillashingiz mumkin. Kichik rezistorlarni ikkala UARTning pinlariga ulash, RTS liniyasiga diod qo'yish, past chastotali impulslarni susaytirish uchun quvvat liniyasiga kondansatör qo'shish va hokazolar yaxshi bo'lar edi. Bu juda qulay, masalan, disk raskadrovka panelida amalga oshiriladi: LEDlar barcha GPIO-larga ulangan, fotorezistor ADC-ga ulangan, ammo RESET tugmasi yo'qligi va GPIO0-da faqat bitta jumper mavjudligi achinarli.

Sizga ideal va ayni paytda yo'qligini aytish to'g'ri bo'lardi universal sxema ESP8266 ulanishlari. Gap shundaki, ko'p narsa siz u erga yuklamoqchi bo'lgan proshivkaga bog'liq. Yuqoridagi diagrammalar tajriba uchun ESP8266 ni o'zlashtirishni endigina boshlayotgan yangi boshlanuvchilar uchun mo'ljallangan. Haqiqiy loyihalar uchun siz diagrammani biroz o'zgartirishingiz kerak bo'lishi mumkin. Masalan, RTS ni GPIO15 ga, CTS ni GPIO13 ga ulashingiz kerak. Shuningdek, haqiqiy loyihalarda ovqatlanishga alohida e'tibor berishni tavsiya etaman.

ESP8266 ni Arduino orqali ulash

Agar qo'lingizda 3,3V USB-TTL konvertoringiz bo'lmasa, lekin o'rnatilgan USB-TTL konvertoriga ega Arduino bo'lsa, siz ushbu ulanish diagrammasidan foydalanishingiz mumkin.

Nimaga e'tibor berish kerak:

1. Arduino Reset GND (ko'k sim) ga ulangan, shunda Arduino-dagi mikrokontroller ishga tushmaydi, bu shaklda biz Arduino-dan shaffof USB-TTL konvertori sifatida foydalanamiz.

2. RX va TX o‘zaro bog‘langan emas, balki to‘g‘ridan-to‘g‘ri - RX - RX (yashil), TX - TX (sariq)

3. Qolganlarning hammasi oldingi misollardagi kabi bog‘langan

Diqqat! Ushbu sxema, shuningdek, Arduino-da 5 voltli va ESP8266-da 3,3 voltlik TTL darajalariga mos kelishini talab qiladi, ammo u shu tarzda yaxshi ishlaydi.

Diqqat!Arduino-da ESP8266 tomonidan talab qilinadigan oqimga bardosh bera olmaydigan quvvat stabilizatori o'rnatilgan bo'lishi mumkin, shuning uchun ulanishni amalga oshirishdan oldin siz o'rnatgan stabilizatorning ma'lumotlar varag'ini tekshiring. Arduino ichiga o'rnatilgan quvvat regulyatoriga zarar yetkazish xavfi tufayli boshqa quvvat sarflaydigan komponentlarni ESP8266 bilan bir vaqtda ulamang.

Seriyali portga ulanish uchun biroz sehr kerak bo'ladi: ESP8266 uchun dasturiy ta'minotning xilma-xilligi tufayli ulanishni o'rnatish mumkin. turli tezliklar. Kerakli tezlikni uchta variant orqali oddiygina qidirish orqali aniqlash mumkin: 9600, 57600 va 115200. Qanday qilib qidirish kerak? Quyidagi parametrlarni o'rnatish orqali terminal dasturida virtual ketma-ket portingizga ulaning: 9600 8N1, so'ngra CH_PD (chipni yoqish) quvvat manbaidan uzib (USB-TTL USB ga ulangan bo'lib qoladi) va uni qayta yoqing (ya'ni, 9600 8N1) modulni qayta yoqing. oddiygina CH_PD ni almashtiring, nega biz quvvatni buzmaymiz - o'qing, siz modulni qayta ishga tushirish uchun erga qisqa tutashuvni RESET ni ham qilishingiz mumkin) va terminaldagi ma'lumotlarni kuzatib boring. Birinchidan, ESP8266 dagi LEDlar bo'limdagi maqolaning boshida tasvirlanganidek yonishi kerak. Ikkinchidan, terminalda siz "tayyor" qatori bilan tugaydigan turli belgilarning "axlatini" ko'rishingiz kerak. Agar biz "tayyor" ni ko'rmasak, biz terminal bilan boshqa tezlikda qayta ulanamiz va modulni qayta ishga tushiramiz.

"Tayyor" tezlik variantlaridan birida siz hali ham ko'rasiz - tabriklaymiz, modulingiz foydalanishga tayyor. Agar yo'q bo'lsa, xush kelibsiz - biz yordam berishga harakat qilamiz, lekin avval o'qing.

"Axlat" haqida bir oz ko'proq. Gap shundaki, proshivka ishga tushganda, ESP8266 modulining UART uzatish tezligi 74,880 ga o'tadi (bu xitoyliklar juda kulgili), disk raskadrovka ma'lumotlarini UARTga chiqaradi, so'ngra port tezligini 115200 (yoki 9600 yoki 57600) ga o'zgartiradi. proshivka versiyasiga qarab) , shuning uchun bu disk raskadrovka ma'lumotlari bizga axlat sifatida ko'rinadi, chunki modulga boshqa tezlikda ulanamiz. Siz ESP8266 ga 74,880 tezlikda ulanishingiz mumkin (bu tezlikni qo'llab-quvvatlaydi) va siz ushbu disk raskadrovka ma'lumotlarini ko'rasiz, u shunday bo'ladi:

wdt qayta o'rnatish yuki 0x40100000, len 25052, xona 16 quyruq 12 chksum 0x0b ho 0 quyruq 12 xona 4 yuk 0x3ffe8000, len 3312, xona 12 quyruq 4 chksum 0x53ffelen 0x53ffe12, 0x53ffe182, len chksum 0x0d cs um 0x0d

wdt reset

yuk 0x40100000, len 25052, xona 16

dum 12

chksum 0x0b

ho 0 dum 12 xona 4

yuk 0x3ffe8000 , len 3312 , xona 12

Keyinchalik nima qilish kerak

Agar sizda yangi modul bo'lsa, ehtimol u eski maxsus AT proshivkalaridan biri bilan yonib ketgan. Ehtimol, bu qandaydir AI-THINKER AT v0.16 SDK v0.9.2. Mikrodastur versiyasini "AT+GMR" buyrug'i yordamida tekshirishingiz mumkin, ya'ni. to'g'ridan-to'g'ri terminal dasturida tirnoqsiz AT+GMR ni kiriting va Enter tugmasini bosing. Modul "OK" deb javob berishi va proshivka versiyasini ko'rsatishi kerak (masalan, "0016000092" - ichida turli versiyalar AT proshivka versiyasi chiqish formati boshqacha). ESP8266 modulini AT buyruqlari bilan boshqarish alohida maqolaga loyiqdir, ammo siz AT buyruqlari bo'yicha ma'lumotnomalarimizdan birini ishlatib, buni o'zingiz osongina aniqlashingiz mumkin:

Ushbu maqolani yozish paytida ESP8266 uchun joriy dasturiy ta'minot versiyasi:

ESP8266 mikrodastur yangilanishi

ESP8266 moduli alohida dasturchini talab qilmasligi bilan ajralib turadi - proshivka ESP8266 modulini kompyuterga ulagan bir xil uskunada yangilanadi, ya'ni. shuningdek, USB-TTL konvertori (yoki Arduino yoki RPi) orqali. ESP8266 modulidagi mikrodasturni yangilash uchun quyidagilarni bajaring:

1. Yuklab oling yangi versiya bo'limidan veb-saytimizdan proshivka (ushbu maqolani yozish paytida havola)

2. Veb-saytimizdagi bo'limdan operatsion tizimingizga qarab ESP8266-ni miltillash uchun yordamchi dasturlardan birini yuklab oling

RemoteXY bilan ishlash uchun ESP8266 moduli v0.40 dan past bo'lmagan AT buyruqlarini qo'llab-quvvatlaydigan proshivka versiyasiga ega bo'lishi kerak. Modul versiyasini tekshirish, shuningdek, agar kerak bo'lsa, proshivkani o'zgartirish uchun modulni ketma-ket port orqali kompyuterga ulang. Modul orqali ulanishi mumkin Arduino taxtasi yoki USB-UART adapteri orqali.

Arduino platasi orqali ulanish

Arduino-dan foydalanganda asosiy ATmega chipi qayta tiklash rejimiga o'tkaziladi, faqat o'rnatilgan USB-UART konvertori faol bo'lib qoladi. Buning uchun RESET kontakti erga ulangan. RX va TX pinlari ESP8266 ga to'g'ridan-to'g'ri ulanadi, chunki ular boshqaruvchi bilan ishlash uchun o'zaro bog'liq emas.

USB-UART adapteri orqali ulanish

ESP8266 ni quvvatlantirish uchun konvertor 3,3V manba chiqishiga ega bo'lishi kerak. Bundan tashqari, ushbu manba kamida 200mA talab qilinadigan oqimni ta'minlashi kerak.



CPIO0 kontakti modulning ishlash rejimini aniqlaydi. Kontakt ulanmagan bo'lsa, modul normal rejimda ishlaydi va AT buyruqlarini bajaradi. Kontakt yerga yopilganda, modul proshivkani yangilash rejimiga o'tkaziladi. Modulni proshivka rejimiga o'tkazish modulga quvvat berilganda CPIO0 pinini erga ulashni talab qiladi. Modul ishlayotgan vaqtda kontaktni yopsangiz, modul proshivka yangilash rejimiga o'tmaydi.

Joriy versiya tekshirilmoqda

AT buyruqlarini yuborish va javoblarni ko'rish uchun siz har qanday monitor dasturidan foydalanishingiz kerak ketma-ket port. Arduino IDE-dan terminal dasturi juda yaxshi ishlaydi. Dastur keyingi qator tasmasi va karetani qaytarish belgisi bilan buyruqlarni yuborish uchun sozlanishi kerak. Standart modulning ishlash tezligi 115200 bps. Modul normal rejimda ishlashi uchun CPIO0 kontakti o'chirilgan bo'lishi kerak.

AT buyrug'ini ishga tushirish orqali joriy dasturiy ta'minot versiyasini tekshirishingiz mumkin: AT+GMR. Modul javobiga misol:

AT versiyasi: 0.40.0.0 (2015 yil 8-avgust 14:45:58)
SDK versiyasi: 1.3.0

Tuzilishi: 1.3.0.2 2015 yil 11-sentabr 11:48:04
KELISHDIKMI

Shuningdek, modulingizning flesh-xotirasining hajmini aniqlashga arziydi, dasturiy ta'minotni yangilashda ma'lumotlarni yuklab olish manzillari sozlamalari bunga bog'liq. Ushbu qo'llanmada eng keng tarqalgan flesh-xotira hajmi 8Mbit (512KB+512KB) yoki 16Mbit(1024KB+1024KB) bo'lgan modul proshivkalari tasvirlangan. Fleshli xotira hajmini modulni qayta o'rnatish uchun AT buyrug'ini bajarish orqali topish mumkin: AT+RST.

2013 yil 8 yanvar, birinchi sabab: 2, yuklash rejimi: (3,1)

0x40100000, len 1396, 16-xonani yuklang
dum 4
chksum 0x89
0x3ffe8000, len 776, 4-xonani yuklang
dum 4
chksum 0xe8
0x3ffe8308, len 540, 4-xonani yuklang
dum 8
chksum 0xc0
csum 0xc0

2-yuklash versiyasi: 1.4(b1)
SPI tezligi: 40 MGts
SPI rejimi: DIO
SPI Flash hajmi va xaritasi: 8Mbit (512KB+512KB)
user1 @ 1000 ni ishga tushirishga o'ting

#t#n"rtc xotira ma'lumotlaridan foydalanmang
slď‚rlMya
Ai-Thinker Technology Co., Ltd.

Mikrodastur dasturi

Mikrodasturni yangilash uchun siz proshivka dasturini va proshivkaning o'zini yuklab olishingiz kerak. ESP8266 ni miltillash dasturi Espressif Systems rasmiy veb-saytidagi Flash Download Tools v2.4 dan foydalanadi. Rasmiy veb-saytdagi yuklab olish sahifasiga havola: . Siz "Asboblar" bo'limiga o'tishingiz kerak.

Fayl xotiramizdagi dasturga havola: FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar

Mikrodastur

Mikrodasturni rasmiy veb-saytdan ham yuklab olish mumkin. Rasmiy veb-saytdagi yuklab olish sahifasiga havola: . Siz "SDKs & Demos" bo'limiga o'tishingiz va ESP8266 NONOS SDK proshivka versiyasini v1.3.0 dan kam bo'lmagan holda yuklab olishingiz kerak. Aynan shu proshivka versiyasida v0.40 va undan keyingi AT buyruqlarini qo'llab-quvvatlash amalga oshiriladi.

Fayl xotiramizdagi proshivkaga havola: esp8266_nonos_sdk_v1.4.0_15_09_18_0.rar

Yuklab olingan barcha fayllar paketdan chiqarilishi va fayllarga to'liq yo'l faqat lotin harflaridan iborat bo'lgan katalogga joylashtirilishi kerak, ya'ni tilni lokalizatsiya qilish belgilarisiz.

Sozlamalar

Dasturni ishga tushiring Flash proshivka Yuklab olish vositalari v2.4 (xuddi shu nomdagi fayl). Ochilgan oynada siz yuklab olingan fayllar va ulanish sozlamalarini to'g'ri belgilashingiz kerak.


Yuklab olingan fayllar proshivka bilan arxivning axlat qutisi katalogida joylashgan. Har bir fayl uchun to'g'ri yuklab olish manzilini ko'rsatishingiz kerak. Fayllarni tanlash va manzillarni belgilash uchun quyidagi jadvaldan foydalaning:

Quyidagi sozlamalarni o'rnating:

  • SPIAutoSet - o'rnatilgan;
  • CrystalFreq - 26M;
  • FLASH SIZE – flesh-xotira hajmiga qarab 8Mbit yoki 16Mbit;
  • COM PORT – ESP ulangan portni tanlang;
  • BAUDRATE - 115200

Mikrodasturni ishga tushirish uchun siz "START" tugmasini bosishingiz kerak.

ESP8266 proshivkasini miltillash uchun qadamlar ketma-ketligi

1. Ushbu maqoladagi ulanish sxemasiga muvofiq modulni kompyuterga ulang.

2. Seriya port monitorini ishga tushiring. Aniqlash uchun AT+RST va AT+GMR buyruqlarini bering joriy versiya proshivka va modul xotira hajmi. Ushbu qadam, shuningdek, modulning to'g'ri ulanganligini tekshirishga imkon beradi.

3. Flash Download Tools proshivka dasturini ishga tushiring, yuklab olingan fayllarni to'g'ri sozlang va sozlamalarni o'rnating.

4. ESP8266 moduliga quvvatni o'chiring.

5. CPIO0 pinini erga ulang.

6. ESP8266 moduliga quvvat bering.

7. Mikrodastur dasturida START tugmasini bosing

8. Modulning dasturiy ta'minoti tugaguncha kuting. Mikrodastur tugallangach, FINISH xabari yashil rangda paydo bo'ladi.

9. ESP8266 modulidan quvvatni uzing. Tuproqni CPIO0 pinidan ajratib oling.

10. Modulni yoqing, ketma-ket port monitorini ishga tushiring. AT+GMR buyrug'ini bajarish orqali modul va yangi proshivka versiyasi ishlayotganligiga ishonch hosil qiling.

Wi-Fi moduli ESP-01 ESP8266 seriyasining eng mashhur modulidir. Kompyuter yoki mikrokontroller bilan aloqa UART orqali AT buyruqlar to'plami yordamida amalga oshiriladi. Bundan tashqari, modul mustaqil qurilma sifatida ishlatilishi mumkin, buning uchun siz o'zingizning mikrodasturingizni unga yuklashingiz kerak. 1.6.5 dan yuqori Arduino IDE versiyasi orqali proshivkani dasturlashingiz va yuklab olishingiz mumkin. Modul proshivkasini o'chirish uchun sizga UART-USB adapteri kerak bo'ladi. ESP-01 moduli IoT (Internet of Things) qurilmalarida keng qo'llanilishi mumkin.

Texnik xususiyatlarimodul

  • Wi-Fi 802.11 b/g/n
  • WiFi rejimlari: mijoz, kirish nuqtasi
  • chiqish quvvati- 19,5 dB
  • Ta'minot kuchlanishi - 1,8 -3,6 V
  • Hozirgi iste'mol - 220 mA
  • GPIO portlari: 4
  • Soat chastotasi protsessor - 80 MGts
  • Kod xotirasi hajmi
  • Operativ xotira- 96 KB
  • Olchamlari - 13×21 mm

Ulanish

AT buyruq rejimini ko'rib chiqaylik. Buning uchun modulni USB-UART adapteri orqali kompyuterga ulang. Modul pinlarining maqsadi (1-rasmga qarang):
  • VCC - +3,3 V
  • GND - tuproq
  • RX, TX - UART pinlari
  • Chiqish CH_PD - Chipni yoqish
  • GPIO0, GPIO2 - raqamli kontaktlar
Modul talab qiladi tashqi quvvat manbai 3.3 V.

Shakl 1. ESP-01 modulining pinlarini tayinlash

AT buyruq rejimida modul bilan aloqa qilish uchun ulanish diagrammasi (2-rasm):

Shakl 2. ESP-01 modulini ketma-ket port orqali kompyuterga ulash sxemasi

Shakl 3. Yig'ish sxemasi

Mac OS X da AT buyruqlarini yuborish uchun siz operatsion tizimdagi CoolTerm dasturidan foydalanishingiz mumkin Windows dasturi Termit. Siz modulga ulanish uchun MAQOMOTI portining tezligini faqat eksperimental tarzda bilib olishingiz mumkin, u turli proshivkalar uchun har xil bo'lishi mumkin. Mening modulim uchun tezlik 9600 bodga aylandi. Bunga qo'shimcha ravishda, faqat CH_PD pinini elektr ta'minotiga uzib, qayta ulagandan keyingina almashinuvni o'rnatish mumkin edi. Ulangandan so'ng, terminalda AT ni kiriting va moduldan OK javobini olish kerak. AT+GMR buyrug'i modul proshivka versiya raqamini beradi, AT+RST buyrug'i modulni qayta ishga tushiradi (4-rasmga qarang). Asosiy AT buyruqlar ro'yxatini ushbu hujjatda topish mumkin (ESP8266ATCommandsSet.pdf).

Shakl 4. Termitdan modulga AT buyruqlarini yuborish

Agar AT buyruq rejimi siz uchun qulay bo'lmasa, platani AppStack ESP8266 Config dasturi yordamida sozlash mumkin, uni http://esp8266.ru/download/esp8266-utils/ESP8266_Config.zip havolasidan yuklab olish mumkin. Tashqi ko'rinish Dastur 5-rasmda keltirilgan. Modul yordamida konfiguratsiya qilingan GUI, buyruqlarning bajarilishini dastur monitorida ko'rish mumkin (6-rasmga qarang). Monitor AT buyruqlarini buyruq satridan ham yuborishi mumkin.

Shakl 5. AppStack ESP8266 Config dasturi

Shakl 6. AppStack ESP8266 Config dasturining ketma-ket monitori

Ushbu moduldan foydalanishning ikkita varianti mavjud:

  • modulni UART orqali boshqaradigan mikrokontroller (masalan, Arduino) bilan birgalikda;
  • ESP8266 dan mustaqil qurilma sifatida foydalanish uchun o'zingizning dasturiy ta'minotingizni yozish.

Foydalanish misoli

Keling, DHT11 namlik va harorat sensorini ESP-01 moduliga ulash va ma'lumotlarni jo'natish misolini ko'rib chiqaylik. bulut xizmati ThingSpeak (https://thingspeak.com/). Bizga quyidagi qismlar kerak bo'ladi:
  • ESP-01 moduli
  • non taxtasi
  • namlik va harorat sensori DHT11
  • qarshilik 10 kOhm
  • ulash simlari
  • quvvat manbai 3 - 3,6 V
Birinchidan, DS18B20 sensorini ESP-01 moduliga ulaymiz. DS18B20 - bu bitta simli 1-simli interfeys orqali ishlaydigan raqamli harorat sensori. DS18B20 sensorining modulga ulanish diagrammasi rasmda ko'rsatilgan. 7.

Shakl 7. DHT11 sensorining ESP-01 moduliga ulanish diagrammasi.

Keyin ThingSpeak xizmatida profil yaratishingiz kerak. Xizmatda xizmatga ma'lumotlarni yuborish va xizmatdan ma'lumotlarni qabul qilish bo'yicha ko'rsatmalar mavjud.

Shakl 8. To'liq sxema.

Biz dasturni yozamiz Arduino muhiti ESP8266 uchun IDE. Biz ESP8266WiFi.h (oʻrnatilgan) va OneWire.h kutubxonalaridan foydalanamiz. Keling, 1-listdan eskizni Arduino platasiga yuklaymiz - harorat sensoridan ma'lumotlarni qabul qilish va ma'lumotlarni ThingSpeak xizmatiga yuborish. Ma'lumotlaringizni kiritishingiz kerak Wi-Fi nuqtalari ESP-01 moduliga kirish:

  • const char *ssid;
  • const char *parol;
shuningdek, ThingSpeak xizmatidagi ilovangiz uchun privateKey parametri. Listing 1 // veb-sayt // esp8266 #include bilan ishlash uchun kutubxonani qo'shing // DHT11 #include bilan ishlash uchun DHT kutubxonasini qo'shing // DATA pinli ulanish pin #define DHTPIN 4 // DHT11 sensor #define DHTTYPE DHT11 // DHT obyektining namunasini yaratish DHT dht(DHTPIN, DHTTYPE); //ssid WiFi tarmoqlari ulanishlar const char ssid = "********"; // WiFi parol ulanish tarmoqlari const char parol = "********"; // ThingSpeak Server const char* host = "184.106.153.149"; // ThingSpeak ilovangizning API KEY const char* privateKey = "****************"; // harorat va namlik float tempini saqlash uchun o'zgaruvchilar; suzuvchi namlik // o'lchov oralig'i uchun o'zgaruvchi unsigned long millis_int1=0; void setup() ( // seriyali portni ishga tushiring Serial.begin(115200); delay(10); Serial.print("WiFi-ga ulanish"); Serial.println(ssid); // WiFi WiFi.begin( orqali ulanish ssid , parol); while (WiFi.status() != WL_CONNECTED) (kechikish(500); ) Serial.println("WiFi ulangan"); // start dht dht.begin(); ) void loop() ( / / 10 daqiqalik intervalni kuting if(milis()-millis_int1>=10*60000) ( Serial.print("ThingSpeak-ga ulanish"); Serial.println(host); // WiFi mijozi WiFiClient mijozidan foydalaning; agar (!client.connect (host, 80)) ( Serial.println("ulanish muvaffaqiyatsiz tugadi"); qaytish; ) // harorat ma'lumotlarini olish temp = get_data_temperature(); namlik = get_data_humidity(); // So'rov bilan URL yarating server uchun String url = "/ update?key="; url += privateKey; url += "&temp="; url += temp; url += "&humidity="; url += namlik; // So‘rov yuborish server mijoziga.print(String(" GET ") + url + " HTTP/1.1\r\n" + "Xost: " + xost + "\r\n" + "Ulanish: yopish\r\n\r \n"); kechikish (10); // ThingSpeak serverining javobi while(client.available())( String req = client.readStringUntil("\r"); Serial.print(req); ) ) ) Endi ThingSpeak xizmatida o'qishlar grafigini ko'rishimiz mumkin. bizning DHT11 harorat sensorimiz (9-rasm).

Shakl 9. ThingSpeak xizmatida DS18B20 harorat sensori ko'rsatkichlari grafigi.

Tez-tez so'raladigan savollar FAQ

1. Modul javob bermaydiAT buyruqlari
  • Modul to'g'ri ulanganligini tekshiring;
  • Rx, Tx kontaktlarining UART-USB adapteriga to'g'ri ulanishini tekshiring;
  • CH_PD pinining 3,3 V ga ulanishini tekshiring;
  • Eksperimental ravishda ketma-ket portda aloqa tezligini tanlang.
2. ESP-01 moduli sensordan harorat ma'lumotlarini olmaydiDHT11
  • DHT11 sensori modulga to'g'ri ulanganligini tekshiring.
3. Ma'lumotlar ThingSpeak xizmatiga o'tkazilmaydi
  • Modulning WiFi kirish nuqtasiga ulanishini tekshiring;
  • Wi-Fi kirish nuqtasining Internetga ulanishini tekshiring;
  • ThingSpeak xizmatiga so'rov to'g'ri ekanligini tekshiring.

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.

Hozirgi vaqtda ushbu moduldan foydalanishning faqat ikkita varianti ko'rib chiqilmoqda:

  • 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).

Ulangandan so'ng, simsiz tarmog'ingizda ESP_XXXX deb nomlangan yangi kirish nuqtasi faollashadi 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 uchun to'g'ri sxema alohida quvvat manbasidan foydalanganligi sababli samaraliroq bo'lib tuyulishi mumkin, ammo aslida 5 voltli USB-TTL konvertoridan foydalanilganda, uni ham qilish juda ma'qul. uch voltli va besh voltli mantiqiy darajalarning mos kelishini ta'minlash uchun qo'shimcha rezistor ajratgich 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 jadvalini oling yoki undan to'liq foydalaning tayyor modul, 1117 bazasiga asoslangan.

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 yo'q bo'lsa USB-TTL konvertorlari, keyin bu holda siz 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 dasturiy ta'minot asosan xilma-xildir va faollashtirish turli tezliklarda amalga oshirilishi mumkin. Eng ko'p qaror qabul qilish uchun eng yaxshi variant, siz uchta asosiy variantdan o'tishingiz kerak bo'ladi: 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.