- Необхідні інструменти
- Перше підключення та перевірка справності нового модуля ESP8266, або плати NodeMCU
- Процедура створеня двійкового файлу прошивки
- Процедура прошивки нового модуля ESP8266 / NodeMCU
- Завантаження і запуск тестового програмного Lua-коду в контролер
4. Процедура прошивки нового модуля ESP8266 / NodeMCU
Що нам знадобиться на цьому етапі:
- Двійковий файл прошивки ( створений засобами сайту nodemcu-build.com );
- Програма NodeMCU PyFlasher.
Дії, що потрібно виконати:
Дія 1. Після звільнення порта в Lua Loader, запускаємо програму NodeMCU PyFlasher – для прошивки контролера нашим двійковим файлом *.bin
Дія 2. У програмі PyFlasher обираємо порт, файл прошивки. Налаштування не змінюємо – як правильно, вказано на скріншоті:
Дія 3. Переводимо контролер у режим прошивки:
- спочатку натискаємо на контролері кнопку Flash;
- потім не відпускаючи flash натискаємо кнопку Reset;
- Reset відпускаємо утримуючи Flash;
- лише потім відпускаємо Flash теж.
Таким чином ми перевели ESP8266 у режим прошивки.
Без переведення контролера у режим прошивки, він не буде відповідати на спроби PyFlasher записати нову прошивку.
З досвідом ви зможете помітити, що інколи контролер автоматично підхоплює запит на прошивку, але в більшості спроб, необхідно буде вручну перевести контролер у режим прошивки.
Дія 4. Після переводу ESP8266 у режим прошивки, натискаємо у програмі PyFlasher клавішу Flash NodeMCU і спостерігаємо процес прошивки.
Якщо контролер не перейшов у режим прошивки, або не відповідає з інших причин, то в консолі PyFlasher буде наступна, або подібна картина:
Дія 5. З процесу прошивки може бути два результати: або все прошиється, або програма не знайде контролер.
Контролер може бути не знайдено через:
- Помилкове підключення інтерфейсів UART. Має бути TX – RX, RX – TX, GND – GND.
- Відсутність живлення на контролері, адже через зовнішній UART-адаптер живлення може навмисно НЕ подаватися. У випадку плати NodeMCU цієї проблеми бути не може, адже там вбудований UART конвертер.
- Контролер не перевівся у режим прошивання ( Flash + Reset було натиснуто не у тій послідовності ).
- Com-порт зайнятий іншою програмою в Windows.
- Драйвер com-порту працює не вірно, або не встановлений в ОС Windows.
Процес успішної прошивки виглядає так, як показано на скріншоті:
Дія 6. У випадку, коли прошивку успішно завантажено у контролер, потрібно:
- закрити програму PyFlasher;
- повернутися у програму Lua Loader;
- натиснути в Lua Loader кнопку Connect;
- натиснути кнопку Reset на контролері.
Дія 7. Контролер почне видавати у термінал крапки “……” – так відбувається форматування Flash-пам’яті. Потрібно дочекатися завершення форматування.
Якщо форматування не почалося, або контролер взагалі не показує зрозумілих символів, потрібно зачекати до 5 хвилин і натиснути кнопку Reset ще раз. Також можна спробувати відключити живлення контролера і знову підключити.
Зауважте, що система вводу-виводу в консоль працює на швидкості 115200 бод/с, відповідно, щоб бачити зрозумілий текст в консолі, Lua Loader теж має бути налаштована на швидкість 115200.
Дія 8. Щоб перевірити, чи працює контролер вже під керуванням нової прошивки NodeMCU, можна написати у командний рядок:
1 |
= node.heap() |
і натиснути Enter (або Send у інтерфейсі програми Lua Loader).
40456 — це відповідь контролера про кількість вільної пам’яті ОЗУ.
Такий же результат буде, якщо натиснути кнопку Heap програми Lua Loader праворуч у наборі інструментів.