Съдържание:

Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO: 7 стъпки
Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO: 7 стъпки

Видео: Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO: 7 стъпки

Видео: Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO: 7 стъпки
Видео: Atom Hydrogen - универсальный контроллер умного дома, обзор, возможности, ESP Home, Home Assistant 2024, Ноември
Anonim
Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO
Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO
Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO
Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO
Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO
Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO
Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO
Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO

Модулът ESP-01, който използвах първоначално, дойде с по-стар фърмуер на AI Thinker, което ограничава възможностите му, тъй като много полезни AT команди не се поддържат.

Като цяло е добра идея да надстроите вашия фърмуер за корекции на грешки, а също и в зависимост от функционалностите, необходими от ESP модула, може да се наложи по -пълен набор от поддържани AT команди. Този урок също обяснява как да възстановите или мигате оригиналния фърмуер на Espressif, ако случайно объркате вашия фърмуер на ESP, например чрез някои грешни AT команди. Това се случи, когато се опитах да променя скоростта на предаване по подразбиране от 115200 на 9600. Използвах следната команда (въз основа на бързо търсене в Google):

AT+IPR = 9600

Това блокира модула ESP-01. Вече не работят AT команди, което ме накара да направя повече изследвания и след много часове най-накрая намерих начин да възстановя ESP-01 и да инсталирам най-новия съвместим фърмуер. Така че реших, че си струва да споделя целия процес.

Внимание: Въз основа на моя опит, силно бих препоръчал да не използвате командата AT+IPR за промяна на скоростта на предаване, тъй като най-вероятно ще се наложи да презаредите фърмуера си отново. Съществуват обаче много различни варианти на модула ESP-01 с различен размер на флаш и фабрична версия на фърмуера, така че вашият опит може да варира.

Модулът ESP-01 не е 5 V съвместим и изисква 3.3 V за захранване, но и за правилна работа на логическо ниво. За да комуникира с компютъра, модулът допълнително се нуждае от USB към сериен конвертор. Така че, вместо да използвам преобразувател на напрежение и USB към сериен адаптер, реших да избера по -просто решение. Тъй като вече имам Arduino UNO, използвах последния за захранване на модула ESP-01 и за установяване на комуникация между ESP-01 и компютъра, ефективно функциониращ като сериен мост.

Консумативи

  1. Модул ESP-01
  2. Arduino UNO (с USB кабел)
  3. Jumper DuPont проводници
  4. Платка

Стъпка 1: Кабелни връзки

Кабелни връзки
Кабелни връзки
Кабелни връзки
Кабелни връзки
Кабелни връзки
Кабелни връзки

Кабелните връзки с модула Arduino UNO и ESP-01 могат да бъдат направени лесно с помощта на джъмперни кабели и макет. Връзките между дъската за разработка на Arduino и ESP модула са описани в таблицата. В този случай връзките RX и TX не се обръщат, тъй като комуникацията не се осъществява между модула Arduino и ESP, а между ESP и компютъра. Така че в този случай дъската Arduino UNO се използва като сериен мост чрез своя вграден USB към сериен конвертор.

Връзката на RX пиновете между платката Arduino и ESP модула трябва да се осъществи чрез делител на напрежение, тъй като ESP-01 работи на 3,3 V логическо ниво и получаването на 5 V логическо ниво от Arduino UNO може да повреди ESP модула. Можете да изградите прост 3,3 V делител на напрежение, като използвате само 2 резистора, както е показано на фигурата. По желание можете да използвате преобразувател на логическо ниво.

Внимание: За моята настройка просто свързах RX щифтовете директно (не е препоръчително!) И всичко работи, но ако решите да се откажете от преобразуването на логическо ниво, продължете на свой собствен риск!

За да се установи обща заземителна връзка, заземяващият щифт на Arduino UNO е свързан към заземяващия щифт на ESP модула.

Arduino UNO се използва за осигуряване на 3.3 V захранване директно към VCC щифта на ESP модула. Свържете 3.3 V щифта към основната платка с помощта на джъмпер, тъй като 3.3 V ще се използва не само за VCC щифта на ESP, но и за пина CH_PD на ESP за активиране на ESP чипа.

ПИН RESET на Arduino UNO е свързан към Ground, за да заобиколи всеки код, качен чрез Arduino, така че вместо това кодът да бъде изпратен от компютъра към ESP-01.

Фигурата в таблицата показва пълния набор от връзки за мигащ фърмуер, но на този етап не свързвайте щифтовете за нулиране и GPIO_0 на ESP, тъй като в следващата стъпка ще четем само информацията за фърмуера.

Стъпка 2: Проверете версията на фърмуера

Проверете версията на фърмуера
Проверете версията на фърмуера

За да намерите вашата версия на фърмуера на ESP-01, в Arduino IDE Serial Monitor въведете:

AT+GMR

Забележка: Всички AT команди трябва да бъдат въведени с главни букви без интервали.

Ето серийния изход за моя ESP-01 (вашият ESP модул може да не показва точно същата информация, тъй като зависи от конкретния модел и дата на издаване):

AT+GMR

AT версия: 0.25.0.0 (5 юни 2015 16:27:16) Версия на SDK: 1.1.1 Ai-Thinker Technology Co. Ltd. 23 юни 2015 23:23:50 OK

Сега, за да надстроите до най -новия официален фърмуер на Espressif ESP8266EX, отидете в раздела ресурси на неговия уебсайт:

Забележка: Списъкът с наличния фърмуер може да не е съвместим с вашия модел ESP-01. Проверете раздела за отстраняване на неизправности в края на този урок за повече информация.

Стъпка 3: Подготовка на настройката: Преди мигането на фърмуера

Подготовка на настройката: Преди мигането на фърмуера
Подготовка на настройката: Преди мигането на фърмуера

Сега ще подготвим Arduino UNO за процедурата за мигане на фърмуера на ESP-01.

Уверете се, че проводникът на RESET на Arduino е изключен от земята. Също така, кабелите TX и RX от Arduino UNO трябва да бъдат изключени от модула ESP-01.

Отворете Arduino IDE и от горното меню отидете на Файл> Примери> 01. Основи> BareMinimum. Качете скицата в Arduino UNO. Тази празна скица ще гарантира, че няма смущения в комуникацията с ESP модула.

Свържете отново RX и TX кабелите между UNO и ESP-01. Също така свържете щифта RESET на UNO към земята.

Щифтът CH_PD или CH_EN означава „Chip Power-Down“или „Chip Enable“и трябва да се издърпа HIGH или да се свърже към 3.3 V, за да се даде възможност на ESP чипа.

Два допълнителни джъмпер кабела са необходими за следните ESP щифтове: GPIO_0 и RESET.

GPIO_2 не се използва и остава оставен без връзка.

ESP-01 трябва да бъде настроен в режим на програмиране, така че кодът да може да бъде качен в него. Но ESP-01 няма необходимия вграден хардуер, за да постигне това директно, така че всичко трябва да бъде свързано отделно. За моята собствена употреба не се притеснявах да използвам превключватели, а просто използвах два джъмперни кабела между мъже и жени, свързани към щифтовете GPIO_0 и RESET на модула ESP-01 и ги включих в общите заземяващи щифтове на макетната платка от земята на Arduino UNO.

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

Щифтът RESET е свързан към земята за секунда и след това се отстранява. Това позволява качването на новия фърмуер.

Стъпка 4: Изтеглете мигащ инструмент и фърмуер

Изтеглете мигащ инструмент и фърмуер
Изтеглете мигащ инструмент и фърмуер

Използваният фърмуер е от Espressif, който е оригиналният производител на чипа ESP8266.

Отидете на: https://www.espressif.com/en/products/hardware/esp8266ex/resources за достъп до официалните инструменти и файловете на фърмуера AT.

В раздела „Инструменти“изтеглете инструментите за изтегляне на Flash (ESP8266 & ESP32), като в момента най -новата е V3.6.8.

В раздела „AT“изтеглете най-новия съвместим фърмуер за AT, който е ESP8266 AT Bin V1.6.2 за моя модел ESP-01. Зависи от модела ESP-01, тъй като може да има различен размер на флаш паметта. Повече информация за това ще намерите в раздела ОТКРИТА ИНФОРМАЦИЯ в програмата Flash Download Tools, след като щракнете върху СТАРТ, за да започнете процедурата за мигане. Така че, ако не сте сигурни относно размера на флаш или кои файлове на фърмуера да изберете, просто стартирайте програмата, за да получите правилната информация за вашия ESP модул.

След мигане можете да използвате AT команди за тестване и работа с ESP-01. Изтеглете официалния набор от инструкции за ESP8266 AT:

Стъпка 5: Процедура на мигане

Процедура на мигане
Процедура на мигане
Процедура на мигане
Процедура на мигане
Процедура на мигане
Процедура на мигане
Процедура на мигане
Процедура на мигане

Извлечете zip файла на инструментите за изтегляне на Flash и отворете exe файла. Уверете се, че го стартирате като администратор, ако използвате Windows. Първо ще се отвори прозорец на DOS, последван от изскачащ прозорец. Изберете ESP8266 Инструмент за изтегляне. Това ще отвори прозорец с няколко конфигурируеми опции.

На този етап вижте екранната снимка, за да видите точно какви опции да изберете и какво да въведете в полетата с шестнадесетичен код до всеки от избраните файлове на фърмуера.

Забележка: Изберете файловете на фърмуера в същия ред, тъй като процедурата за флаш се извършва последователно. Файлът blank.bin трябва да бъде избран три пъти, както е показано на екранната снимка за набор от инструкции AT.

За да намерите правилните шестнадесетични кодове или адреси, проверете официалния документ с инструкции за AT. Прикачих екранна снимка на таблицата, която използвах за мигане на моя ESP модул.

След това просто натиснете бутона СТАРТ и гледайте как се случва магията. Текстът на бутона ще показва SYNC, а секцията DETECTED INFO ще показва спецификациите на вашия ESP модул. След това текстът ще покаже ИЗТЕГЛЯНЕ и лентата за напредъка ще се активира, тъй като файловете на фърмуера се качват във флаш паметта на ESP. След като процедурата за мигане на фърмуера е извършена, ще видите: FINISH.

Затворете програмата Flash Download Tools. Това е необходимо, за да се освободи серийният порт, за да може Arduino IDE Serial Monitor да поеме.

Изключете щифта ESP GPIO_0 от земната връзка. Това ще деактивира режима на програмиране.

Свържете RESET към земята за 1 секунда и след това изключете. Това ще нулира модула.

Отворете Arduino IDE. От горното меню изберете Инструменти> Порт> изберете правилния COM порт. Отворете Serial Monitor и изберете "И NL & CR" и изберете скорост на предаване от 115200, която е по подразбиране.

Тип:

AT

Ако процедурата за мигане е преминала правилно, отговорът ще бъде:

Добре

За да проверите новия си фърмуер, въведете:

AT+GMR

Ето изхода на серийния монитор за моя ESP-01:

AT+GMR

AT версия: 1.6.2.0 (13 април 2018 11:10:59) Версия на SDK: 2.2.1 (6ab97e9) време на компилация: 7 юни 2018 19:34:26 Версия на кошчето (Wroom 02): 1.6.2 OK

Стъпка 6: Променете трайно скоростта на предаване

Променете трайно скоростта на предаване
Променете трайно скоростта на предаване

Тази част е по избор. Скоростта на предаване по подразбиране е 115200, но ако искате да я промените на друга скорост на предаване, можете просто да въведете следната команда в серийния монитор на Arduino.

Например, ако искате да промените на 9600 скорост на предаване / 8 бита данни / 1 стоп бита / без паритет бит / без контрол на потока.

Напишете в:

AT+UART_DEF = 9600, 8, 1, 0, 0

Отговорът трябва да бъде:

Добре

Горната команда променя скоростта на предаване за постоянно на 9600, но можете да изберете някоя от стандартните скорости на предаване.

Стъпка 7: Отстраняване на неизправности

Отстраняване на неизправности
Отстраняване на неизправности
Отстраняване на неизправности
Отстраняване на неизправности

Ако има някакви аномалии след успешно мигане на фърмуера, например в серийния монитор, след като изберете скорост на предаване по подразбиране 115200 и въведете: AT, но не виждате никакъв отговор или ако въведете AT+GMR и получите някакъв друг вид информация, различна от информацията за версията на фърмуера, тогава може да сте мигали с грешен фърмуер. В този случай, в програмата Flash Download Tools, след като натиснете бутона СТАРТ, за да стартирате процедурата за мигане на фърмуера, зеленият бутон за състоянието чете SYNC и това е етапът, в който информацията за ESP модула се извлича и става достъпна под DETECTED INFO. Тази информация е от решаващо значение за определяне на правилния фърмуер и правилните файлове за мигане.

Следното е за моя модул ESP-01:

доставчик на флаш:

E0h: N/A флаш devID: 4014h QUAD; 8Mbit кристал: 26 Mhz

Вашата ОТКРИТА ИНФОРМАЦИЯ ще зависи от модела ESP-01. Но това ще ви позволи да изведете правилния размер на светкавицата. В моя ESP той е 8Mbit, което е еквивалентно на 1 MB. Това означава, че трябва да избера 512 KB + 512 KB от файловете на фърмуера. И това също означава, че фърмуерът 1.7.0 или 1.7.1 няма да работи правилно за моя ESP модул, което също потвърдих чрез мигане на този фърмуер и тестване. Също така в описанието на фърмуера 1.7.0 и 1.7.1 на официалния уебсайт за ресурси на Espressif е посочена следната информация: „Ограничено от размера на AT контейнера, само„ 1024+1024 флаш карта “се поддържа от по подразбиране. 1024+1024 означава, че е за ESP модул с общ размер на флаш от 2048 KB или 2 MB.

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

Препоръчано: