Съдържание:
- Консумативи
- Стъпка 1: Кабелни връзки
- Стъпка 2: Проверете версията на фърмуера
- Стъпка 3: Подготовка на настройката: Преди мигането на фърмуера
- Стъпка 4: Изтеглете мигащ инструмент и фърмуер
- Стъпка 5: Процедура на мигане
- Стъпка 6: Променете трайно скоростта на предаване
- Стъпка 7: Отстраняване на неизправности
Видео: Възстановяване или надграждане на фърмуера на модул ESP8266 (ESP-01) с помощта на Arduino UNO: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Модулът 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 и компютъра, ефективно функциониращ като сериен мост.
Консумативи
- Модул ESP-01
- Arduino UNO (с USB кабел)
- Jumper DuPont проводници
- Платка
Стъпка 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.
Забележка: В случай, че се чудите, можете да понижите или надстроите между различни версии на фърмуера без никакви ограничения. Ако нещо се обърка, можете просто да премигнете отново с различни параметри или да опитате различен фърмуер.
Препоръчано:
Възстановяване на Game Boy или подобна електроника: 7 стъпки (със снимки)
Възстановяване на Game Boy или подобна електроника: Първо, благодаря, че проверихте моя урок! Страхотни сте. Второ, отделих много време на видеоклипа в YouTube, така че гледайте и него, той обяснява всичко. Видео:
Как да мигате или програмирате ESP8266 AT фърмуер чрез използване на ESP8266 мигач и програмист, IOT Wifi модул: 6 стъпки
Как да мигате или програмирате фърмуера на ESP8266 AT чрез използване на мигач и програмист ESP8266, IOT Wifi модул: Описание: Този модул е USB адаптер /програмист за модули ESP8266 от тип ESP-01 или ESP-01S. Той е удобно оборудван с 2x4P 2,54 мм женска глава за включване на ESP01. Също така, той прекъсва всички щифтове на ESP-01 чрез 2x4P 2,54 мм мъжки h
Урок: Как да изградим VL53L0X лазерен сензорен модул с помощта на Arduino UNO: 3 стъпки
Урок: Как да изградим VL53L0X лазерен сензорен модул с помощта на Arduino UNO: Описания: Този урок ще ви покаже подробно как да изградите детектор за разстояние с помощта на VL53L0X лазерен сензорен модул и Arduino UNO и той ще работи като вас искам. Следвайте инструкциите и ще разберете този учител
Управлявайте Arduino Uno с помощта на WiFi модул ESP8266 и приложението Blynk: 6 стъпки
Управлявайте Arduino Uno с помощта на ESP8266 WiFi модул и приложение Blynk: Този проект ви позволява да контролирате щифтовете на Arduino, използвайки ESP8266-01 WiFi модул и приложението Blynk. Приложението Blynk е много лесно за използване и е чудесен начин да започнете да научавате за IoT. Този урок е за компютър с Windows
Възстановяване на неправилно конфигуриран HC-06 Bluetooth модул: 4 стъпки
Възстановяване на неправилно конфигуриран Bluetooth-модул HC-06: От чист максимализъм, аз конфигурирах своя HC-06 Bluetooth (подчинен) модул към скорост на предаване от 1 382 400 бода с командата AT+BAUDC. Откакто свързаният с него Arduino не можеше да използва модула с библиотеката SoftwareSerial. Опитах се да възстановя