Докладна інструкція з програмування ESP8266 з прошивкою NodeMCU / Lua під Windows: 3. Створення двійкового файлу прошивки

Вступ

  1. Необхідні інструменти
  2. Перше підключення та перевірка справності нового модуля ESP8266, або плати NodeMCU
  3. Процедура створення двійкового файлу прошивки
  4. Процедура прошивки нового модуля ESP8266 / NodeMCU 
  5. Завантаження і запуск тестового програмного Lua-коду в контролер 

3. Процедура створення двійкового файлу прошивки

Існує кілька шляхів виготовлення двійкового (бінарного) файлу прошивки NodeMCU, але ми розглянемо найпростіший і найшвидший спосіб – за допомогою спеціального сайту nodemcu-build.com

Що нам знадобиться на цьому етапі:

  • робочий акаунт електронної пошти;
  • браузер на ПК;
  • перелік модулів, які ми бажаємо включити до складу нашої нової прошивки NodeMCU;
  • доступ у інтернет.

Дії, що потрібно виконати:

Дія 1. Заходимо на сайт nodemcu-build.com через браузер на ПК. Сайт виглядає ось так:

Рис. Загальний вигляд сайту nodemcu-build.com

Дія 2. Щоб визначитися з потрібними модулями, ви можете самостійно прочитати документацію на модулі прошивки, перш ніж переходити до її виготовлення.

Документацію знайдете тут: NodeMCU Documentation

Також рекомендуємо переглянути глобальну статистику використання тих чи інших модулів тут: Builds today – Total builds – Unique users

Є ще одна підказка: за замовчуванням сайт пропонує перелік певних модулів:

file, gpio, net, node, timer, uart, wifi.

Їх варто завжди включати у свою прошивку, доки не зрозумієте всіх нюансів, щоб самостійно обирати модулі. Рекомендованих модулів цілком достатньо, щоб зробити робочу прошивку NodeMCU.

Стосовно призначення модулів прошивки у нас на сайті є кілька докладних публікацій:

Відповідно до наших власних задач і досвіду, рекомендуємо наступні обов’язкові модулі: node, file, gpio, http, i2c, net, rtctime, sntp, tls, tmr, wifi. Але не обмежуючись й іншими, відповідно до ваших проектів. Зазвичай, в одну прошивку можливо включити до 20-22 модулів.

Примітка: зверніть увагу, що модуль tls є “особливим”, адже його неможливо вибрати з переліку і його наявність в прошивці регулюється прапорцем

“TLS/SSL support provided by mbed TLS: TLS 1.0 / 1.1 / 1.2 and most common cipher suites including DH/ECDH (ECDSA-based disabled by default)” у розділі “Miscellaneous options” сайту nodemcu-build.com.

Дія 3. Вказуємо на сайті nodemcu-build.com свою адресу електронної пошти.

На цю адресу прийде посилання на скачування файлів прошивки типу *.bin. Один файл буде з прошивкою float, а другий з прошивкою integer. Погугліть чим відрізняються ці два варіанти прошивки. Якщо коротко, то: прошивка integer дозволяє працювати із значеннями типу number: integer, прошивка ж float, відповідно зберігає всі значення чисел у вигляді number : floating.

Дія 4. Обираємо в розділі “Select branch to build from” release, якщо вам потрібна надійна, стабільна версія прошивки для ESP8266. Якщо ж ви готові до експериментів з новими функціями, то тоді можна обрати dev гілку.

Ми особисто завжди користуємося прошивкою float, бо вона краще підходить для наших задач. В документації вказано (і це логічно), що скрипти в прошивці integer, займають менше оперативної пам’яті.

Деякі датчики передбачають, що їх будуть застосовувати у прошивках де використовуються цілі числа. Наприклад, BME280 та BME680 повертає значення показників помножені на 10 та 100, щоб подати виміри у вигляді цілих чисел, без крапки.

Сайт nodemcu-build.com щоразу бере останню версію прошивки з гілки release щоб побудувати двійкові файли для вас.

Для того щоб зрозуміти, що таке гілки, коміти та релізи – варто почитати про Github, якщо ви ніколи не мали справи з цією системою. Адже прошивка NodeMCU є відкритим вихідним кодом, що публікується і зберігається колективом авторів на ресурсах Github.

Це не означає, в той же час, що ваші власні Lua-скрипти потрібно публікувати і зберігати у такий спосіб. Ні, то ваша власна справа.

Дія 5. Обираємо потрібні нам модулі в розділі “Select modules to include” сайту.

Специфічні модулі. Деякі модулі з переліку можуть мати додаткові налаштування. Наприклад, модуль бібліотекти U8G2, для графічних OLED дисплеїв, будучи обраним для включення у прошивку, покаже окремим розділом свої додаткові параметри нижче на сторінці.

Рис. Додаткові налаштування модуля бібліотекти U8G2

Таким чином можуть себе вести і інші подібні модулі, котрі потребують розширених налаштувань.

Дія 6. В розділі “Miscellaneous options” ставимо прапорець “TLS/SSL…” для того, щоб ваш NodeMCU міг працювати по протоколу HTTPS.

Дія 7. Інші параметри налаштувань не змінюємо.

Дія 8. Натискаємо внизу кнопку “Start your build”.

У випадку, якщо ви обрали завелику кількість модулів для включення до складу прошивки, сайт покаже сторінку помилки і все потрібно буде робити з початку:

Рис. Помилка налаштувань в замовленні прошивки

У випадку, якщо все заповнено вірно, сайт покаже сторінку з переліком модулів:

Рис. Замовлення на виготовлення прошивки прийняте

Дія 9. Далі переходимо у поштову програму і чекаємо на лист від сайту nodemcu-build.com.

Дія 10. Загалом прийде два листи:

  • про те, що побудова прошивки почалася;
  • та про те, що прошивка готова для скачування з посиланнями в тілі листа.
Рис. Лист від сайту nodemcu-build.com про готовність прошивки для скачування

Дія 11. Потрібно скачати файли прошивки на свій ПК.