• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Восстановить родную прошивку на WeMos D1 mini

Principal AG

New member
Всем бодрого в.с. от новичка.
Имею такую железку: WeMos D1 mini NodeMcu Lua
WeMos_D1_mini.jpg
Подал питание (через USB) - в домашней WiFi сети появилось новое устройство: FaryLink_E57FF5.
Через Arduino IDE прошил простенький скетч для мигания встроенного светодиода. Светодиод замигал, но вот WiFi устройство из сети пропало.
Своим дилетантским умишкой предположил, что перепрошивкой из Arduino IDE убил его собственную прошивку, создававшую эту самую WiF iточку. Где искать его родную прошивку что бы восстановить - не знаю. Попробовал перепрошить утилиткой ESP8266Flasher его встроенной прошивкой INTERNAL://NODEMCU. Точка доступа снова появилась. Значит помогло. Но как теперь писать и отлаживать простенькие скетчи для этого контроллера на Arduino IDE? В скетче, даже самом простом, обязательно должны быть прописаны директивы создающие точку доступа (какие именно пока не знаю) или точка доступа так и будет пропадать после каждой перепрошивки пользовательским скетчем из Ардуины? ... или я что-то делаю не так?
Заранее спасибо.

З.Ы По ходу ещё один вопрос. Есть необходимость в некой минимальной прошивке (для вышеупомянутой железки). В ней не нужно ничего (ни АТ команд, ни Питон, ни Луа ... ) только поднять HTTP сервер выдающий одну единственную html страничку с формой и реагирующий на действия пользователя в этой форме. Если такие прошивки есть, то буду очень признателен за ссылки. Или может стоит потратить время и заморочиться созданием собственной прошивки средствами того же ESPlorer?
З.З.Ы Ещё буду весьма признателен если подскажите где всё же взять родную (firmware) прошивку моего девайса? ... а то без неё как-то неуютно. ))

Прошу прощения если мои вопросы несколько сумбурны, просто пока ещё даже не смог толком оценить объём того чего не знаю ... о микроконтроллерах. ))
 

esp340

Active member
где всё же взять родную (firmware) прошивку моего девайса?
Нигде, разве что у производителя выпросить.
А если серьезно - заходите в примеры, ESP8266WiFi. Находите там пример скетча для точки доступа, заливаете и радуетесь. Название можете прописать какое угодно или, если сильно понравилось, хоть и изначальное FaryLink_E57FF5
 

CodeNameHawk

Moderator
Команда форума
Нигде, разве что у производителя выпросить.
С каких это пор луа или ат надо выпрашивать.

Или может стоит потратить время и заморочиться созданием собственной прошивки средствами того же ESPlorer?
Стоит заморочиться и почитать о есп, хотя бы на главной этого сайта.
 

Principal AG

New member
Стоит заморочиться и почитать о есп, хотя бы на главной этого сайта.
Извините, Вы меня несколько не поняли. Дело в том, что я пока не могу осознать разницы - где кончается понятие "прошивка" и начинается понятие "скетч" (приложение) и на главной странице этого сайта об этом не написано. Судя по ответу ув. "esp340" в контексте ESP8266 это вообще одно и то же. Мне это непривычно. Вы тоже хотите сказать, что ESP8266 априори нет никакой собственной микропрограммы, а есть лишь то, что пользователь залил в неё в виде "скетча"? Это действительно так?
 

esp340

Active member
С каких это пор луа или ат надо выпрашивать.
Я не знаю что хочет ТС, но я имел ввиду под "родной" прошивкой воостановление модуля до состояния искаропки, т.е. появления ТД с таким же именем и функциональностью какое было до перепрошивки.
 

Principal AG

New member
Извините, ещё и Вас переспрошу по терминологии. Я правильно понял, что в контексте ESP8266, понятия "прошивка" и "скетч" по сути одно и то же?. ... или вернее - "прошивка" это то, что получается в результате компиляции "скетча"? И ничего другого, создающего функционал микроконтроллера, в него не заливается?
 

Principal AG

New member
Я не знаю что хочет ТС, но я имел ввиду под "родной" прошивкой воостановление модуля до состояния искаропки, т.е. появления ТД с таким же именем и функциональностью какое было до перепрошивки.
А неужели нет средств слить из микроконтроллера бинарник (прошивку) которая в него была залита производителем и потом выложить файл этого бинарника ... на радость людям? ))
 

esp340

Active member
А неужели нет средств слить из микроконтроллера бинарник (прошивку) которая в него была залита производителем и потом выложить файл этого бинарника ... на радость людям? ))
А кому она нужна? В заводской прошивке нет ничего оригинального и полезного.
 

tretyakov_sa

Moderator
Команда форума
А неужели нет средств слить из микроконтроллера бинарник (прошивку) которая в него была залита производителем и потом выложить файл этого бинарника ... на радость людям? ))
У вас там WeMos D1 mini NodeMcu Lua это значит что у вас скорее всего была lua внутри. Хотя гарантии нет. Все что касается lua находится здесь https://github.com/nodemcu/nodemcu-firmware
Не ясно зачем вы ее пытаетесь вернуть если пишите что --- (ни АТ команд, ни Питон, ни Луа ... )
Возьмите пример веб сервера из arduino примеров и сделайте то что вам нужно.
 

Principal AG

New member
А кому она нужна? В заводской прошивке нет ничего оригинального и полезного.
Ну ... заводские прошивки видеокарт, мобильников, различных приставок ... и пр. девайсов выкладывают и немало, значит это кому-то нужно. Думал, что и с микроконтроллерами так же. ))
 

esp340

Active member
Ну если очень хочется - вот вам прошивки от производителя чипа. Только то что вам нужно там нет. Где искать необходимое вам уже подсказали выше
 

CodeNameHawk

Moderator
Команда форума
т.е. появления ТД с таким же именем и функциональностью какое было до перепрошивки.
Ну так там и бывает АТ или Lua, я это о WeMos D1 mini .

Ну ... заводские прошивки видеокарт, мобильников, различных приставок ... и пр. девайсов выкладывают и немало, значит это кому-то нужно.
Вы путаете прошивку и операционную систему.
В прошивке (нп. в ардуино иде) есть все для функцианирования есп. При помощи ардуиноиде, Скетч плавно превращается в прошивку и заливается в есп, даже сторонний загрузчик не нужен.
В луа или в АТ немного по другому.
 

Principal AG

New member
Возьмите пример веб сервера из arduino примеров и сделайте то что вам нужно.
Спасибо, к этому в общем-то на текущий момент и пришёл. Но тут неясным остаётся ещё один вопрос, думал даже отдельную тему открыть.
В менеджере плат обозначил свою плату как LOLIN(WEMOS) D1 R2 & mini.
Создаю новый скетч (стандартную ардуиновскую пустышку), запускаю её на компиляцию и на выходе получаю:
Скетч использует 260089 байт (24%) памяти устройства. Всего доступно 1044464 байт.
Глобальные переменные используют 27892 байт (34%) динамической памяти, оставляя 54028 байт для локальных переменных. Максимум: 81920 байт.
Но ведь пустышка из двух процедур setup и loop столько весить не может. Значит в память залетает что-то ещё, хотя даже ни одной библиотеки в скетче я
не подцеплял. Включил вывод подробных сообщений компилятора и среди прочих, пока непонятных вещей, увидел знакомое слово:
\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3
т.е. вдобавок к моей пустышке, компилятор цепляет ещё и как минимум интерпретатор Питона ... и что-то ещё с не менее солидным весом. Зачем? Кто ему сказал так делать? Ведь я его об этом не просил. ))
Можно ли как-то это отключить? Ведь что-то писать на Питоне я ни коем образом не собираюсь. Зачем зазря терять такую кучу ресурсов?!
В идеале хочу собрать прошивку использующую лишь библиотеки: FS, ESP8266WiFi, ESP8266WebServer ... ну и возможно WebClient, усли всё же решу лезть в большой интернет и что-то оттуда брать. Максимум пространства хотелось бы освободить для своей функциональной задачи, ибо она планируется немалая.
Можно ли как-то на Arduini IDE собрать прошивку именно таким образом?
Заранее спасибо.
 

Principal AG

New member
Это пустышка вместе с функцями, нужными для работы самой есп.
Извините, а что это за наполнение? Можно ли об этом где-то почитать? И самое главное - можно ли этим в среде Arduini IDE как-то управлять?
... Вообше как-то это странно. Хорошо в моём модуле аж 4 Мб. флеша, там хоть куда всё это добро впихивать. А как же бедная ESP-01? Ведь у неё стандартно всего 1 Мб. флеша и если ей загнать туда такой же паровоз, то под пользовательский функционал там вообще ничего не останется. А ведь функционал WiFi на всех ESP8266 платах вроде как одинаковый. Мне почему-то кажется, логичнее предположить, что такой объём отъедает скорее причастность моей платы к славному семейству NodeMCU и связанные с этим дополнения. Ещё раз повторю, очень хотелось бы об этом поподробнее почитать и если возможно, то как-то всем этим делом управлять.
 

CodeNameHawk

Moderator
Команда форума
Извините, а что это за наполнение? Можно ли об этом где-то почитать?
https://ru.wikipedia.org/wiki/ESP8266
Производитель не предоставляет документации на внутреннюю периферию микроконтроллера. Вместо этого он дает набор библиотек, через API которых программист получает доступ к периферии. Поскольку эти библиотеки интенсивно используют ОЗУ контроллера, то производитель в документах не указывает точное количество ОЗУ на кристалле, а только приблизительную оценку того количества ОЗУ, что останется пользователю после линковки библиотек — порядка 50 кБ. Энтузиасты, исследовавшие библиотеки ESP8266, предполагают, что он содержит 32 кБ кэша инструкций и 80 кБ ОЗУ данных.

Электрические параметры, цоколевки, схемы включения можно найти в документах «0A-ESP8266EX__Datasheet» и «0B-ESP8266__System_Description» из Espressif SDK[4].
 
Сверху Снизу