ESP-8266, ESP32 - как залить прошивку, невзирая на мнение модуля.

Тема в разделе "ESP8266, ESP32", создана пользователем ИгорьК, 29 ноя 2017.

  1. ИгорьК

    ИгорьК Гуру

    Я не встречал способа.
     
  2. Vladimir11

    Vladimir11 Нерд

    Поискал в интернете, нашел следующее:
    https://www.google.ru/search?newwin...pFJoKHeKhCzUQ1QIoAHoFCAEQoAE&biw=1698&bih=988
    Read Flash Contents: read_flash
    The read_flash command allows reading back the contents of flash. The arguments to the command are an address, a size, and a filename to dump the output to. For example, to read a full 2MB of attached flash:

    ./esptool.py -p PORT -b 460800 read_flash 0 0x200000 flash_contents.bin

    Не подскажете, это не оно ?
     
  3. ИгорьК

    ИгорьК Гуру

    Ну да, эта команда читает кусок памяти модуля с указанного адреса указанного размера. Получается что чтение возможно.
    Век учись. Не сталкивался.
     
  4. Vladimir11

    Vladimir11 Нерд

    Спасибо. Буду пробовать (с Питоном раньше не имел дела...)
     
  5. Vladimir11

    Vladimir11 Нерд

    Да, flash читается...
     
  6. Vladimir11

    Vladimir11 Нерд

    Может быть, кому-то пригодиться:

    чтение прошивки ESP32:
    py esptool.py -p COM3 -b 115200 read_flash 0 0x400000 fl.bin
    Запись:
    py esptool.py -p COM3 -b 115200 write_flash -fm dio 0 fl.bin

    Бэкапится и восстанавливается.
     
    tpolimer, Airbus и ИгорьК нравится это.
  7. ostrov

    ostrov Гуру

    Разобрался. )
     
    Последнее редактирование: 31 май 2018
    ИгорьК нравится это.
  8. ostrov

    ostrov Гуру

    Где бы мануалов толковых и примеров почитать для начала? Как то с еспруино плотно не работал еще. Теперь вот раз они стали доступнее для массовых поделок, то можно и углубиться.
     
  9. ИгорьК

    ИгорьК Гуру

    Сначала надо въехать в JavaScript. ИМХО, самое простое - Вахтуров. Читать только первую главу - основы.
    upload_2018-5-31_22-58-25.png

    Потом читать амперкины примеры и сайт javascript.ru
    Я так разбирался. (Правда без амперкиных примеров. Программировать они не учат, а только копипастить код).
    Как поймешь чем лампочки дергать - сайт espruino, там API, доки, примеры кода.

    А доступнее все стало с выходом ESP32 и ее поддержкой espruino.
     
    Последнее редактирование: 1 июн 2018
    ostrov нравится это.
  10. ostrov

    ostrov Гуру

    Хотелось бы применительно именно к МК. Веб дизайн все не то. Почему то пока практически ничего не нашел.
     
  11. ИгорьК

    ИгорьК Гуру

    Так ничего и нет. Первая глава книги чтобы въехать в целом, а дальше на сайт Espruino.
    http://www.espruino.com/Reference#software - после основных моментов API и модулей http://www.espruino.com/Modules идут ссылки на примеры проектов: http://www.espruino.com/Tutorials

    Что не понятно - javascript.ru https://learn.javascript.ru/
    Мне кажется, это единственный приемлемый способ разобраться.
     
  12. ostrov

    ostrov Гуру

    Да изучаю как раз там. В первоисточнике все в виде каких то коротких статей и примеров. Где функционал списком? Например как событийно реагировать на нажатую кнопку, возможно ли такое вообще? Или крутить опрос как на C++?

    Опять же аппаратные тонкости. Одинаково ли используется долговременная память на STM и ESP?
     
  13. ИгорьК

    ИгорьК Гуру

    Ну что сказать. Я делаю скрипты без проблем, хотя язык знаю слабо.
    Уже писал неоднократно, что JS и Lua в логике программирования - близнецы-братья.
    Попробуйте почитать мои заметки про Lua, гарантирую что поймете как писать на JS.
    Да и польза в работе с ESP-8266 будет.
    Это все что могу еще добавить. Я разобрался с Lua и без проблем понимаю JS, хотя предпочитаю к нему обращаться только если исчерпал железные возможности ESP-8266.
     
  14. ostrov

    ostrov Гуру

    Я ESP32 разжился на пробу, исчерпывать наверное придется долго. )
     
  15. ostrov

    ostrov Гуру

    Так во что лучше упереться на этих железках в JS или Lua? Для начала хотя бы.
     
  16. ИгорьК

    ИгорьК Гуру

    Для ESP-8266 - lua, для ESP32 - espruino.
    Но, поверь, здесь нужно логику Си ломать и с этой точки зрения языки очень близки. Синтаксис роли не играет.
     
  17. ostrov

    ostrov Гуру

    Логика понятная. Действия происходят не последовательно, а событийно, как в MS Visual. По нажатию кнопки, приходу сообщения, таймеру и тд и тп. Но как это все в реальности делается - вот задача для освоения. И вот например. Блинк. Как на ходу изменить интервал? Присвоение в переменную en никак не влияет, остается первоначальное.
    Код (Javascript):
    setInterval(function() {
      {
      on = !on;
      D23.write(on);
      }
    }, en);
     
  18. ИгорьК

    ИгорьК Гуру

    Тут надо понять, что таймер - не функция, а экземпляр класса. Как он там внутри создан - так и работает.
    У тебя на этой задаче прекрасная возможность сравнить lua & JS
    JS : https://learn.javascript.ru/settimeout-setinterval.
    Амперка написала свой таймер: http://wiki.amperka.ru/js:timer

    Lua: http://nodemcu.readthedocs.io/en/master/en/modules/tmr/
    или ко мне на русском:
    http://forum.amperka.ru/threads/esp-8266-lua-азы-программирования-nodemcu.12558/page-12#post-160314
    Но логика работы у них одинаковая. Абсолютно.

    Извини, подробнее с сотового не могу.
     
    Последнее редактирование: 1 июн 2018
  19. sys

    sys Злобный Буратино Модератор

    почитайте описание функции setWatch:
    http://wiki.amperka.ru/js:builtins

    ступил сначала не по-детски :) используйте функцию changeInterval(id,time), id - значение возвращаемое setInterval(), т.е.:

    Код (Javascript):
    var int_ID = setInterval(function(){},time);
    changeInterval(int_ID,newtime);
    либо можно с помощью setTimeout() и рекурсии :
    Код (Javascript):
    var  on = false;
    var  en = 500;
    function blink(){
      on = !on;
      LED1.write(on);
      en = Math.round(Math.random()*300+50);
      setTimeout("blink()",en);
    }
    blink();
     
  20. ИгорьК

    ИгорьК Гуру

    Кстати, амперкины библиотеки работают с ESP32? Что-то не проверял.