muzruno.com

Микроконтролер ESP8266: връзка и настройка

Много потребители вече обърнаха вниманието си към чипа ESP8266-12, издаден от Espressif. Неговата цена е много по-евтина от стандартната карта на Bluetooth-адаптера, а при по-малки размери тя се различава значително повече възможности. Сега всички любители на дома имат възможността да работят в Wi-Fi мрежа в два режима наведнъж, т.е. да свържат компютъра си към всяка точка за достъп или да я включат като такава точка.

От друга страна, трябва да разберете правилно, че такива карти не са само машини, предназначени само за Wi-Fi комуникация. Самият ESP8266 е микроконтролер със свои собствени интерфейси UART, GPIO и SPI, т.е. може да се използва като абсолютно автономно оборудване. Мнозина след пускането на този чип я нарекоха най-истинската революция и с течение на времето такива устройства ще бъдат вградени дори и в най-простите форми на технология, но досега устройството е сравнително ново и няма стабилен фърмуер върху него. Много специалисти по целия свят се опитват да измислят собствен фърмуер, защото не е трудно да ги запълниш, но въпреки различните трудности устройството вече може да се нарече доста използваемо.

В момента се разглеждат само две възможности за използване на този модул:

  • Използвайте картата в комбинация с допълнителен микроконтролер или компютър, който ще бъде управляван от модула през UART.
  • Самофирмен фърмуер за чипа, който ви позволява по-късно да го използвате като самостоятелно устройство.

Напълно естествено е, че в този случай няма да разгледаме независим фърмуер.

Разглеждайки лекотата на използване и доброто представяне, много от многото микроконтролери предпочитат ESP8266. Свързването и актуализирането на фърмуера на това устройство е изключително лесно и достъпно и се извършва на същия хардуер, в който хардуерът е свързан към компютъра. Тоест, също чрез USB-TTL-конвертор или, ако някой предпочита други опции за свързване, може да бъде реализиран чрез RPi и Arduino.

Как да проверя?

esp8266 фърмуер

За да се тества ефективността на устройството, което току-що сте купили, ще трябва да използвате специален стабилизиран източник на напрежение, оценен на 3.3 волта. Трябва веднага да се отбележи, че действителният диапазон на напрежението на този модул е ​​3 до 3,6 волта, а доставката на високо напрежение веднага ще доведе до факта, че просто изключвате ESP8266. Фърмуерът и друг софтуер, след като подобна ситуация може да започне да работи неправилно, и вече имате нужда да поправите устройството или по някакъв начин да го коригирате.

За да се определи оперативността на този модел на микроконтролера, просто трябва да свържете три пина:

  • CH_PD и VCC са свързани към 3.3 V захранване.
  • GND е свързан към земята.

Ако не използвате ESP-01, а някой друг модул и той вече има първоначално показан GPIO15, вие и него ще трябва допълнително да се свържете към земята.

Ако фърмуерът е започнал правилно, тогава в този случай можете да видите червен светодиод, и след това синьото ще мига няколко пъти. Все пак трябва да се отбележи, че не всички устройства от серията ESP8266 имат червен индикатор за захранване. Фърмуерът на някои устройства не предвижда червеният индикатор да свети, ако в модула няма червен индикатор (по-специално това се отнася за модела ESP-12).

След като свържете, вашата безжична мрежа активира нова точка за достъп, която ще се нарича ESP_XXXX, и може да бъде открита от всяко устройство, което има достъп до Wi-Fi. В този случай името на точката за достъп директно зависи от производителя на фърмуера, който използвате, и затова може да е друг.

Ако точката се появи, можете да продължите да експериментирате, в противен случай ще трябва да се проведат на енергия повторен преглед, както и коректността на GND и CH_PD връзка, и ако всичко е свързано правилно, а след това най-вероятно, все още се опитват да използват счупената единица или на Той просто инсталира фърмуера с нестандартни настройки.

Как мога да го свържа бързо?

arduino ide

Стандартният комплект, необходим за свързване на този модул, включва следното:

  • самия модул;
  • бездостъпни прототипи;
  • пълен набор от мама-тада жици, предназначени за breadboard, или специален кабел DUPONT M-F;
  • USB-TTL конвертор, базиран на PL2303, FTDI или друг подобен чип. Най-добрият вариант - ако USB-TTL адаптер е и изходни RTS и DTR, защото благодарение на това може да се постигне доста бързо изтегляне на фърмуера от някои UDK, Arduino IDE или Sming, без дори нуждата от ръчно превключване GPIO0 земята.

Ако използвате конвертора 5 волта, тогава нуждата от закупуване на допълнителен регулатор на напрежение чип на базата на 1117 или други подобни, както и източник на захранване (за стандартен 1117 доста добре подходящ дори обикновен зареждане от смартфон с 5 волта). Препоръчително е да не се използва Ардуино или USB-TTL като източник на енергия за ESP8266 и използвате отделен, тъй като в резултат на това можете да се отървете накрая на проблеми с теглото.

Удължен комплект за осигуряване на удобна и постоянна работа с модула осигурява допълнителна работа захранващи съединители, резистори, светодиоди и DIP превключватели. Освен това можете да използвате евтин USB монитор, който ще ви позволи постоянно да следите количеството на консумираната от вас ток, както и да осигурите малка защита за USB-шината от появата късо съединение.

Какво трябва да направя?

На първо място трябва да отбележим факта, че контролът ESP8266 може да е малко по-различен в зависимост от конкретния модел, който използвате. Има доста такива модули днес и първото нещо, което ще ви е необходимо е да идентифицирате модела, който използвате, и да определите неговия pinout. В това ръководство, ние ще говорим за работа с модула ESP8266 ESP-01 V090, а ако използвате друг модел, получен Ping GPIO15 (HSPICS, MTDO), ще трябва да го издърпа на земята като стандартен старт модул и да използвате режима на фърмуера.

След това проверете дали захранващото напрежение за свързания модул е ​​3,3 волта. Както бе споменато по-горе, допустимият диапазон е от 3 до 3,6 волта, а в случай на увеличение устройството не успее, но захранващото напрежение може дори да е доста под 3 волта, което е посочено в документите.

Ако използвате USB-TTL конвертор на 3.3 волта, в този случай свържете модула точно както в лявата страна на картината по-долу. Ако използвате само 5-волтов USB-TTL, обърнете внимание на дясната страна на картината. Може да изглежда, че правото е по-ефективно, поради факта, че тя се използва отделно захранване, но в действителност в случай на използване на USB-TTL на конвертор 5 волта е много желателно да се направи допълнително разделителните резистори за да се осигури хармонизиране на trehvoltovyh и pyativoltovyh логически нива или просто използвайте модула за преобразуване на ниво.

Функции за свързване

модул esp8266

В дясната фигура има UTXD (TX) връзка, както и URXD (RX) на този модул към пет-волтова логика TTL и тези процедури се изпълняват само на ваша отговорност. Описанието на ESP8266 показва, че модулът работи ефективно само с 3.3-волтова логика. В по-голямата част от случаите, дори и при пет-волтова логика, оборудването не се проваля, но понякога такива ситуации се появяват, така че тази връзка не се препоръчва.

Ако нямате възможност да използвате специализиран USB-TTL конвертор на 3.3 волта, можете да приложите разделител на резисторите. Също така да се отбележи, е, че в правилната фигура Силата 1117 стабилизатор е свързан без допълнително тръбите, и това е наистина работи технологията, но тя все още е най-добре да се използва схемата на свързване 1117 с кондензатор чембероваъчната - трябва да го съгласува с фиш ESP8266 във вашия стабилизатор или да използвате вече напълно готов модул, базиран на базата 1117.

За да стартирате модула, трябва да прекъснете веригата GPIO0-TND, след което можете да включите. Трябва да се отбележи, че трябва да направите всичко по този ред, т.е. първо се уверете, че GPIO0 "виси във въздуха" и само след това приложете захранване към CH_PD и VCC.

Как да се свържем правилно?

esp8266 arduino

Ако можете да отделите повече от една вечер за правилното свързване на модула ESP8266, можете да използвате по-стабилна опция. В диаграмата по-горе виждате опция за връзка с автоматично изтегляне на фърмуера.

Трябва да се отбележи, че от горното изображение не се показва използването на свободен GPIO и ADC, и връзката ще бъде в пряка зависимост от това какво точно искате да изпълни, но ако искате да се гарантира стабилността, не забравяйте да дръпнете всички GPIO мощност и ADC на земята използвайки съпротивления за изтегляне.



Резисторите на 10k могат да бъдат заменени, ако е необходимо, от други от порядъка на 4.7k до 50k, с изключение на GPIO15, тъй като рейтингът му трябва да бъде не повече от 10k. Номиналният кондензатор, изглаждащ високочестотните пулсации, може да бъде малко по-различен.

Съединение GPIO16 RESET и чрез използването на дълбок сън резистор 470 ома може да са необходими при използване на съответния режим, тъй като, за да излезете от режим на дълбок сън, модулът извършва пълно възстановяване чрез извършване на ниско ниво, за да предоставят GPIO16. Ако тази връзка не е налице, режимът на дълбок сън за вашия модул ще продължи вечно.

На пръв поглед може да изглежда, че GPIO0, GPIO1 (Тексас), GPIO2, GPIO3 (RX) и GPIO15 зает, така че да ги използват за свои цели няма да работи, но в действителност това не е така. Достатъчно високо ниво на GPIO0 и GPIO2, както и на ниско ниво на GPIO15, може да се изисква само за първоначалното пускане на модула, а в бъдеще вече е възможно да се прилагат по Ваша преценка. Единственото нещо, което си заслужава да се отбележи, е - не забравяйте да осигурите необходимите нива, преди да рестартирате напълно оборудването си.

Можете да използвате и TX, RX като GPIO1 и GPIO3 алтернатива, но не забравяйте, че след модула започне всеки фърмуер започва да "дръпне" паралела TX прави информацията за грешки, изпратено до UART0 в размер на 74 480, но след ще бъдат успешно изтеглени, те могат да бъдат използвани не само като 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 (зелено), TX-TX (жълто).
  • Всички останали са свързани по същия начин както по-горе.

Какво трябва да помислите

esp8266 контрол

Тази схема също така изисква координиране на нивата на TTL от 5 волта Arduino, както и 3.3 волта на ESP8266, но тя може да работи добре и така.

Когато сте свързани с ESP8266 Ардуино може да бъде оборудван с регулатор на напрежението, не издържат на тока, което е необходимо за ESP8266, като резултат, преди да я активирате, трябва да се консултирате с datashipom на този, който се използва. Не се опитвайте да свързвате други енергоемки елементи с 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 дейташитове

Когато разбрахте как да свържете ESP8266, трябва да сте сигурни, че драйверите на вашите устройства са инсталирани правилно, така че към серията да се добави нов сериен виртуален порт. Тук ще трябва да използвате програмата - сериен порт терминал. По принцип полезността може да бъде избрана по ваш вкус, но трябва да разберете правилно, че всяка команда, която ще ви бъде изпратена на серийния порт, трябва да има крайните символи CR + LF в края.

Широко разпространена употреба на помощните продукти CoolTerm и ESPlorer, а последната ви позволява да не въвеждате ESP8266 AT команди по своему, и в същото време го прави по-лесен за работа с взема скриптове под NodeMCU, така че може да бъде напълно използван като стандартен терминал.

За нормална връзка към серийния порт е необходимо да се свърши много работа, тъй като фърмуерът за ESP8266 е предимно разнообразен и активирането може да се извърши при различни скорости. За да определите най-добрия вариант, ще трябва да преминете през три основни опции: 9600, 57600 и 115200.

Как да се оправим?

За да започнете, свържете терминал софтуера към серийния порт на виртуални изобличаващи параметри 9600 8N1, а след това прекара пълно нулиране модул, инвалидизация CH_PD (чип активиране) на силата, а след това да я активирате отново, изкривяване CH_PD. Също така, можете да късите RESET на земята, за да рестартирате модула и да наблюдавате данните в терминала.

Преди всичко, светодиодите на устройството трябва да се показват точно както е показано в описанието на процедурата за потвърждение. Също така трябва да видите набор от различни знаци в терминала, който ще завърши с готовата линия, а ако не, свържете отново към терминала с различна скорост и след това рестартирайте модула.

Когато видите тази линия на една от опциите за скорост, можете да разгледате модула подготвен за работа.

Как да актуализирате фърмуера?

esp8266 описание

След като инсталирате ESP8266, устройството ще отнеме само няколко секунди, за да се свърже, след което можете да започнете да актуализирате фърмуера. За да инсталирате новия софтуер, трябва да направите следното.

Първо, изтеглете новата версия на фърмуера от официалния сайт и изтеглете специална помощна програма за фърмуера. Тук трябва да се обърне специално внимание на това коя операционна система е инсталирана на машината, с която работи ESP8266. Най-добре е да свържете устройството със системи, по-стари от Windows 7.

За стандартната операционна система Windows е оптимално да използвате програма наречена XTCOM UTIL, която е особено удобна за работа, ако фърмуерът се състои само от един файл. Най-добрата мултиплатформена опция се нарича помощния есптол, който обаче изисква Python, както и необходимостта от задаване на параметри чрез командния ред. В допълнение, в ESP8266, свързването на основни функции прави удобно да се направи Flash Download Tool, който има доста голям брой настройки, както и удобна технология за инсталиране на фърмуер от няколко файла.

След това изключете терминалната програма от серийния порт и напълно изключете CH_PD от захранването, свържете модула GPIO0 към GND и след това CH_PD може да се върне. В крайна сметка просто стартирайте програмата за модулен фърмуер и го заредете в релето ESP8266.

В повечето случаи фърмуерът се зарежда в модула със скорост около 115200, но специалният режим осигурява автоматично разпределение на скоростта, така че фърмуерът да може да работи със скорост над 9600, като актуализира наличните функции на ESP8266. Arduino се използва за свързване или USB-TTL - тук не играе специална роля, а тук ограничителната скорост вече зависи от дължината на проводниците, използвания конвертор и редица други фактори.

Споделяне в социалните мрежи:

сроден