Программируем модуль ESP-12F

В предыдущей публикации я осветил вопросы прошивки и программирования отладочной платы NodeMcu и пообещал отдельно рассмотреть нюансы программирования отдельного модуля на ESP8266. На пути лежали не одни грабли, суть которых — неверное подключение, но всё позади — и всё работает.

Итак, что с железом: модуль ESP-12F с четырьмя мегабайтами флеш-памяти и неведомой прошивкой с завода; модуль на базе FT232RL, спаяный когда-то и долго лежавший без дела; кнопка (можно две, а можно и ни одной); провода (любые, в моём случае — МГТФ).

Программы описаны в предыдущей статье, это nodemcu-uploader на Питоне и ESPlorer на Жабе :).

Цель работы (как в школе!): залить в модуль прошивку, которая позволит программировать его на языке Lua, и, собственно, попробовать заливать в него свой код, то есть свой файл init.lua.

Первым делом — что куда паять.

Соединяются линии приёма и передачи в обоих направлениях, подаётся питание на выводы VCC и EN. Последний — это вывод, который по высокому уровню переводит модуль в режим готовности (собственно, включает). Земля подключается также к GPIO15, иначе не сработает. Когда кнопка FLASH нажата и подаёт ноль на вход GPIO0 — модуль в режиме программирования, ждёт общения через линии RX-TX; когда отпущена — модуль загружается с внутренней флеш-памяти и выполняет залитый в него init.lua. Можно запаять не кнопку, а съёмную перемычку. Без кнопки RESET можно вообще обойтись, если кратковременно касаться тонким пинцетом экрана модуля и вывода RST.

Поехали заливать прошивку. Запускаем nodemcu-uploader.py, выбираем порт, прошивку и остальное (подробнее лучше глянуть в предыдущей статье). Жмём и удерживаем FLASH, кратковременно дёргаем RESET, нажимаем кнопку заливки прошивки. Когда процесс закончился и появилась надпись про Hard reset — можно отпускать FLASH (или снимать перемычку). Самое сложное позади.

Осталось залить свой init.lua. Как и в предыдущей статье открываем ESPlorer, соединяемся с модулем, дёргаем на нём RST — и он говорит в терминале, что ждёт ввода строк на Lua. При заливке кода жать FLASH уже не нужно.

Собственно — всё. Добавлю только, что залитый init.lua не исчезает при отключении питания и при включении исправно выполняет последнее, что было записано. Так и должно быть!


Protected by Copyscape Online Plagiarism Test
Вы не можете высказаться или оставить ссылку здесь...

Обсуждение закрыто.

Powered by WordPress | Thanks to NewWpThemes | Александр Божок