КампутарыАбсталяванне

Мікракантролер ESP8266: падлучэнне і налада

Многія карыстальнікі ўжо паспелі звярнуць сваю ўвагу на чып ESP8266-12, выпушчаны кампаніяй Espressif. Кошт яго значна танней у параўнанні са стандартнай платай 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 MF;
  • USB-TTL канвэртар на аснове PL2303, FTDI ці ж якім-небудзь аналагічным чыпе. Найбольш аптымальны варыянт - калі на USB-TTL адаптар таксама выводзяцца RTS і DTR, таму што за кошт гэтага можна дамагчыся дастаткова хуткай загрузкі прашыўкі з якога-небудзь UDK, Arduino IDE або Sming, не маючы нават неабходнасці ў ручным пераключэнні GPIO0 на зямлю.

Калі вамі выкарыстоўваецца канвэртар на 5 вольт, то ў такім выпадку трэба будзе набыць дадатковы стабілізатар харчавання на базе чыпа 1117 або якім-небудзь аналагічным, а таксама крыніца харчавання (для стандартнага 1117 цалкам нядрэнна падыдзе нават звычайная зарадка ад смартфона на 5 вольт). Рэкамендуецца не выкарыстоўваць Arduino IDE або USB-TTL ў якасці крыніцы харчавання для ESP8266, а ўжываць асобны, таму што за кошт гэтага можна пазбавіцца ў канчатковым выніку ад масы праблем.

Пашыраны набор для забеспячэння камфортнай і сталай працы з модулем прадугледжвае неабходнасць у выкарыстанні дадатковых раздымаў сілкавання, рэзістарах, святлодыёдах і DIP-перамыкачах. Акрамя гэтага, можна таксама выкарыстоўваць недарагі USB манітор, які дазволіць вам пастаянна назіраць за колькасцю спажыванага току, а таксама забяспечыць невялікую абарону шыну USB ад узнікнення кароткага замыкання.

Што трэба рабіць?

У першую чаргу варта адзначыць той факт, што ў ESP8266 кіраванне можа быць некалькі розным у залежнасці ад таго, якая канкрэтна мадэль вамі выкарыстоўваецца. Такіх модуляў сёння прадстаўлена досыць шмат, і першае, што будзе трэба, - гэта правесці ідэнтыфікацыю выкарыстоўванай вамі мадэлі і вызначыцца з яе распиновкой. У дадзенай інструкцыі мы будзем казаць аб працы з модулем ESP8266 ESP-01 V090, і калі вамі выкарыстоўваецца нейкая іншая мадэль з выведзеным пином GPIO15 (HSPICS, MTDO), вам трэба будзе прыцягнуць яго да зямлі як для стандартнага старту модуля, так і для выкарыстання рэжыму прашыўкі.

Пасля гэтага двойчы пераканайцеся ў тым, што сілкавальная напруга для падлучанага модуля складае 3,3 вольта. Як гаварылася вышэй, дапушчальны дыяпазон складае ад 3 да 3,6 вольт, і ў выпадку павышэння прылада выходзіць з ладу, але пры гэтым сілкавальная напруга можа быць нават значна ніжэй 3 вольт, якія заяўлены ў дакументах.

Калі вы выкарыстоўваеце USB-TTL канвэртар на 3,3 вольта, то ў такім выпадку падключыце модуль сапраўды гэтак жа, як на левай частцы карцінкі ніжэй. Калі ж вамі ўжываецца выключна пятивольтовый USB-TTL, то звернеце ўвагу на правую частку малюнка. Шмат каму можа падацца, што правая схема больш эфектыўная за кошт таго, што ў ёй прымяняецца асобны крыніца харчавання, але на самой справе ў выпадку ўжывання USB-TTL канвертара на 5 вольт вельмі пажадана зрабіць таксама дадатковы дзельнік на рэзістарах, каб забяспечыць ўзгадненне трехвольтовых і пятивольтовых узроўняў логікі, або жа проста выкарыстоўваць модуль пераўтварэнні узроўняў.

Асаблівасці падлучэння

На правым малюнку прысутнічае падлучэнне UTXD (TX), а таксама URXD (RX) дадзенага модуля да пятивольтовой логіцы TTL, і правядзенне такіх працэдур ажыццяўляецца толькі на свой страх і рызыка. Да ESP8266 апісанне кажа пра тое, што модуль эфектыўна працуе толькі з 3,3-вольтавую логікай. У пераважнай большасці выпадкаў нават у выпадку працы з пятивольтовой логікай абсталяванне не выходзіць з ладу, але зрэдку адбываюцца такія сітуацыі, таму падобнае падключэнне зьяўляецца не рэкамендаваных.

Калі ў вас няма магчымасці выкарыстоўваць спецыялізаваны USB-TTL канвэртар на 3,3 вольта, можна ўжыць дзельнік на рэзістарах. Таксама варта адзначыць, што на правым малюнку стабілізатар харчавання 1117 падключаецца без дадатковай абвязкі, і гэта сапраўды рабочая тэхналогія, але ўсё-ткі лепш за ўсё карыстацца схемай падлучэння 1117 з кандэнсатарнай абвязкай - трэба зверыць яе з ESP8266 datasheet на ваш стабілізатар або выкарыстаць ужо цалкам гатовы модуль, які заснаваны на базе 1117.

Каб запусціць модуль, трэба разарваць ланцуг GPIO0-TND, пасля чаго можна падаваць харчаванне. Пры гэтым варта адзначыць, што рабіць усё трэба менавіта ў такім парадку, гэта значыць спачатку пераканайцеся ў тым, што GPIO0 «вісіць у паветры», і толькі потым ужо падавайце харчаванне на CH_PD і VCC.

Як падключаць правільна?

Калі Вы здольныя больш аднаго вечара таго, каб нармальна падключыць модуль ESP8266, вы можаце выкарыстоўваць больш стабільны варыянт. На схеме вышэй вы бачыце варыянт падлучэння з аўтаматычнай загрузкай прашыўкі.

Варта адзначыць, што на малюнку вышэй ня паказваецца выкарыстанне свабодных GPIO або ADC, і іх падлучэнне будзе непасрэдна залежаць ад таго, што канкрэтна вы хочаце рэалізаваць, але калі ж вы захочаце забяспечыць стабільнасць, не забывайце прыцягваць усё GPIO да сілкавання, а ADC да зямлі з выкарыстаннем падцягваўся рэзістараў.

Рэзістары на 10k пры неабходнасці можна замяніць на якія-небудзь іншыя ў дыяпазоне ад 4,7k да 50k, выключаючы GPIO15, так як яго намінал павінен быць не больш 10k. Намінал кандэнсатара, які згладжвае высокачашчынныя пульсацыі, можа быць некалькі іншым.

Злучэнне RESET і GPIO16 праз выкарыстанне рэзістара deep sleep на 470 Ом можа стаць неабходным пры выкарыстанні адпаведнага рэжыму, бо для таго, каб выйсці з рэжыму глыбокага сну, модуль ажыццяўляе поўную перазагрузку, ажыццяўляючы падачу нізкага ўзроўню на GPIO16. Пры адсутнасці дадзенага злучэння рэжым глыбокага сну для вашага модуля будзе доўжыцца вечна.

На першы погляд, можа здацца, што GPIO0, GPIO1 (TX), GPIO2, GPIO3 (RX) і GPIO15 занятыя, таму выкарыстоўваць іх для сваіх мэтаў не атрымаецца, але на самой справе гэта далёка не так. Дастаткова высокі ўзровень на GPIO0 і GPIO2, а таксама нізкі на GPIO15 могуць спатрэбіцца толькі для першапачатковага запуску модуля, а ў далейшым ўжо можна ўжываць іх на сваё меркаванне. Адзінае, што варта адзначыць, - не забывайце забяспечваць патрэбныя ўзроўні да таго, як ажыццяўляць поўную перазагрузку вашага абсталявання.

Таксама можна выкарыстоўваць TX, RX ў якасці альтэрнатывы GPIO1 і GPIO3, але пры гэтым не варта забываць аб тым, што пасля старту модуля кожная прашыўка пачынае «тузаць» ТХ, паралельна займаючыся адпраўкай адладкавай інфармацыі ў UART0 з хуткасцю 74480, але, пасля таго як будзе праведзена паспяховая загрузка, іх можна выкарыстоўваць не толькі ў якасці UART0 для таго, каб зрабіць абмен дадзеных з іншай прыладай, але і ў якасці стандартных GPIO.

Для модуляў, у якіх прысутнічае невялікая колькасць разведзеных пинов (да прыкладу, ESP-01), не патрабуецца падлучэння неразведенной пинов, гэта значыць на ESP-01 разводзяцца толькі: GND, CH_PD, VCC, GPIO0, GPIO2 і RESET, і менавіта іх вам трэба будзе падцягваць. Няма ніякай патрэбы ў тым, каб прылітоўваецца непасрэдна да мікрасхемы ESP8266EX, а затым прыцягваць неразведенной Піны, калі толькі гэта вам сапраўды трэба.

Такія схемы падлучэння выкарыстоўваліся пасля вялікай колькасці эксперыментаў, праведзеных кваліфікаванымі спецыялістамі і сабраны з мноства рознай інфармацыі. Пры гэтым варта адзначыць, што нават такія схемы нельга лічыць ідэальнымі, так як можна выкарыстоўваць цэлы шэраг іншых, не менш эфектыўных варыянтаў.

Падключэнне праз Arduino

Калі ў вас па нейкай прычыне не аказалася USB-TTL канвертара на 3,3 вольт, то ў такім выпадку модуль WiFi ESP8266 можна падключыць праз Arduino з убудаваным канвертарам. Тут вам трэба будзе спачатку звярнуць сваю ўвагу на тры асноўных элемента:

  • Пры выкарыстанні ў працы з ESP8266 Arduino Reset першапачаткова падлучаны да GND, каб выключыць магчымасць запуску мікракантролера, і ў дадзеным выглядзе ён выкарыстоўваўся ў якасці празрыстага USB-TTL канвертара.
  • RX і TX падлучаліся не «на перекрест», а наўпрост - RX-RX (зялёны), ТХ-ТХ (жоўты).
  • Усё астатняе падключаецца сапраўды гэтак жа, як паказана вышэй.

Што трэба ўлічваць

У дадзенай схеме таксама патрабуецца ўзгадненне узроўняў TTL 5 вольт Arduino, а таксама 3,3 вольта на ESP8266, але пры гэтым нядрэнна можа функцыянаваць і так.

Пры падключэнні да ESP8266 Arduino можа абсталёўвацца стабілізатарам харчавання, ня вытрымоўвалым ток, які патрабуецца для ESP8266, з прычыны чаго, перад тым як яго актываваць, трэба зрахавацца з даташипом на той, які выкарыстоўваецца ў вас. Ня спрабуйце падключаць нейкія іншыя энергопотребляющие элементы разам з ESP8266, так як гэта можа прывесці да таго, што ўбудаваны ў Arduino стабілізатар харчавання проста выйдзе з ладу.

Таксама ёсць іншая схема падлучэння ESP8266 і Arduino, у якой выкарыстоўваецца SoftSerial. Бо для бібліятэкі SoftSerial хуткасць порта, роўная 115200, мае занадта высокае значэнне і не можа гарантаваць стабільную працу, такі спосаб падлучэння выкарыстоўваць не рэкамендуецца, хоць ёсць некаторыя выпадкі, у якіх усё працуе цалкам стабільна.

Падключэнне праз RaspberryPi

Калі вы не размяшчаеце наогул ніякімі USB-TTL канвэртарам, то ў такім выпадку можна выкарыстоўваць RaspberryPi. У дадзеным выпадку для ESP8266 праграмаванне і падлучэнне ажыццяўляецца практычна ідэнтычна, але пры гэтым тут усё не так зручна, а дадаткова трэба будзе выкарыстоўваць таксама стабілізатар харчавання на 3,3 вольта.

Для пачатку RX, TX і GND нашага прылады падлучальны да ESP8266, а GND і VCC бярэм са стабілізаванага крыніцы харчавання, разлічанага на 3,3 вольта. Тут асобная ўвага варта надаць таму, што трэба правесці злучэнне ўсіх GND прылад, то ёсць стабілізатара RaspberryPi і ESP8266. Калі ж убудаваны ў вашу мадэль прылады стабілізатар можа вытрымліваць да 300 миллиампер дадатковай нагрузкі, то ў такім выпадку падлучэнне ESP8266 ажыццяўляецца цалкам нармальна, але гэта ўсё робіцца толькі на свой страх і рызыка.

наладжвальны параметры

Калі вы разабраліся, як падключыць ESP8266, трэба пераканацца ў тым, што драйвера да вашых прыладам ўстаноўлены карэктна, з прычыны чаго ў сістэме быў дададзены новы паслядоўны віртуальны порт. Тут трэба будзе выкарыстоўваць праграму - тэрмінал паслядоўнага порта. У прынцыпе, ўтыліту можна падабраць любую на свой густ, але пры гэтым вы павінны правільна разумець, што любая каманда, якая будзе адпраўляцца вамі ў паслядоўны порт, у канцы павінна мець завяршальныя сімвалы CR + LF.

Досыць шырокім распаўсюджваннем карыстаюцца ўтыліты CoolTerm і ESPlorer, прычым апошняя дазваляе не ўводзіць ESP8266 AT каманды самастойна, і пры гэтым дае прасцей працаваць з lua скрыптамі пад NodeMCU, таму яе можна цалкам выкарыстоўваць у якасці стандартнага тэрмінала.

Для нармальнага падлучэння да паслядоўным порце прыйдзецца прарабіць нямала працы, так як прашыўкі для ESP8266 ў большасці сваёй з'яўляюцца разнастайнымі і актывацыя можа праводзіцца на розных хуткасцях. Каб вызначыцца з найбольш аптымальным варыянтам, вам трэба будзе перабраць тры асноўных варыянту: 9600, 57600 і 115200.

Як перабіраць?

Для пачатку падключыцеся ў тэрмінальнай праграме да паслядоўнага віртуальнай порту, выстаўляючы параметры 9600 8N1, пасля чаго праводзіце поўную перазагрузку модуля, адключаючы CH_PD (chip enable) ад харчавання, пасля чаго зноў актывуйце яго, ператоргваючы CH_PD. Таксама можна правесці кароткачасовае замыканне RESET на зямлю для таго, каб перазагрузіць модуль, і назіраць за дадзенымі ў тэрмінале.

У першую чаргу святлодыёды прылады павінны адлюстроўвацца дакладна так жа, як гэта паказана ў апісанні працэдуры праверкі. Таксама вы павінны назіраць у тэрмінале набор розных сімвалаў, які будзе заканчвацца радком ready, а калі яе няма, праводзіцца перападключэнне да тэрмінала на іншы хуткасці з наступнай перазагрузкай модуля.

Калі вы ўбачыце на адным з варыянтаў хуткасці дадзеную радок, можна лічыць модуль падрыхтаваным да працы.

Як абнаўляць прашыўку?

Пасля таго як вы ўсталюеце ESP8266, падлучэнне прылады зойме ўсяго некалькі секунд, і тады можна будзе прыступаць да абнаўлення прашыўкі. Для ўстаноўкі новага праграмнага забеспячэння вам трэба зрабіць наступнае.

Для пачатку спампоўвайце новую версію прашыўкі з афіцыйнага сайта, а таксама спампоўвайце спецыяльную сродак для прашыўкі. Тут асобная ўвага варта надаць таму, якая аперацыйная сістэма ўсталяваная на той машыне, з якой працуе ESP8266. Падлучэнне прылады лепш за ўсё праводзіць да сістэм старэй Windows 7.

Для стандартных АС Windows цалкам аптымальна будзе выкарыстоўваць праграму пад назвай XTCOM UTIL, якая асабліва зручнай у працы, калі прашыўка складаецца толькі з аднаго файла. Лепшым мультиплатформенным варыянтам варта назваць ўтыліту esptool, якая, праўда, патрабуе python, а таксама неабходнасць ўказанні параметраў праз камандны радок. Акрамя гэтага, у ESP8266 падлучэнне асноўных функцый дазваляе зручна зрабіць праграма Flash Download Tool, якая мае досыць вялікая колькасць налад, а таксама зручную тэхналогію ўстаноўкі прашывак з некалькіх файлаў.

Далей адключайце сваю тэрмінальную праграму ад паслядоўнага порта, а таксама цалкам адключайце CH_PD ад харчавання, далучаюць GPIO0 модуля да GND, і пасля гэтага CH_PD можна будзе вярнуць назад. У канчатковым выніку проста запускайце праграму для модульнай прашыўкі і загружайце яе ў ESP8266 рэле.

У пераважнай большасці выпадкаў прашыўка загружаецца ў модуль з хуткасцю ў раёне 115200, але пры гэтым спецыяльны рэжым прадугледжвае аўтаматычнае размеркаванне хуткасці, з прычыны чаго прашыўка можа праводзіцца на хуткасьці болей за 9600, абнаўляючы даступныя функцыі ESP8266. Arduino выкарыстоўваўся для падлучэння або USB-TTL - тут не гуляе асаблівай ролі, і тут лімітавая хуткасць ўжо залежыць ад даўжыні правадоў, які выкарыстоўваецца канвертара і цэлага шэрагу іншых фактараў.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.birmiss.com. Theme powered by WordPress.