Докладна інструкція з програмування ESP8266 з прошивкою NodeMCU / Lua під Windows: 1.Необхідні інструменти

Вступ

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

1. Необхідні інструменти

В той чи інший спосіб ми будемо застосовувати наступні інструменти::

  1. 30-45 хвилин вільного часу на виконання всіх етапів інструкції;
  2. ПК чи ноутбук з ОС Windows з доступом до Інтернет;
  3. Обліковий запис з правами адміністратора на вашому комп’ютері;
  4. Контролер NodeMCU/ESP8266 (ESP8266-12) (бажано поцікавитися у продавця, який саме чіп UART-інтерфейсу є на борту обраної вами плати NodeMCU);
  5. Дріт USB <-> microUSB (для приєднання контролера до вашого ПК як під час прошивки, так і програмування, а також у процесі його експлуатації);
  6. Якщо у вас немає апаратної плати NodeMCU з модулем ESP8266 та вбудованим UART, і натомість ви використовуєте лише модуль ESP8266, вам додатково знадобиться зовнішній USB-UART конвертер, що дозволить підключити модуль контролера до ПК; 
  7. Текстовий редактор для написання скриптів Lua (Notepad, Sublime Text, Notepad++, чи інший);
  8. Драйвер віртуального Com-порту (має відповідати чіпу UART-інтерфейсу на NodeMCU чи зовнішнього UART конвертера) встановлений в операційній системі ПК;
  9. Спеціальна термінальна програма ESP8266 LuaLoader;
  10. Спеціальний програмний засіб для прошивки контролера (NodeMCU PyFlasher 4.0, або ESP8266 Flasher);
  11. Спеціальний двійковий файл типу (firmware.bin) прошивки NodeMCU що згенеровано на сайті NodeMCU-build.com. Як згенерувати цей файл ми докладно розглянемо далі;
  12. Текстовий файл з текстом першої програми. Далі наводимо приклад такого файлу.

Розглянемо деякі з цих інструментів докладніше:

Апаратні засоби:

  1. Плата NodeMCU з micro USB або модуль контролера ESP8266 з підключеними кнопками Flash та Reset;
  2. Кабель USB – micro USB (для плати NodeMCU) або USB – UART конвертер для модуля контролера ESP8266;
  3. Комп’ютер з OS Windows 7 і вище.

Програмні засоби:

  1. USB драйвер com-порта для CP2102 або аналогічного конвертера;

Рис. Віртуальний послідовний com-порт у Диспетчері пристроїв Windows

Драйвер віртуального com-порта потрібен як у випадку плати NodeMCU з вбудованим чіпом UART, так і якщо використовується зовнішній UART конвертер. Операційна система в більшості випадків автоматично встановлює потрібний драйвер, але іноді це потрібно робити самостійно, в ручному режимі.

Якщо драйвер не встановився автоматично після підключення NodeMCU (чи USB-UART конвертера) до ПК через USB, вам потрібно знайти і скачати потрібний драйвер в інтернет.

Для CP2102 драйвер тут: CP210x USB to UART Bridge VCP Drivers

Для CH340/CH341 драйвери є тут: How to Install CH340 Drivers

або на сайті оригінального виробника тут (сайт довго завантажується, але працює): CH341SER.ZIP

  1. ESP8266 Lua Loader

Download: http://benlo.com/esp8266/LuaLoader.zip

Потрібно скачати і встановити програму на ПК.

Рис. Інтерфейс ESP8266 Lua Loader
  1. NodeMCU PyFlasher

Download: NodeMCU-PyFlasher-4.0

Потрібно скачати і встановити програму на ПК.

Рис. Інтерфейс NodeMCU PyFlasher
  1. Файл прошивки двійковий (файл прошивки)

Файл прошивки ми створимо у наступних розділах даної інструкції.

Рис. Файли прошивки в папці

УВАГА: модулі ESP8266 постачаються з базовою прошивкою Espressif (чи виробника модуля, на кшталт AI-THINKER). Ця початкова прошивка нам не потрібна і ми її замінюємо на прошивку NodeMCU. Але базова прошивка теж дозволяє перевірити, чи робочий контролер. 

  1. Текстовий процесор (редактор).

Необхідно встановити зручний для вас текстовий редактор чи середовище розробки. Бажано, щоб цей інструмент підтримував синтаксис мови Lua. 

Ми користуємося в залежності від задач Notepad++ або Sublime Text.

Тестовий програмний код Lua:

У якості тестового програмного коду згодиться будь-який скрипт написаний на Lua, але ми пропонуємо свій приклад:

Цей код є дуже простим, але дозволяє дізнатися багато діагностичних даних про контролер: версії програмного забезпечення, кількість пам’яті тощо.

Деякі команди з даного прикладу можуть не підтримуватися ранніми версіями прошивки NodeMCU. Але якщо ваша прошивка буде побудована засобами сайту nodemcu-build.com, то там автоматично буде застосована остання версія прошивки 3.0.0 і вище. А значить і з наведеним кодом проблем не виникне.