Esp 01 холболт. ESP8266 чип дээр суурилсан Wifi модуль. ESP8266-г интернетэд холбож байна

Энэ нь улам бүр түгээмэл болж байгаа бөгөөд Arduino аль хэдийн санаачлагыг гартаа авч байгаа бөгөөд эдгээр Wi-Fi модулиудыг дэмжигдсэн самбаруудын жагсаалтад нэмж оруулав.
Гэхдээ үүнийг Arduino руу хэрхэн холбох вэ? Ардуиногүйгээр ямар нэгэн байдлаар хийх боломжтой юу? Өнөөдөр энэ нийтлэл яг энэ тухай байх болно.

Цаашид Arduino IDE хөгжүүлэлтийн орчинд ESP8266 модулийг программчлах, програмчлах сэдвээр илүү практик хоёр дахь нийтлэл гарах болно гэж би хэлэх болно. Гэхдээ хамгийн түрүүнд хийх зүйл.

Энэ видео нь нийтлэлд үзүүлсэн материалыг бүрэн хуулбарладаг.



Асаалттай Энэ мөч, энэ модулийн олон төрөл байдаг бөгөөд тэдгээрийн заримыг нь энд оруулав.

Энд ESP01, ESP03, ESP12-ийн pinout байна:


* Энэ зургийг эндээс үзэх боломжтой сайн чанарынасаах, унтраах. pighixxx.com вэбсайт.

Би хувьдаа ESP07 хувилбарт хамгийн их дуртай. Наад зах нь металл дэлгэц (энэ нь микро схемийг гадны нөлөөллөөс хамгаалж, илүү тогтвортой ажиллагааг хангадаг), өөрийн керамик антен, гадаад антенны холбогчтой байдаг. Түүнтэй холбогдоод л гарч ирдэг гадаад антен, жишээ нь гэх мэт биквадрат, тэгвэл та сайн хүрээг олж чадна. Нэмж дурдахад GPIO (Ерөнхий зориулалтын оролтын гаралт - оролт/гаралтын портууд) гэж нэрлэгддэг нэлээд олон оролт/гаралтын портууд байдаг. Ерөнхий зорилго), Arduino - тээглүүртэй ижил төстэй байдлаар.

Хонины Wi-Fi модуль болон Arduino руугаа буцъя. Энэ нийтлэлд би ESP8266 (загвар ESP01)-ийг Arduino Nano V3-тэй холбох талаар авч үзэх болно.

Гэхдээ, энэ мэдээлэлИхэнх ESP8266 модулиуд, мөн төрөл бүрийн Arduino хавтангуудад хамааралтай байх болно, жишээ нь хамгийн алдартай. Arduino UNO.

ESP01 хөлний талаар хэдэн үг:

VccТэгээд GND(дээрх зурган дээр эдгээр нь 8 ба 1) - хоол хүнс, хөл тус бүрт VccБаримт бичгийн дагуу ирүүлэх боломжтой, 3-аас 3.6 В хүртэл, А GND- газар (хасах хүч). Нэг хүн энэ модулийг хоёр АА батерейтай холбосон (энэ тохиолдолд тэжээлийн хүчдэл ойролцоогоор 2.7 В байсан) модуль ажиллаж байгааг би харсан. Гэсэн хэдий ч хөгжүүлэгчид модуль ажиллах баталгаатай байх ёстой хүчдэлийн хязгаарыг зааж өгсөн; хэрэв та өөр модуль ашигладаг бол энэ нь таны асуудал юм.

Анхаар! Энэ модуль нь 3.3V логик дээр суурилдаг бол Arduino нь ихэвчлэн 5V логик юм. 5 В нь ESP8266-г амархан гэмтээж болох тул Arduino-аас тусад нь тэжээх шаардлагатай.

- Миний Arduino 3.3 V гэж бичсэн хөлтэй, яагаад үүнийг ашиглаж болохгүй гэж?

Та бодох байх. Үнэн хэрэгтээ ESP8266 нь эрчим хүч их шаарддаг модуль бөгөөд оргил үедээ 200 мА хүртэл гүйдэл зарцуулж чаддаг бөгөөд Arduino Due-г эс тооцвол бараг ямар ч Arduino ийм гүйдлийг дамжуулах чадваргүй байдаг. 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 холбогдсон бөгөөд GPIO1 дээрх логик түвшин бага байх эсвэл модуль нь UART-ээр ямар нэгэн зүйл илгээх үед асдаг.

GPIO0 5 - зөвхөн I/O порт байхаас гадна модулийг програмчлалын горимд оруулах боломжтой. Энэ нь энэ портыг бага логик түвшинд холбож ("үүнийг GND руу дарах") ба модулийг тэжээлээр хангах замаар хийгддэг. Видеон дээр би үүнийг ердийн товчлуураар хийдэг. Гялалзсаны дараа холбогчийг сугалж / товчлуурыг дарахаа бүү мартаарай (анивчсан үед товчлуурыг дарах шаардлагагүй; асаалттай үед модуль програмчлалын горимд шилжиж, дахин ачаалах хүртэл хэвээр байна).

GPIO2 3 - оролт/гаралтын порт.

Бас нэг чухал зүйл бол Wi-Fi модулийн GPIO бүр юм 6мА хүртэлх гүйдлийг найдвартай дамжуулах боломжтой, үүнийг шатаахгүйн тулд оролт/гаралтын портууд дээр резисторуудыг цувралаар байрлуулахаа мартуузай... Ом-ын хуулийг санаарай R = U/I = 3.3V / 0.006 A = 550 Ом, өөрөөр хэлбэл, 560 Ом дээр. Эсвэл үүнийг үл тоомсорлож, дараа нь яагаад болохгүй байгааг гайхдаг.

ESP01-д бүх GPIO нь PWM-ийг дэмждэг тул манай дөрвөн GPIO-д, өөрөөр хэлбэл GPIO0-3-д та моторын драйвер, ala L293 / L298 холбож, хоёр мотор, жишээлбэл завь, эсвэл RGB Wi-Fi-г хийх боломжтой. Тийм ээ, тийм ээ, энэ модуль нь самбар дээр маш олон зүйлтэй бөгөөд энгийн төслүүдэд Arduino хийлч шаардлагагүй, зөвхөн анивчдаг. Хэрэв та ESP07 ашигладаг бол ерөнхийдөө портууд нь Uno-тай бараг ижил байдаг бөгөөд энэ нь Arduinoгүйгээр итгэлтэйгээр хийх боломжийг олгодог. Үнэн, нэг таагүй мөч байдаг, ESP01 нь аналог портууд огт байхгүй, ESP07 нь ADC гэж нэрлэгддэг цорын ганц порттой. Энэ нь мэдээж аналог мэдрэгчтэй ажиллахад илүү төвөгтэй болгодог. Энэ тохиолдолд Arduino аналог мультиплексор туслах болно.

Бүх зүйлийг pinout-ээр тайлбарласан бололтой, ESP8266-г Arduino Nano-д холбох диаграмм энд байна.

Arduino Nano дээрх RST болон GND зүү дээрх холбогчийг та харж байна уу? Энэ нь Arduino нь модулийн програм хангамжид саад учруулахгүйн тулд шаардлагатай бөгөөд ESP8266-г Arduino ашиглан холбох тохиолдолд энэ нь урьдчилсан нөхцөл юм.

Мөн хэрэв та Arduino-д холбогдсон бол модулийн RX нь arduino-ийн RX, TX - TX руу очих ёстой. Учир нь хөрвүүлэгч чип нь аль хэдийн Arduino тээглүүртэй хөндлөн загвараар холбогдсон байна.

Мөн модулийн RX шугамын дагуу 1 кОм ба 2 кОм эсэргүүцэл (хоёр 1 кОм резисторыг цуваа холбосноор хийж болно) -аас бүрдэх эсэргүүцэл хуваагч нь чухал юм. Учир нь Arduino нь 5 В логик, модуль нь 3.3. Энэ нь анхдагч түвшний хувиргагч болж хувирдаг. Энэ нь тэнд байх ёстой, учир нь RXD TXD модулийн хөл нь 5 В-ыг тэсвэрлэдэггүй.

Та ESP8266-г ердийн USB-UART хөрвүүлэгчээр холбосноор Arduino-гүйгээр хийх боломжтой. Arduino-д холбогдох тохиолдолд бид үндсэндээ стандарт хөрвүүлэгчийг ашигладаг usb интерфэйсүүдмөн уарт, тархийг тойрч гарах. Хэрэв та Arduino-гүйгээр хийх боломжтой бол яагаад нэмэлт мөнгө зарцуулдаг вэ? Зөвхөн энэ тохиолдолд бид модулийн RXD-ийг хөрвүүлэгчийн TXD, TXD - RXD-тэй холбодог.

Хэрэв та холболт хийх, резистор, тогтворжуулагчтай ажиллахаас залхуурсан бол NodeMcu-ийн бэлэн шийдлүүд байдаг.

Энд бүх зүйл илүү хялбар байдаг: кабелийг компьютерт холбож, драйверууд болон програмуудыг суулгаж, модулийг програмын горимд шилжүүлэхийн тулд GPIO0 дээрх холбогч / товчлуурыг ашиглахаа бүү мартаарай.

За, энэ нь онолын хувьд байж магадгүй, нийтлэл нэлээд урт байсан бөгөөд би модулийн практик хэсэг болох програм хангамж, програмчлалыг хэсэг хугацааны дараа нийтлэх болно.

ESP8266-г хэрхэн турших вэ

Дөнгөж худалдаж авсан ESP8266-г туршихын тулд танд хэрэгтэй болно.

Анхаар!ESP8266 модулийн зөвшөөрөгдөх тэжээлийн хүчдэлийн хүрээ нь 3.0-аас 3.6 вольт байна. Модульд нэмэгдсэн тэжээлийн хүчдэлийг нийлүүлэх нь ESP8266 амжилтгүй болоход хүргэдэг.

ESP8266 ESP-01-ийг туршихын тулд VCC ба CH_PD (чип идэвхжүүлэх) гэсэн гурван зүүг 3.3 вольтын тэжээлд, GND-ийг газард холбоход л хангалттай. Хэрэв танд ESP-01 байхгүй, гэхдээ өөр модуль, GPIO15 гаралттай бол GPIO15-ийг газард нь холбох шаардлагатай болно.

Хэрэв үйлдвэрийн програм хангамжийг ESP8266 модуль дээр амжилттай эхлүүлсэн бол улаан LED асна (модулийн зарим хувилбаруудад цахилгаан заагч, жишээлбэл ESP-12 байхгүй байж болно) цэнхэр LED нь хэд хэдэн удаа анивчих болно. (энэ нь TX-RX шугамаар модулиас терминал руу өгөгдөл дамжуулах үзүүлэлт бөгөөд энэ нь өөр өнгөтэй байж болно) мөн таных утасгүй сүлжээ"ESP_XXXX" нэртэй шинэ хандалтын цэг гарч ирэх бөгөөд та үүнийг дурын газраас харж болно WiFi төхөөрөмжүүд. Хандалтын цэгийн нэр нь програм хангамжийн үйлдвэрлэгчээс хамаарах ба өөр байж болно, жишээ нь AI-THINKER_AXXXXC. Хэрэв хандалтын цэг гарч ирвэл та туршилтаа үргэлжлүүлж болно, хэрэв үгүй ​​бол тэжээлийн хангамж, CH_PD, GND-г дахин шалгаж, хэрэв бүх зүйл зөв холбогдсон бол танд модуль гэмтэлтэй байх магадлалтай, гэхдээ модуль дахь програм хангамж нь стандарт бус тохиргоотой бөгөөд анивчсанаар танд туслах болно.

ESP8266-г хэрхэн хурдан холбох вэ

ESP8266 модулийг холбох, анивчуулах хамгийн бага хэрэгсэлд дараахь зүйлс орно.

Улаан - 3.3V цахилгаан хангамж

Хар - GND

Шар - ESP8266 тал дээр - RX, USB-TTL талд - TX

Ногоон - ESP8266 тал - TX, USB-TTL тал - RX

Улбар шар - CH_PD (CHIP ENABLE) - үргэлж тэжээлд холбогдсон байх ёстой

Цэнхэр - GPIO0 - модуль анивчих горимыг идэвхжүүлэхийн тулд газар руу шилжүүлэгчээр холбогдсон. Модулийг хэвийн эхлүүлэхийн тулд GPIO0-г хаана ч холбоогүй орхиж болно.

Баруун диаграмм дээр ягаан - тогтворгүй цахилгаан хангамж 5-8 вольт

4. Модулийг эхлүүлэхийн тулд GPIO0 - GND хэлхээг тасалснаар та эрчим хүч хэрэглэж болно (мөн яг ийм дарааллаар: эхлээд бид GPIO0 "агаарт өлгөгдсөн" эсэхийг шалгана, дараа нь VCC болон CH_PD-д тэжээл өгнө)

Анхаар! Дээр дурдсан, үнэндээ ажиллаж байгаа, ESP8266-г холбох жишээнүүдэд тэд ESP8266 тээглүүрүүдийг газар болон тэжээлд "шууд" холбох эсвэл "агаарт өлгөх" аргыг ашигладаг, учир нь бид хаана ч RESET холбогдоогүй байгаа нь туйлын буруу бөгөөд буруу юм. Энэ нь зөвхөн эхний хоёр туршилтад тохиромжтой боловч ихэнх модулиудад маш сайн ажилладаг. Зөвхөн VCC зүү нь цахилгаан тэжээлд "шууд" холбогдсон; үлдсэн зүү: CH_PD, RESET, GPIO0, GPIO2 нь 4.7-аас 50 кОм хүртэлх резистороор дамжуулан цахилгаан тэжээлд (VCC) татах (татах) ёстой. "Шууд" бид зөвхөн GND-ийг тэжээлийн хангамжийн сөрөг (нийтлэг утас) холбож, модулийг програм хангамжийг татаж авах горимд оруулахын тулд GND хүртэл 10к хүртэл резистороор дамжуулан GPIO0 (татах)-ыг татна. Хэрэв та ESP8266-г үргэлжлүүлэн туршихаар төлөвлөж байгаа бол бусад микроконтроллеруудтай ижил аргаар хийгээрэй. Татаж авах, татах нарийвчилсан тайлбар нь энэ нийтлэлийн хамрах хүрээнээс гадуур боловч та тайлбарыг хялбархан google-ээс хайж олох боломжтой. зөв холболторолт/гаралтын портууд. "" холболт нь танд олон "гайхамшиг" болон асуудлаас зайлсхийх боломжийг олгох бөгөөд ESP8266 модулийг эхлүүлэх эсвэл асаахад хүндрэлтэй тулгарвал зайлшгүй шаардлагатай болно.

ESP8266-г хэрхэн зөв холбох вэ

Хэрэв та ESP8266-г нэгээс олон орой ашиглахаар төлөвлөж байгаа бол илүү тогтвортой байдлыг хангах холболтын сонголт хэрэгтэй болно. Доорх хоёр холболтын диаграмм байна: програм хангамжийг автоматаар ачаалах дэмжлэгтэй, үүнгүйгээр.

ESP8266-ийн холболтын диаграмм (програмыг автоматаар ачаалахгүйгээр бид эхлээд BURN холбогчийг суулгаж, модулийг дахин ачаалснаар анивчдаг)

Програм хангамжийг автоматаар ачаалах дэмжлэг бүхий холболтын диаграмм Arduino IDE, UDK, Sming. Flash татаж авах хэрэгсэл болон XTCOM_UTIL нь RTS/DTR-г идэвхгүй болгох шаардлагатай байж магадгүй. Хэрэв RTS болон DTR-ийг идэвхгүй болгох нь танд тохиромжгүй бол хэлхээнд холбогч нэмж болно.

Эдгээр диаграммууд нь ADC болон үнэгүй GPIO-ийн холболтыг харуулаагүй болно - тэдгээрийн холболт нь таны хэрэгжүүлэхийг хүсч буй зүйлээс хамаарна, гэхдээ хэрэв та тогтвортой байхыг хүсч байвал бүх GPIO-г асаах (татах), ADC-ийг газардуулахаа бүү мартаарай. ) татах резистороор дамжуулан .

GPIO15-аас бусад тохиолдолд 10к-ийн резисторыг 4.7к-аас 50k хүртэл бусадтай сольж болно - түүний утга нь 10k хүртэл байх ёстой. Өндөр давтамжийн импульсийг жигд болгодог конденсаторын утга өөр байж болно.

Хэрэв та гүн нойрны горимыг ашигладаг бол RESET болон GPIO16-г 470 Ом-ын гүн нойрны резистороор холбох шаардлагатай: гүн нойрны горимоос гарахын тулд модуль нь GPIO16-д доод түвшнийг ашиглан өөрийгөө дахин ачаална. Энэ холболт байхгүй бол гүн нойр нь таны модульд мөнх байх болно.

Өнгөц харахад эдгээр диаграммууд нь GPIO0, GPIO2, GPIO15, GPIO1 (TX), GPIO3 (RX) нь завгүй байгаа бөгөөд та тэдгээрийг зорилгодоо ашиглах боломжгүй мэт санагдаж байгаа ч энэ нь тийм биш юм. GPIO0 ба GPIO2 дээр өндөр түвшин, GPIO15 дээр доод түвшин нь зөвхөн модулийг эхлүүлэхэд шаардлагатай бөгөөд дараа нь та тэдгээрийг өөрийн үзэмжээр ашиглаж болно, модулийг дахин ачаалахын өмнө шаардлагатай түвшинг баталгаажуулахыг санаарай.

Та TX, RX-ийг GPIO1 ба GPIO3 болгон ашиглаж болох бөгөөд модуль ажиллаж эхлэхэд ямар ч програм хангамж TX-г татаж, дибаг хийх мэдээллийг UART0 руу 74480 хурдтайгаар илгээх болно гэдгийг мартаж болохгүй, гэхдээ амжилттай ачаалсны дараа та тэдгээрийг зөвхөн UART0 болгон ашиглах боломжтой. өөр төхөөрөмжтэй өгөгдөл солилцохоос гадна ердийн GPIO шиг.

ESP-01 гэх мэт цөөн тооны утастай тээглүүр бүхий модулиудын хувьд болоогүй зүүг холбох шаардлагагүй, жишээлбэл. ESP-01 дээр зөвхөн VCC, GND, GPIO0, GPIO2, CH_PD болон RESET утастай - та зүгээр л чангална уу. ESP8266EX чип рүү шууд гагнах, чиглүүлээгүй тээглүүр татах шаардлагагүй, зөвхөн танд хэрэгтэй бол.

Эдгээр холболтын диаграммууд нь манай форумын гишүүдийн хийсэн олон туршилтын үр дүнд бий болсон бөгөөд манай нийгэмлэгийн тархай бутархай, анхандаа хүртээмжгүй баримт бичгүүдээс бага багаар цуглуулсан тул би энэ мэдлэгийг нэг дор нэгтгэхийг хичээсэн. Та олон холболтын зөвлөмжийг олох болно. Тэнд та сонирхсон эсвэл олж мэдсэн асуултаа асууж болно. Хэрэв та энэ нийтлэлд алдаа, алдаа, эсвэл нэмэх зүйл байвал .

Анхаар! Эдгээр схемүүдийг хүртэл "хамгийн тохиромжтой" гэж нэрлэж болохгүй. Төгс төгөлдөрт хязгаар байхгүй: хоёрдахь USB-TTL-ийг UART1-д холбоход тохиромжтой (ESP8266-ийн тусламжтайгаар та дибаг хийх терминалыг холбохын тулд зөвхөн GND болон UTXD1, өөрөөр хэлбэл GPIO2-г авч болно) (таньд хоёр дахь USB-TTL хөрвүүлэгч хэрэгтэй болно) - Дараа нь та UART1 дээрх дибаг хийх терминалыг идэвхгүй болгохгүйгээр ESP8266 модулийг UART0-аар асааж болно. Жижиг резисторуудыг хоёр UART-ийн тээглүүртэй холбож, RTS шугамд диод тавих, бага давтамжийн импульсийг чийгшүүлэхийн тулд цахилгаан шугамд конденсатор нэмэх гэх мэтийг хийх нь зүйтэй. Жишээлбэл, энэ дибаг хийх самбар дээр үүнийг хийхэд маш тохиромжтой: LED нь бүх GPIO-д холбогдсон, фоторезистор нь ADC-д холбогдсон, гэхдээ RESET товчлуур байхгүй, GPIO0 дээр ганц холбогч байгаа нь харамсалтай.

Нэгэн зэрэг идеал гэж байхгүй гэж хэлэх нь зөв байх бүх нийтийн схем ESP8266 холболтууд. Гол нь таны байршуулах гэж буй програм хангамжаас их зүйл шалтгаална. Дээрх диаграммууд нь ESP8266-г туршилтаар эзэмшиж эхэлж буй эхлэгчдэд зориулагдсан болно. Бодит төслүүдийн хувьд диаграммыг бага зэрэг өөрчлөх шаардлагатай байж магадгүй юм. Жишээлбэл, та RTS-ийг GPIO15-д, CTS-ийг GPIO13-д холбох хэрэгтэй. Би бас бодит төслүүдэд хоол тэжээлд онцгой анхаарал хандуулахыг зөвлөж байна.

ESP8266-г Arduino-ээр холбож байна

Хэрэв танд 3.3V USB-TTL хувиргагч байхгүй ч суулгасан USB-TTL хөрвүүлэгчтэй Arduino байгаа бол та энэ холболтын диаграммыг ашиглаж болно.

Юуг анхаарах вэ:

1. Arduino Reset нь GND (цэнхэр утас) -д холбогдсон тул Arduino дээрх микроконтроллер ажиллахгүй, энэ хэлбэрээр бид Arduino-г ил тод USB-TTL хөрвүүлэгч болгон ашигладаг.

2. RX болон TX нь хөндлөн огтлолцоогүй, харин шууд - RX - RX (ногоон), TX - TX (шар)

3. Бусад бүх зүйл өмнөх жишээнүүдийн нэгэн адил холбогдсон байна

Анхаар! Энэ хэлхээ нь мөн Arduino дээрх 5 вольт, ESP8266 дээрх 3.3 вольтын TTL түвшинг тохируулахыг шаарддаг боловч энэ нь сайн ажилладаг.

Анхаар!Arduino нь ESP8266-д шаардагдах гүйдлийг тэсвэрлэхгүй цахилгаан тогтворжуулагч суурилуулсан байж магадгүй тул холболт хийхээсээ өмнө суулгасан тогтворжуулагчийн мэдээллийн хуудаснаас шалгана уу. Arduino-ийн суурилуулсан цахилгаан зохицуулагчийг гэмтээх эрсдэлтэй тул бусад эрчим хүч зарцуулдаг бүрэлдэхүүн хэсгүүдийг ESP8266-тай зэрэг холбож болохгүй.

Цуваа порт руу холбогдоход бага зэрэг ид шид шаардагдана: ESP8266-д зориулсан олон төрлийн програм хангамжийн улмаас холболтыг дараах дээр хийж болно. өөр өөр хурдтай. Шаардлагатай хурдыг 9600, 57600, 115200 гэсэн гурван сонголтоор хайж олоход л болно. Хэрхэн хайх вэ? Дараах параметрүүдийг тохируулах замаар терминалын программ дахь виртуал цуваа порттой холбогдоно уу: 9600 8N1, дараа нь CH_PD (чип идэвхжүүлэх) -ийг тэжээлийн эх үүсвэрээс салгаж (USB-TTL USB-д холбогдсон хэвээр) модулийг дахин асааж (жишээ нь. зүгээр л CH_PD-г асаана уу, яагаад бид хүчийг гажуудуулж болохгүй гэж - уншина уу, та модулийг дахин ачаалахын тулд газар руу богино холболт хийж болно) болон терминал дахь өгөгдлийг ажиглаарай. Нэгдүгээрт, ESP8266 дээрх LED нь нийтлэлийн эхэнд дурдсанчлан асах ёстой. Хоёрдугаарт, терминал дээр "бэлэн" гэсэн мөрөөр төгссөн өөр өөр тэмдэгтүүдийн "хог" харагдах ёстой. Хэрэв бид "бэлэн" гэж харахгүй бол бид өөр хурдтайгаар терминалтай холбогдож модулийг дахин ачаална.

"Бэлэн" хурдны сонголтуудын аль нэгэнд та харах болно - баяр хүргэе, таны модуль ашиглахад бэлэн байна. Хэрэв үгүй ​​​​бол тавтай морилно уу - бид туслахыг хичээх болно, гэхдээ эхлээд уншаарай.

"Хог"-ын талаар бага зэрэг илүү. Програм хангамж ажиллаж эхлэхэд ESP8266 модулийн UART нь 74,880 дамжуулах хурд руу шилжиж (тэдгээр хятадууд үнэхээр хөгжилтэй), дибаг хийх мэдээллийг UART руу гаргаж, портын хурдыг 115200 (эсвэл 9600 эсвэл 57600, програм хангамжийн хувилбараас хамааран) , тиймээс энэ дибаг хийх мэдээлэл нь бидэнд хог мэт харагддаг, учир нь Бид модульд өөр хурдаар холбогддог. Та ESP8266-д 74,880 хурдтайгаар (энэ хурдыг дэмждэг) холбогдож болох бөгөөд та энэ дибаг хийх мэдээллийг харах болно, энэ нь иймэрхүү байх болно:

wdt дахин тохируулах ачаалал 0x40100000, len 25052, өрөө 16 сүүл 12 chksum 0x0b хо 0 сүүл 12 өрөө 4 ачаалал 0x3ffe8000, len 3312, өрөө 12 сүүл 4 chksum 0x53ffe 0x53ffe82, өрөө 0x53ffe82 chksum 0x0d cs um 0x0d

wdt дахин тохируулах

ачаалал 0x40100000 , len 25052 , 16 тоот

сүүл 12

chksum 0x0b

хо 0 сүүл 12 өрөө 4

ачаалал 0x3ffe8000 , len 3312 , өрөө 12

Цаашид яах вэ

Хэрэв танд шинэ модуль байгаа бол энэ нь хуучин AT програм хангамжийн аль нэгээр анивчсан байх магадлалтай. Магадгүй энэ нь AI-THINKER AT v0.16 SDK v0.9.2 хувилбар юм. Та "AT+GMR" командыг ашиглан програмын хувилбарыг шалгаж болно, жишээлбэл. шууд терминалын программ дээр хашилтгүйгээр AT+GMR гэж бичээд Enter дарна уу. Модуль нь "OK" гэж хариулж, програмын хувилбарыг харуулах ёстой (жишээлбэл, "0016000092" - дотор өөр өөр хувилбарууд AT програм хангамжийн хувилбарын гаралтын формат өөр байна). ESP8266 модулийг AT командын тусламжтайгаар удирдах нь тусдаа нийтлэл байх ёстой, гэхдээ та AT командын талаархи манай лавлах номнуудын аль нэгийг ашиглан өөрөө амархан олж мэдэх боломжтой.

Энэ нийтлэлийг бичиж байх үед ESP8266-ийн одоогийн програм хангамжийн хувилбар нь:

ESP8266 програм хангамжийн шинэчлэл

ESP8266 модуль нь тусгай програмист шаарддаггүй гэдгээрээ гайхалтай юм - програм хангамж нь ESP8266 модулийг компьютерт холбосон төхөөрөмж дээр шинэчлэгдсэн байдаг. мөн USB-TTL хөрвүүлэгч (эсвэл Arduino эсвэл RPi) ашиглан. ESP8266 модуль дээрх програм хангамжийг шинэчлэхийн тулд дараах зүйлийг хийнэ үү.

1. Татаж авах шинэ хувилбархэсгээс манай вэбсайтаас програм хангамж (энэ нийтлэлийг бичих үед холбоосыг эндээс авна уу)

2. Үйлдлийн системээсээ хамааран ESP8266 анивчдаг хэрэгслүүдийн аль нэгийг манай вэб сайтын хэсгээс татаж аваарай.

RemoteXY-тэй ажиллахын тулд ESP8266 модуль нь v0.40-ээс багагүй AT командуудыг дэмждэг програм хангамжийн хувилбартай байх ёстой. Модулийн хувилбарыг шалгах, шаардлагатай бол програм хангамжийг өөрчлөхийн тулд модулийг цуваа портоор дамжуулан компьютерт холбоно уу. Модулийг дамжуулан холбож болно Arduino самбарэсвэл USB-UART адаптераар дамжуулан.

Arduino самбараар дамжуулан холболт

Arduino-г ашиглах үед үндсэн ATmega чипийг дахин тохируулах горимд оруулдаг бөгөөд зөвхөн суурилуулсан USB-UART хөрвүүлэгч идэвхтэй хэвээр байна. Үүнийг хийхийн тулд RESET контакт нь газартай холбогдсон байна. RX болон TX тээглүүрүүд нь хянагчтай ажиллахын тулд хөндлөн огтлолцохоос илүү ESP8266-тай шууд холбогддог.

USB-UART адаптераар холбогдсон

Хөрвүүлэгч нь ESP8266-г тэжээхийн тулд 3.3V эх үүсвэрийн гаралттай байх ёстой. Мөн энэ эх үүсвэр нь дор хаяж 200 мА шаардлагатай гүйдлийг хангах ёстой.



CPIO0 контакт нь модулийн ажиллах горимыг тодорхойлдог. Контакт холбогдоогүй үед модуль нь хэвийн горимд ажиллаж, AT командуудыг гүйцэтгэдэг. Холбоо барих газар хаагдах үед модуль нь програм хангамжийг шинэчлэх горимд шилждэг. Модулийг програм хангамжийн горимд шилжүүлэхийн тулд модульд тэжээл өгөх үед CPIO0 зүүг газард холбох шаардлагатай. Хэрэв та модуль ажиллаж байх үед контактыг хаавал модуль нь програм хангамжийг шинэчлэх горимд шилжихгүй.

Одоогийн хувилбарыг шалгаж байна

AT командыг илгээж, хариултыг харахын тулд та ямар ч хяналтын програмыг ашиглах ёстой цуваа порт. Arduino IDE-ийн терминалын програм маш сайн ажилладаг. Программыг арын шугамын тэжээл, буцах тэмдэгт бүхий тушаалуудыг илгээхээр тохируулсан байх ёстой. Анхдагч модулийн ажиллах хурд нь 115200 bps байна. Модуль хэвийн горимд ажиллахын тулд CPIO0 контактыг идэвхгүй болгох шаардлагатай.

Та AT командыг ажиллуулснаар програмын одоогийн хувилбарыг шалгаж болно: AT+GMR. Модулийн хариултын жишээ:

AT хувилбар:0.40.0.0(2015 оны 8-р сарын 8 14:45:58)
SDK хувилбар: 1.3.0

Барилга: 1.3.0.2 2015 оны 9-р сарын 11 11:48:04
БОЛЖ БАЙНА УУ

Мөн модулийн флаш санах ойн хэмжээг олж мэдэх нь зүйтэй бөгөөд програм хангамжийг шинэчлэх үед өгөгдөл татаж авах хаягийн тохиргоо үүнээс хамаарна. Энэхүү гарын авлагад 8Mbit(512KB+512KB) эсвэл 16Mbit(1024KB+1024KB) хэмжээтэй флаш санах ойтой модулийн программ хангамжийг хамгийн түгээмэл гэж тодорхойлсон. Флэш санах ойн хэмжээг модулийг дахин тохируулах AT командыг гүйцэтгэх замаар олж болно: AT+RST.

2013 оны 1-р сарын 8, эхний шалтгаан: 2, ачаалах горим: (3,1)

Ачаалах 0x40100000, len 1396, өрөө 16
сүүл 4
chksum 0x89
0x3ffe8000, len 776, 4-р өрөөг ачаална уу
сүүл 4
chksum 0xe8
0x3ffe8308, len 540, 4-р өрөөг ачаална уу
сүүл 8
chksum 0xc0
csum 0xc0

2-р ачаалах хувилбар: 1.4(b1)
SPI хурд: 40MHz
SPI горим: DIO
SPI Flash хэмжээ ба газрын зураг: 8Mbit(512KB+512KB)
user1 @ 1000-г ажиллуулахын тулд үсрэх

#t#n"rtc санах ойн өгөгдлийг ашиглахгүй
slЏ‚rlМя
Ai-Thinker Technology Co.,Ltd.

Програм хангамжийн програм

Програм хангамжийг шинэчлэхийн тулд та програм хангамжийн програм болон програм хангамжийг өөрөө татаж авах хэрэгтэй. ESP8266-г анивчуулах програм нь Espressif Systems-ийн албан ёсны вэбсайтаас Flash Download Tools v2.4-ийг ашиглах болно. Албан ёсны вэбсайтаас татаж авах хуудасны холбоос: . Та "Хэрэгслүүд" хэсэгт очих хэрэгтэй.

Манай файлын сан дахь програмын холбоос: FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar

Програм хангамж

Програм хангамжийг албан ёсны вэбсайтаас татаж авах боломжтой. Албан ёсны вэбсайтаас татаж авах хуудасны холбоос: . Та "SDKs & Demos" хэсэгт очиж ESP8266 NONOS SDK программын хувилбарыг v1.3.0-аас доошгүй татаж авах хэрэгтэй. Энэ програм хангамжийн хувилбараар v0.40 болон түүнээс хойшхи AT командуудыг дэмждэг.

Манай файлын сан дахь програм хангамжийн холбоос: esp8266_nonos_sdk_v1.4.0_15_09_18_0.rar

Татаж авсан бүх файлыг задалж, файл руу орох бүрэн зам нь зөвхөн латин тэмдэгтээс бүрдэх, өөрөөр хэлбэл хэлний нутагшуулах тэмдэгтгүй лавлахад байрлуулах ёстой.

Тохиргоо

Програмыг ажиллуулна уу Flash програм хангамжХэрэгсэл v2.4 (ижил нэртэй файл) татаж авах. Нээгдсэн цонхонд та татаж авсан файлууд болон холболтын тохиргоог зөв зааж өгөх ёстой.


Татаж авсан файлууд нь програм хангамжийн хамт архивын хогийн санд байрладаг. Файл бүрийн хувьд та зөв татаж авах хаягийг зааж өгөх ёстой. Дараах хүснэгтийг ашиглан файл сонгох, хаяг оноох.

Дараах тохиргоог хийнэ үү:

  • SPIAutoSet - суулгасан;
  • CrystalFreq - 26M;
  • Флаш санах ойн хэмжээнээс хамааран 8Mbit эсвэл 16Mbit хэмжээтэй;
  • COM PORT – ESP холбогдсон портыг сонгоно уу;
  • BAUDRATE - 115200

Програм хангамжийг эхлүүлэхийн тулд та "START" товчийг дарах ёстой.

ESP8266 програм хангамжийг анивчуулах алхамуудын дараалал

1. Энэ нийтлэл дэх холболтын схемийн дагуу модулийг компьютерт холбоно уу.

2. Цуваа портын мониторыг эхлүүлнэ үү. Тодорхойлохын тулд AT+RST болон AT+GMR командуудыг өгнө одоогийн хувилбарпрограм хангамж болон модулийн санах ойн хэмжээ. Энэ алхам нь модулийг зөв холбосон эсэхийг шалгах боломжийг танд олгоно.

3. Flash Download Tools програм хангамжийн програмыг ажиллуулж, татаж авсан файлуудыг зөв тохируулж, тохиргоог хийнэ үү.

4. ESP8266 модулийн хүчийг унтраа.

5. CPIO0 зүүг газард холбоно уу.

6. ESP8266 модульд тэжээл өгнө.

7. Програм хангамжийн програмын START товчийг дарна уу

8. Модулийн програм хангамж дуусах хүртэл хүлээнэ үү. Програм хангамж дуусмагц FINISH гэсэн мессеж ногоон өнгөөр ​​гарч ирнэ.

9. ESP8266 модулиас тэжээлийг салга. CPIO0 зүүгээс газрыг салга.

10. Модулийг асааж, цуваа портын мониторыг эхлүүлнэ үү. AT+GMR командыг ажиллуулснаар модуль болон шинэ програм хангамжийн хувилбар ажиллаж байгаа эсэхийг шалгаарай.

Wi-Fi модуль ESP-01 нь ESP8266 цувралын хамгийн алдартай модуль юм. Компьютер эсвэл микроконтроллертой холбоо тогтоох нь AT командын багцыг ашиглан UART-ээр хийгддэг. Нэмж дурдахад модулийг бие даасан төхөөрөмж болгон ашиглаж болох бөгөөд үүнийг хийхийн тулд та өөрийн програм хангамжийг ачаалах хэрэгтэй. Та 1.6.5-аас дээш Arduino IDE хувилбараар дамжуулан программ хангамжийг програмчилж, татаж авах боломжтой. Модулийн програмыг асаахын тулд танд UART-USB адаптер хэрэгтэй болно. ESP-01 модулийг IoT (Internet of Things) төхөөрөмжид өргөнөөр ашиглаж болно.

Үзүүлэлтүүдмодуль

  • Wi-Fi 802.11 b/g/n
  • WiFi горимууд: үйлчлүүлэгч, хандалтын цэг
  • гаралтын хүч- 19.5 дБ
  • Нийлүүлэлтийн хүчдэл - 1.8 -3.6 В
  • Одоогийн хэрэглээ - 220 мА
  • GPIO портууд: 4
  • Цагийн давтамжпроцессор - 80 МГц
  • Кодын санах ойн багтаамж
  • RAM- 96 КБ
  • Хэмжээ - 13х21 мм

Холболт

AT командын горимыг авч үзье. Үүнийг хийхийн тулд модулийг USB-UART адаптераар дамжуулан компьютерт холбоно уу. Модулийн тээглүүрүүдийн зорилго (1-р зургийг үз):
  • VCC - +3.3 В
  • GND - газар
  • RX, TX - UART зүү
  • Гаралт CH_PD - Чип идэвхжүүлэх
  • GPIO0, GPIO2 - дижитал контактууд
Модуль нь шаарддаг гадаад цахилгаан хангамж 3.3 В.

Зураг 1. ESP-01 модулийн зүү хуваарилалт

AT командын горимд модультай холбогдох холболтын диаграмм (Зураг 2):

Зураг 2. ESP-01 модулийг компьютерт цуваа портоор холбох диаграмм

Зураг 3. Угсралтын хэлхээ

Mac OS X дээр AT командуудыг илгээхийн тулд үйлдлийн систем дэх CoolTerm програмыг ашиглаж болно Windows програмТермит. Та модульд холбогдох COM портын хурдыг зөвхөн туршилтаар олж мэдэх боломжтой бөгөөд энэ нь өөр өөр програм хангамжийн хувьд өөр байж болно. Миний модулийн хувьд хурд нь 9600 бауд болсон. Нэмж дурдахад CH_PD зүүг салгаж, цахилгаан тэжээлд залгасны дараа л солилцоог бий болгох боломжтой байв. Холбосны дараа терминал дээр AT гэж бичээд модулиас OK гэсэн хариуг хүлээн авна. AT+GMR команд нь модулийн програм хангамжийн хувилбарын дугаарыг өгдөг бол AT+RST тушаал нь модулийг дахин ачаална (4-р зургийг үз). AT үндсэн командуудын жагсаалтыг энэ баримтаас (ESP8266ATCommandsSet.pdf) олж болно.

Зураг 4. Термитээс AT командуудыг модуль руу илгээж байна

Хэрэв AT командын горим танд тохиромжгүй бол самбарыг AppStack ESP8266 Config програмыг ашиглан тохируулах боломжтой бөгөөд үүнийг http://esp8266.ru/download/esp8266-utils/ESP8266_Config.zip холбоосоос татаж авах боломжтой. Гадаад төрхХөтөлбөрийг Зураг 5-д үзүүлэв. Модуль ашиглан тохируулсан GUI, командын гүйцэтгэлийг програмын дэлгэц дээр харж болно (6-р зургийг үз). Монитор нь командын мөрөөс AT командуудыг илгээх боломжтой.

Зураг 5. AppStack ESP8266 Config програм

Зураг 6. AppStack ESP8266 Config програмын цуваа монитор

Энэ модулийг ашиглах хоёр сонголт байна:

  • модулийг UART-ээр удирддаг микроконтроллертой (жишээлбэл Arduino) хамт;
  • ESP8266-г бие даасан төхөөрөмж болгон ашиглахын тулд өөрийн програм хангамжийг бичнэ үү.

Хэрэглээний жишээ

DHT11 чийгшил, температур мэдрэгчийг ESP-01 модульд холбож, өгөгдөл илгээх жишээг харцгаая. үүлэн үйлчилгээ ThingSpeak (https://thingspeak.com/). Бидэнд дараах хэсгүүд хэрэгтэй болно.
  • модуль ESP-01
  • талхны хавтан
  • чийгшил ба температур мэдрэгч DHT11
  • эсэргүүцэл 10 кОм
  • холбох утас
  • цахилгаан хангамж 3 - 3.6V
Эхлээд DS18B20 мэдрэгчийг ESP-01 модульд холбоно. DS18B20 нь нэг утастай 1 утастай интерфейсээр ажилладаг дижитал температур мэдрэгч юм. DS18B20 мэдрэгчийг модультай холбох диаграммыг Зураг дээр үзүүлэв. 7.

Зураг 7. DHT11 мэдрэгчийг ESP-01 модултай холбох диаграмм.

Дараа нь та ThingSpeak үйлчилгээнд профайл үүсгэх хэрэгтэй. Энэ үйлчилгээ нь үйлчилгээнд өгөгдөл илгээх, үйлчилгээнээс өгөгдөл хүлээн авах заавартай байдаг.

Зураг 8. Бүрэн хэлхээ.

Бид програмаа бичнэ Arduino орчин ESP8266-д зориулсан IDE. Бид ESP8266WiFi.h (сууригдсан) болон OneWire.h сангуудыг ашиглах болно. Жагсаалт 1-ийн ноорог зургийг Arduino самбарт байршуулъя - температур мэдрэгчээс өгөгдлийг хүлээн авч, ThingSpeak үйлчилгээ рүү өгөгдлийг илгээнэ үү. Та өөрийн мэдээллээ оруулах ёстой WiFi цэгүүд ESP-01 модулийн хандалт:

  • const char *ssid;
  • const char *нууц үг;
түүнчлэн ThingSpeak үйлчилгээн дэх таны хэрэглээний хувийн түлхүүрийн параметр. Жагсаалт 1 // вэб сайт // esp8266 #include-тэй ажиллах номын санг оруулна уу // DHT11 #include-тэй ажиллахын тулд DHT номын санг оруулна уу // өгөгдлийн зүү холболтын зүү # DHTPIN 4-ийг тодорхойлох // DHT11 мэдрэгч # DHTTYPE DHT11-ийг тодорхойлох // DHT объектын жишээ үүсгэх DHT dht(DHTPIN, DHTTYPE); //ssid WiFi сүлжээнүүдхолболтууд const char ssid = "********"; // WiFi нууц үгхолболтын сүлжээ const char нууц үг = "********"; // ThingSpeak Server const char* хост = "184.106.153.149"; // Таны ThingSpeak програмын API KEY const char* privateKey = "****************"; // температур, чийгшлийн температурыг хадгалах хувьсагч; хөвөх чийгшил // хэмжилтийн интервалын хувьсагч unsigned long millis_int1=0; void setup() ( // цуваа портыг эхлүүлэх Serial.begin(115200); delay(10); Serial.print("WiFi-д холбогдох"); Serial.println(ssid); // WiFi WiFi.begin(-ээр холбогдоно уу) ssid , нууц үг); while (WiFi.status() != WL_CONNECTED) ( саатал(500); ) Serial.println("WiFi холбогдсон"); // эхлүүлэх dht dht.begin(); ) хүчингүй давталт() ( / / 10 минутын завсарлага хүлээх хэрэгтэй if(milis()-millis_int1>=10*60000) ( Serial.print("ThingSpeak-д холбогдох"); Serial.println(хост); // WiFi клиент WiFiClient клиентийг ашиглах; хэрэв бол (!client.connect (host, 80)) ( Serial.println("холболт амжилтгүй болсон"); буцах; ) // температурын өгөгдлийг авах temp = get_data_temperature(); humidity = get_data_humidity(); // Хүсэлт бүхий URL үүсгэх серверийн хувьд String url = "/ update?key="; url += privateKey; url += "&temp="; url += temp; url += "&humidity="; url += чийглэг; // Хүсэлт илгээх сервер рүү клиент.print(String(" GET ") + url + " HTTP/1.1\r\n" + "Хост: " + хост + "\r\n" + "Холболт: хаах\r\n\r \n"); саатал(10); // ThingSpeak серверийн хариу үйлдэл while(client.available())( String req = client.readStringUntil("\r"); Serial.print(req); ) ) ) Одоо ThingSpeak үйлчилгээнд бид уншилтын графикийг харж болно. Манай DHT11 температур мэдрэгч (Зураг 9).

Зураг 9. ThingSpeak үйлчилгээний DS18B20 температур мэдрэгчийн заалтуудын график.

Түгээмэл асуултууд

1. Модуль хариу өгөхгүй байнаAT командууд
  • Модуль зөв холбогдсон эсэхийг шалгах;
  • Rx, Tx контактуудын UART-USB адаптертай зөв холболтыг шалгах;
  • CH_PD зүүний холболтыг 3.3 В-т шалгана уу;
  • Цуваа порт дээр холболтын хурдыг туршилтаар сонгоно.
2. ESP-01 модуль нь мэдрэгчээс температурын өгөгдлийг хүлээн авдаггүйDHT11
  • DHT11 мэдрэгч модульд зөв холбогдсон эсэхийг шалгана уу.
3. ThingSpeak үйлчилгээ рүү өгөгдөл дамжуулахгүй
  • WiFi хандалтын цэгтэй модулийн холболтыг шалгана уу;
  • WiFi хандалтын цэгийн интернет холболтыг шалгах;
  • ThingSpeak үйлчилгээний хүсэлт зөв эсэхийг шалгана уу.

Олон хэрэглэгчид Espressif-аас гаргасан ESP8266-12 чип дээр анхаарлаа хандуулсан байна. Түүний өртөг нь стандарт Bluetooth адаптерийн самбартай харьцуулахад хамаагүй хямд бөгөөд жижиг хэмжээтэй хэдий ч илүү их чадавхитай байдаг. Одоо бүх гэрийн хоббичид ажиллах боломжтой болсон Wi-Fi сүлжээнүүднэг дор хоёр горимд, өөрөөр хэлбэл компьютерээ дурын хандалтын цэгүүдтэй холбож эсвэл ийм цэг болгон асаана уу.

Нөгөөтэйгүүр, ийм самбар нь зөвхөн Wi-Fi холболтод зориулагдсан бамбай биш гэдгийг та зөв ойлгох хэрэгтэй. ESP8266 нь өөрөө UART, GPIO, SPI интерфейстэй микроконтроллер бөгөөд өөрөөр хэлбэл бүрэн бие даасан төхөөрөмж болгон ашиглах боломжтой. Энэхүү чипийг гаргасны дараа олон хүн үүнийг жинхэнэ хувьсгал гэж нэрлэж байсан бөгөөд цаг хугацаа өнгөрөхөд ийм төхөөрөмжүүдийг бүр хамгийн ихээр суулгаж эхэлнэ. энгийн төрлүүдтехнологи, гэхдээ одоогоор төхөөрөмж нь харьцангуй шинэ бөгөөд түүнд зориулсан тогтвортой програм хангамж байхгүй байна. Дэлхий даяар олон мэргэжилтнүүд өөрсдийн програм хангамжийг зохион бүтээхийг оролдож байна, учир нь тэдгээрийг самбарт байршуулах нь үнэндээ тийм ч хэцүү биш боловч янз бүрийн бэрхшээлийг үл харгалзан төхөөрөмжийг аль хэдийн ажилд тохиромжтой гэж нэрлэж болно.

Одоогийн байдлаар энэ модулийг ашиглах хоёр л сонголтыг авч үзэж байна:

  • Самбарыг нэмэлт микроконтроллер эсвэл UART-ээр дамжуулан модулийг удирдах компьютертэй хослуулан ашиглах.
  • Чипэнд зориулсан програм хангамжийг бие даан бичих нь хожим үүнийг бие даасан төхөөрөмж болгон ашиглах боломжийг олгодог.

Бид бодох нь зүйн хэрэг бие даасан програм хангамжэнэ тохиолдолд бид тэгэхгүй.

Ашиглахад хялбар байдлыг харахад болон сайн шинж чанарууд, олон микроконтроллеруудын дунд олон хүмүүс ESP8266 загварыг илүүд үздэг. Холболт ба програм хангамжийн шинэчлэлт энэ төхөөрөмжийнЭнэ нь маш энгийн бөгөөд боломжийн үнэтэй бөгөөд тухайн төхөөрөмжийг компьютерт холбосон техник хангамж дээр үйлдвэрлэгддэг. Өөрөөр хэлбэл, USB-TTL хөрвүүлэгчээр эсвэл хэрэв хэн нэгэн холболтын бусад сонголтыг илүүд үздэг бол үүнийг RPi болон Arduino ашиглан хийж болно.

Хэрхэн шалгах вэ?

Шинээр худалдаж авсан төхөөрөмжийн ажиллагааг шалгахын тулд 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 кабель;
  • PL2303, FTDI эсвэл ижил төстэй чип дээр суурилсан USB-TTL хөрвүүлэгч. Хамгийн сайн сонголт бол RTS болон DTR-ийг USB-TTL адаптер руу гаргах явдал юм, учир нь үүний ачаар та GPIO0-г гараар газардуулах шаардлагагүйгээр зарим UDK, Arduino IDE эсвэл Sming-ээс програм хангамжийг нэлээд хурдан ачаалах боломжтой.

Хэрэв та 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 вольтоос хамаагүй бага байж болно.

Хэрэв та 3.3 вольтын USB-TTL хувиргагч ашиглаж байгаа бол модулийг доорх зургийн зүүн талд байгаа шиг холбоно уу. Хэрэв та зөвхөн таван вольтын USB-TTL ашигладаг бол зургийн баруун талд анхаарлаа хандуулаарай. Тусдаа тэжээлийн эх үүсвэр ашигладаг тул зөв хэлхээ нь илүү үр дүнтэй мэт санагдаж болох ч үнэн хэрэгтээ 5 вольтын USB-TTL хөрвүүлэгчийг ашиглах тохиолдолд үүнийг хийх нь зүйтэй юм. Гурван вольтын болон таван вольтын логик түвшний тохирлыг хангах нэмэлт резистор хуваагч эсвэл зүгээр л түвшний хувиргах модулийг ашиглана.

Холболтын онцлог

Баруун талын зурагт энэ модулийн UTXD (TX), мөн URXD (RX)-ийг таван вольтын TTL логиктой холбохыг харуулсан бөгөөд ийм процедурыг зөвхөн таны эрсдэл, эрсдэлээр гүйцэтгэдэг. ESP8266-ийн хувьд модуль нь зөвхөн 3.3 вольтын логикоор үр дүнтэй ажилладаг гэж тайлбарласан байна. Ихэнх тохиолдолд, таван вольтын логикоор ажиллаж байсан ч тоног төхөөрөмж эвдэрч чадахгүй, гэхдээ ийм нөхцөл байдал хааяа тохиолддог тул ийм холболт хийхийг зөвлөдөггүй.

Хэрэв танд тусгай зориулалтын 3.3 вольтын USB-TTL хөрвүүлэгч ашиглах боломж байхгүй бол резистор хуваагч ашиглаж болно. Зөв зураг дээр 1117 цахилгаан тогтворжуулагч нь нэмэлт утасгүйгээр холбогдсон бөгөөд энэ нь үнэхээр ажиллаж байгаа технологи боловч конденсаторын утастай 1117 холболтын диаграммыг ашиглах нь дээр гэдгийг тэмдэглэх нь зүйтэй - та үүнийг шалгах хэрэгтэй. тогтворжуулагчийнхаа ESP8266 мэдээллийн хуудас эсвэл бүрэн ашигла бэлэн модуль, 1117 суурь дээр үндэслэсэн.

Модулийг эхлүүлэхийн тулд та GPIO0-TND хэлхээг нээх хэрэгтэй бөгөөд үүний дараа та хүчийг ашиглаж болно. Бүх зүйлийг яг ийм дарааллаар хийх хэрэгтэй гэдгийг тэмдэглэх нь зүйтэй, өөрөөр хэлбэл эхлээд GPIO0 "агаарт өлгөөтэй" байгаа эсэхийг шалгаад зөвхөн дараа нь CH_PD болон VCC-д тэжээл өгнө.

Хэрхэн зөв холбох вэ?

Хэрэв та ESP8266 модулийг зөв холбохын тулд нэгээс олон үдшийг зарцуулж чадвал илүү тогтвортой сонголтыг ашиглаж болно. Дээрх диаграммд та холболтын сонголтыг харж байна автомат татаж авахпрограм хангамж.

Дээрх зураг нь үнэгүй GPIO эсвэл ADC-ийн хэрэглээг харуулаагүй бөгөөд тэдгээрийн холболт нь таны яг юу хэрэгжүүлэхийг хүсч байгаагаас шууд шалтгаална гэдгийг тэмдэглэх нь зүйтэй, гэхдээ хэрэв та тогтвортой байдлыг хангахыг хүсч байвал бүх GPIO-г цахилгаан болон ADC-д татахаа мартуузай. татах резистор ашиглан газардуулга.

Шаардлагатай бол GPIO15-аас бусад тохиолдолд 10к резисторыг 4.7к-оос 50k хүртэл өөр ямар ч резистороор сольж болно, учир нь түүний утга нь 10к-аас ихгүй байх ёстой. Өндөр давтамжийн долгионыг жигд болгодог конденсаторын утга нь арай өөр байж болно.

RESET болон GPIO16-г 470 Ом гүн нойрны резистор ашиглан холбох нь тохирох горимыг ашиглах үед шаардлагатай болж магадгүй, учир нь гүн нойрны горимоос гарахын тулд модуль нь GPIO16-д доод түвшнийг ашиглан бүрэн дахин ачаалдаг. Эзгүй хамт энэ холболтоосТаны модулийн гүн нойрны горим үүрд үргэлжлэх болно.

Эхлээд харахад GPIO0, GPIO1 (TX), GPIO2, GPIO3 (RX) болон GPIO15 завгүй байгаа тул та тэдгээрийг зорилгодоо ашиглах боломжгүй юм шиг санагдаж болох ч үнэн хэрэгтээ энэ нь тийм ч их биш юм. GPIO0 ба GPIO2 дээр хангалттай өндөр түвшин, мөн GPIO15 дээр бага түвшин нь зөвхөн модулийг анх эхлүүлэхэд шаардлагатай байж болох бөгөөд ирээдүйд та тэдгээрийг өөрийн үзэмжээр ашиглаж болно. Анхаарах ёстой цорын ганц зүйл бол тоног төхөөрөмжөө бүрэн дахин тохируулахын өмнө шаардлагатай түвшинг баталгаажуулахыг санах явдал юм.

Та мөн TX, RX-ийг GPIO1 ба GPIO3-ийн өөр хувилбар болгон ашиглаж болно, гэхдээ модуль ажиллаж эхэлсний дараа програм хангамж бүр TX-г "татаж" эхлэхийн зэрэгцээ дибаг хийх мэдээллийг UART0 руу 74480 хурдтайгаар илгээдэг гэдгийг бүү мартаарай. Татаж авах нь амжилттай болох тул тэдгээрийг өөр төхөөрөмжтэй өгөгдөл солилцохын тулд UART0 хэлбэрээр ашиглахаас гадна стандарт GPIO болгон ашиглах боломжтой.

Цөөн тооны утастай тээглүүртэй модулиудын хувьд (жишээ нь, ESP-01) болиулсан зүүг холбох шаардлагагүй, өөрөөр хэлбэл зөвхөн GND, CH_PD, VCC, GPIO0, GPIO2 болон RESET-г ESP-01 дээр холбодог. , эдгээр нь танд хэрэгтэй зүйл юм чангатгах хэрэгтэй болно. Хэрэв танд үнэхээр хэрэггүй бол ESP8266EX чип рүү шууд гагнах шаардлагагүй, дараа нь нүцгэн зүүг татах шаардлагагүй.

Мэргэшсэн мэргэжилтнүүдийн хийсэн олон тооны туршилтуудын дараа ийм холболтын диаграммыг ашиглаж, олон янзын мэдээллээс цуглуулсан. Бусад хэд хэдэн үр дүнтэй сонголтуудыг ашиглах боломжгүй тул ийм схемийг ч гэсэн хамгийн тохиромжтой гэж үзэх боломжгүй гэдгийг тэмдэглэх нь зүйтэй.

Arduino ашиглан холболт

Хэрэв ямар нэг шалтгааны улмаас танд 3.3 вольтын USB-TTL хөрвүүлэгч байхгүй бол ESP8266 WiFi модулийг суурилуулсан хөрвүүлэгчээр Arduino-ээр холбож болно. Энд та эхлээд гурван үндсэн зүйлд анхаарлаа хандуулах хэрэгтэй.

  • ESP8266-тай ашиглах үед Arduino Reset нь микроконтроллерыг эхлүүлэхээс урьдчилан сэргийлэхийн тулд GND-д холбогдсон бөгөөд энэ хэлбэрээр ил тод USB-TTL хөрвүүлэгч болгон ашигладаг.
  • RX ба TX нь "замын уулзвар дээр" холбогдоогүй, харин шууд - RX-RX (ногоон), TX-TX (шар).
  • Бусад бүх зүйл дээр дурдсанчлан холбогдсон байна.

Юуг анхаарах вэ

Энэ хэлхээ нь Arduino дээрх 5 вольтын TTL түвшинг, ESP8266 дээрх 3.3 вольтыг тохируулахыг шаарддаг боловч энэ нь аль алинд нь маш сайн ажиллах боломжтой.

ESP8266-д холбогдсон үед Arduino нь ESP8266-д шаардагдах гүйдлийг тэсвэрлэх чадваргүй тэжээлийн зохицуулагчаар тоноглогдсон байж болох тул та үүнийг идэвхжүүлэхийн өмнө ашиглаж буй мэдээллийн хуудсыг шалгах хэрэгтэй. ESP8266-д эрчим хүч зарцуулдаг бусад бүрэлдэхүүн хэсгүүдийг холбохыг бүү оролдоорой, учир нь энэ нь Arduino-д суурилуулсан цахилгаан зохицуулагчийг зүгээр л доголдуулж болзошгүй юм.

Мөн SoftSerial ашигладаг ESP8266 болон Arduino холболтын өөр схем байдаг. SoftSerial номын сангийн хувьд 115200 портын хурд хэт өндөр бөгөөд тогтвортой ажиллах баталгаа өгөхгүй тул бүх зүйл нэлээд тогтвортой ажилладаг зарим тохиолдлууд байдаг ч энэ холболтын аргыг хэрэглэхийг зөвлөдөггүй.

RaspberryPi-ээр холбогдоно

Хэрэв танд байхгүй бол USB-TTL хөрвүүлэгч, дараа нь энэ тохиолдолд та RaspberryPi ашиглаж болно. Энэ тохиолдолд ESP8266-ийн хувьд програмчлал, холболт нь бараг адилхан хийгддэг боловч энд бүх зүйл тийм ч тохиромжтой биш бөгөөд үүнээс гадна та 3.3 вольтын цахилгаан тогтворжуулагч ашиглах шаардлагатай болно.

Эхлэхийн тулд бид төхөөрөмжийнхөө RX, TX, GND-г ESP8266-д холбож, 3.3 вольтод зориулагдсан төхөөрөмжөөс GND болон VCC-ийг авдаг. Энд та бүх GND төхөөрөмжүүдийг, өөрөөр хэлбэл RaspberryPi тогтворжуулагч ба ESP8266-г холбох хэрэгтэй гэдэгт онцгой анхаарал хандуулах хэрэгтэй. Хэрэв таны төхөөрөмжийн загварт суурилуулсан тогтворжуулагч нь 300 миллиампер нэмэлт ачааллыг тэсвэрлэх чадвартай бол энэ тохиолдолд ESP8266-г холбох нь хэвийн зүйл боловч энэ нь зөвхөн таны эрсдэл, эрсдэлд л хамаарна.

Параметрүүдийг тохируулах

ESP8266-г хэрхэн холбохыг олж мэдсэнийхээ дараа та төхөөрөмжийнхөө драйверуудыг зөв суулгасан эсэхийг шалгах хэрэгтэй бөгөөд үүний үр дүнд системд шинэ виртуал цуваа порт нэмэгдсэн байна. Энд та програмыг ашиглах хэрэгтэй болно - цуваа порт терминал. Зарчмын хувьд та өөрийн амтанд нийцүүлэн ямар ч хэрэгслийг сонгож болно, гэхдээ цуваа порт руу илгээсэн аливаа командын төгсгөлд CR+LF тэмдэгтүүд байх ёстой гэдгийг та зөв ойлгох ёстой.

CoolTerm болон ESPlorer хэрэгслүүд нь нэлээд өргөн тархсан бөгөөд сүүлийнх нь ESP8266-г өөрөө оруулахгүй байх боломжийг олгодог бөгөөд үүний зэрэгцээ NodeMCU дор lua скриптүүдтэй ажиллахад хялбар болгодог тул үүнийг стандарт терминал болгон ашиглаж болно.

ESP8266-д зориулсан програм хангамж нь ихэвчлэн олон янз байдаг тул идэвхжүүлэлтийг янз бүрийн хурдаар хийх боломжтой тул хэвийн холбогдохын тулд та маш их ажил хийх хэрэгтэй болно. Хамгийн ихийг шийдэхийн тулд хамгийн сайн сонголт, та 9600, 57600, 115200 гэсэн гурван үндсэн сонголтыг хийх шаардлагатай болно.

Хэрхэн ангилах вэ?

Эхлэхийн тулд терминалын програмын виртуал цуваа порт руу холбогдож, параметрүүдийг 9600 8N1 болгож, модулийг бүрэн дахин ачаалж, CH_PD (чип идэвхжүүлэх) -ийг тэжээлийн эх үүсвэрээс салгаж, дараа нь CH_PD дарж дахин идэвхжүүлнэ. Та модулийг дахин тохируулахын тулд газар руу богино RESET хийж, терминал дахь өгөгдлийг ажиглаж болно.

Юуны өмнө төхөөрөмжийн LED нь туршилтын журамд үзүүлсэн шиг харагдах ёстой. Та мөн терминал дээр багцыг ажиглах хэрэгтэй янз бүрийн дүрүүд, энэ нь шугам бэлэн болж дуусах бөгөөд хэрэв байхгүй бол терминал руу дахин холбогдох нь өөр хурдаар хийгдэж, дараа нь модулийг дахин ачаална.

Хурдны сонголтуудын аль нэгийг харахад энэ мөр, модулийг ажиллахад бэлэн гэж үзэж болно.

Програм хангамжийг хэрхэн шинэчлэх вэ?

ESP8266-г суулгасны дараа төхөөрөмжийг холбоход хэдхэн секунд шаардагдах бөгөөд дараа нь та програмыг шинэчилж эхлэх боломжтой. Шинэ суулгахын тулд програм хангамжта дараах зүйлийг хийх хэрэгтэй.

Эхлэхийн тулд програмын шинэ хувилбарыг албан ёсны вэбсайтаас татаж аваад татаж аваарай тусгай хэрэгсэлпрограм хангамжийн хувьд. Энд юуг онцгой анхаарах хэрэгтэй үйлдлийн систем ESP8266 ажилладаг машин дээр суурилуулсан. Төхөөрөмжийг Windows 7-ээс хуучин системд холбох нь хамгийн сайн арга юм.

Стандарт Windows үйлдлийн системүүдийн хувьд XTCOM UTIL нэртэй програмыг ашиглах нь оновчтой байх бөгөөд хэрэв програм хангамж нь зөвхөн нэг файлаас бүрддэг бол ашиглахад илүү тохиромжтой. Олон платформын хамгийн сайн сонголт бол esptool хэрэгсэл бөгөөд үүнд python, мөн параметрүүдийг тохируулах шаардлагатай байдаг. тушаалын мөр. Нэмж дурдахад, ESP8266 нь нэлээд олон тооны тохиргоотой, мөн хэд хэдэн файлаас програм суулгахад тохиромжтой технологи бүхий Flash татаж авах хэрэгсэлтэй үндсэн функцуудыг хялбархан холбох боломжийг олгодог.

Дараа нь терминалын программыг цуваа портоос салгаж, мөн CH_PD-г тэжээлийн эх үүсвэрээс бүрэн салгаж, модулийн GPIO0-г GND-д холбоно, үүний дараа CH_PD-г буцааж болно. Эцэст нь модульчлагдсан програм хангамжийн програмыг ажиллуулаад ESP8266 реле рүү ачааллахад л хангалттай.

Ихэнх тохиолдолд програм хангамжийг модульд ойролцоогоор 115200 хурдтайгаар ачаалдаг боловч тусгай горим нь хурдыг автоматаар хуваарилах боломжийг олгодог бөгөөд үүний үр дүнд програм хангамжийг 9600-аас дээш хурдтайгаар шинэчилж болно. ESP8266-ийн боломжтой функцууд. Arduino холболт эсвэл USB-TTL-д ашиглагддаг байсан - энэ нь энд онцгой үүрэг гүйцэтгэдэггүй бөгөөд энд хамгийн дээд хурд нь утасны урт, ашигласан хөрвүүлэгч болон бусад олон хүчин зүйлээс хамаарна.