WeMos TTGO Модуль WiFi передатчика ESP8266 Nodemcu с OLED-экраном 0.91 дюйма

Цена:

1140 р.
Код товара: 13861
Оригинальное название:
TTGO ESP8266 NodeMCU With 0.91 Inch OLED Display Module

TTGO WeMos Модуль беспроводной передачи WiFi NodeMCU на чипе ESP8266 с OLED-экраном 0.91 дюйма

Воодушевившись оглушительным успехом, вызванным появлением на мировом рынке микроконтроллеров чипа ESP8266 от знаменитой Espessif Systems, а также повсеместно возрастающей популярностью беспроводных соединений с одновременным возникновением концептуальных вычислительных сетей нового поколения, торговая марка TTGO выпускает в свет под своим брендом ряд успешных и востребованных электронных решений. Её продукты входят в состав нескончаемого перечня Ардуино-совместимых изделий, разрабатываемых разными производителями, и насчитывающих на сегодняшний день просто безумное количество всевозможных простых и сложных, полезных и удобных товаров.

Модуль TTGO WiFi ESP8266 NodeMCU наделён по-настоящему огромным потенциалом, способным помогать начинающим или профессиональным разработчикам в изобретении собственных уникальных инновационных проектов с поддержкой не менее известной технологии Интернета Вещей (IoT, Internet of Things), в основе которой заложено удаленное взаимодействие между умными приборами, размещёнными по всему земному шару на различные расстояния и вооружёнными средствами доступа к всемирной глобальной паутине Интернет. Среди необъятного многообразия способов применения модуля, чаще всего выделяется конструирование образовательной, строительной, бытовой или промышленной робототехники, создание средств связи и контроля для совмещённого с микроконтроллером периферийного оборудования, изготовление многоцелевых стационарных или мобильных приложений, базирующихся на автономном источнике питания, и многое другое.

Платформа разработки приложений TTGO ESP8266 Nodemcu стирает границы перед необходимостью знания единственного языка программирования, она прекрасно понимает и основополагающий С++, и удобный скриптовый Lua, и даже MicroPhyton. Свободно распространяемый исходный код прошивок различных версий наборов средств разработки (SDK) даёт разработчику возможность самостоятельно проводить необходимые изменения и создавать модифицированные прошивки с интерпретатором NodeMCU или на базе АТ-команд, предварительно настроенных под нужды проекта. Одновременно с этим, TTGO целиком и полностью поддерживает разработку пользовательских приложений на основе общеизвестных редакторов Arduino IDE или ESPlorer для операционных систем Windows, Linux или Mac-OS.

Технические характеристики

  • Контроллер
    • ESP8266EX Serial WiFi, однокристальная система на основе Tensilica L106 с ультра-низким энергопотреблением, разрядность 32-бит
    • Тактовая частота: 80 МГц (до 160 МГц)
    • Рабочее напряжение: 3.3 В
    • Потребляемый ток: до 300 мА
    • Флеш-память: 32 МБит / 4 МБайт
    • Диапазон частот: 2.4ГГц-2.5ГГЦ (2412М-2484М)
    • Режимы WiFi: Клиент, Программная точка доступа, Клиент+Программная точка доступа (station, softAP, station+softAP)
    • Защита: WPA-PSK, WPA2-PSK
    • Шифрование: WEP, TKIP, AES
    • Протоколы WiFi: 802.11 b/g/n
    • Выводы общего назначения (вход/выход, GPIO): 11
    • Аналоговые входы: 1, разрядность 10-бит
    • Максимальный ток на контакт общего назначения: 12 мА, рекомендуемый 6 мА
    • Связь по USB: чип CP2104 USB-UART
    • Технология STBC, 1x1 MIMO, 2x1 MIMO
    • Выходная мощность в режиме 802.11b: +20dBm
    • Интерфейсы: GPIO, UART, I2C, HSPI, PWM
    • Скорость передачи данных: 300-4608000 бод, по умолчанию 115200 бод
    • Встроенный переключатель приёма/передачи, согласующий высокочастотный трансформатор, усилитель мощности
    • Встроенные блоки: согласования сети, фазовой автоподстройки частоты, управления питанием, блоки регулирования
    • Антенна WiFi: PCB, разведена на плате в виде дорожки
    • Поддержка Arduino, NodeMCU, MicroPhyton
    • Поддержка файловой системы SPIFFS
    • Поддержка функций Smart Link для устройств на Andriod и iOS
    • Поддержка АТ-команд, Облачного Сервера и Наборов Разработки (SDK), обновление прошивки
  • Дисплей
    • Тип: монохромный, OLED
    • Разрешение: 128х32 точек
    • Контроллер: SSD1306
    • Диагональ: 0.91 дюйма (23.1 мм)
  • Общее
    • Напряжение питания: 5 В
    • Контроллер заряда батареи: LTC4054
    • Ток заряда: 500 мА
    • Светодиодный индикатор режима заряда
    • Разъём подключения внешней перезаряжаемой литиевой батареи
    • Шаг между контактами: 2.54 мм
    • Рабочая температура: -20°...+85°
    • Размеры: 50.8 х 18.4 х 7.5 мм

Конструкция TTGO ESP8266 0.91-OLED основана на оригинальной разработке NodeMCU DevKit 1.0, однако заметно отличается от прародителя размерами платы (они стали намного меньше) и совершенно непохожим порядком расположения контактов. Модуль включает в себе совокупность аппаратных средств, сочетающих первоочередной минимальный набор оборудования, необходимого для создания практически готового полноценного и независимого IoT-решения, работающего на стационарном или автономном источнике питания. Полностью совместимый с аналогичными платформами Ардуино, Teensy или STM, мощный высокопроизводительный контроллер ESP-12E ESP8266EX, ставший главенствующей основой модуля, привнёс совершенно новый функционал, выраженный интегрированными в одном кристалле микросхемы и вычислительными ресурсами, и технологией беспроводной передачи данных по протоколу WiFi стандарта IEEE 802.11. Контроллер ESP8266 неразрывно совмещён с чипом памяти, необходимого для хранения прошивки и исполняемого кода, а также с небольшим монохромным OLED-экраном со встроенным контроллером SSD1306 и разрешением 128х32 точек. Кроме вышеперечисленного, схема платы располагает контроллером LTC4054, отслеживающего уровень напряжения и в автоматическом режиме выполняющего подзаряд единственного перезаряжаемого литиевого аккумулятора произвольной формы и размеров, используемого в конструкции разрабатываемого проекта.

Обзор модуля TTGO ESP8266 0.91 NodeMCU, расположение элементов на плате

  Обзор модуля TTGO WiFi NodeMCU ESP8266 0.91 OLED  

Первое включение, порт USB

Всё необходимое для быстрого начала работы с модулем TTGO есть на самой плате. Встроенный порт USB помогает подключаться к компьютеру напрямую при помощи обычного кабеля с разъёмом микроUSB. Благодаря ему и микрочипу преобразователя интерфейсов Silabs CP2104, на котором построено общение между USB и ESP8266, отпадает необходимость в дополнительных адаптерах USB-UART/TTL для установления связи с платой. Порт USB предоставляет возможность управления модулем, позволяет вносить в него свои приложения или загружать программное обеспечение (прошивку). В ином случае, он используется только для питания платы.

При первом подключении модуля NodeMCU TTGO ESP8266 к компьютеру, скорее всего потребуется драйвер для USB-TTL CP2104 преобразователя. Дистрибутив под нужную операционную систему ПК легко ищется на официальном сайте производителя микросхемы.

Распиновка TTGO NodeMCU ESP8266 (цоколёвка выводов TTGO ESP8266 OLED 0.91)

  Функциональное назначение выводов TTGO NodeMCU ESP8266 0.91 OLED распиновка  

Модуль WiFI Wemos TTGO ESP8266 NodeMCU оснащён цифровыми выводами общего назначения, работающими с цифровой логикой "1" и "0". Под единицей принято понимать входящее/исходящее напряжение +0.75*Vin—3.6 вольта, называемое высоким сигналом. Под нулём - входящее/исходящее напряжение -0.3—0.25*Vin вольт, называемое низким сигналом. Некоторые выводы имеют встроенные подтягивающий или стягивающий резисторы. Большинство контактов могут быть смультиплексированы с различными интерфейсами (I2C, I2S, HSPI, UART, PWM). Рекомендуемый ток отдельного вывода составляет 6 миллиампер, предельный ток - 12 миллиампер.

Избегайте превышение значений максимального тока более 12 миллиампер и напряжения более 3.3 вольта на контактах GPIO, способного повредить микроконтроллер.

  • RST (EXT_RSTB, RESET) — контакт перезагрузки модуля, активен при низкоуровневом сигнале
  • A0 (ADC, TOUT) — Аналого-цифровой преобразователь (АЦП). Допустимое входное напряжение 0-3.3 В, диапазон преобразованных значений в интервале 0-1023
  • EN (CHIP_EN, CH_PD, CH_PU) — контакт включения модуля в рабочий режим. Активен при высокоуровневом сигнале
  • GPIO16 — контакт общего назначения, ввод/вывод данных. Соединение с выводом RST выводит модуль из режима глубокого сна
  • GPIO0-GPIO15 — контакт общего назначения, ввод/вывод данных. Переназначаемый на другие функции. Выводы определяются по нумерации, например GPIO1 = 1 в Ардуино и D10 в NodeMCU
  • VCC 5V, VCC 3V3 — контакт питания внешней периферии (датчики, сенсоры, шилды)
  • GND — общий, заземление
  • DTR, CTS — служебный контакт последовательной шины связи микросхемы CP2104. Не имеет прямого соединения с ESP8266

Все цифровые контакты ввода/вывода, за исключением GPIO16, могут быть настроены на обработку прерываний.

Специальные функции GPIO

  • Асинхронный последовательный интерфейс UART из 2х линий, устанавливает связь с другими устройствами по шине UART:
    • UART0_RX — контакт GPIO3
    • UART0_TX — контакт GPIO1
    • UART0_RTS — контакт GPIO15
    • UART0_CTS — контакт GPIO13
    • UART1_TX — контакт GPIO2, может использоваться для вывода отладочной информации
    Подключение других устройств к выводам осуществляется по схеме RX->TX, TX->RX.
  • Двунаправленный последовательный интерфейс IIC/I2C, позволяет коммутировать внешние датчики, сенсоры, дисплеи т.д.:
    • SDA — контакт GPIO2
    • SCL — контакт GPIO14
  • Основной интерфейс последовательной шины SPI, режимы главный/периферийный:
    • SPI_SCLK — контакт GPIO6
    • SPI_MISO — контакт GPIO7
    • SPI_MOSI — контакт GPIO8
    • SPI_HD — контакт GPIO9
    • SPI_WP — контакт GPIO10
    • SPI_CS1 — контакт GPIO1
    • SPI_CS2 — контакт GPIO0
  • Последовательный интерфейс HSPI в периферийном режиме, допускает подключение дополнительных устройств, совершающих обмен данными по шине SPI (дисплеи, микроконтроллеры и т.д.):
    • HSPI_CS - контакт GPIO15
    • HSPI_MISO - контакт GPIO12
    • HSPI_MOSI - контакт GPIO13
    • HSPI_SCLK - контакт GPIO14
    Коммутация с другими устройствами осуществляется по схеме CS->CS, SCLK->SCLK, MISO->MOSI, MOSI->MISO
  • PWM (ШИМ) — цифровая широтно-импульсная модуляция сигнала с разрядностью до 14-бит. Контакты GPIO4, GPIO12, GPIO14, GPIO15.
  • Интерфейс электрической последовательной шины I2S. В основном, служит для сбора, обработки и передачи аудиоданных, или для приёма/передачи последовательных данных по двум раздельным шинам:
    • I2S1_DATA — приём, контакт GPIO12
    • I2S1_BCK — приём, контакт GPIO13
    • I2S1_WS — приём, контакт GPIO14
    • I2S0_BCK — передача, контакт GPIO15
    • I2S0_DATA — передача, контакт GPIO3
    • I2S0_WS — передача, контакт GPIO2
  • Периферийный интерфейс IrDA (ИК дистанционное управление), реализуемый на программном уровне. Предназначен для модуляции несущей частоты 38кГц, демодуляции или кодирования NEC. Дальность передачи сигнала составляет около 1м:
    • IR_Tx — контакт GPIO14
    • IR_Rx — контакт GPIO5

Заряд и разряд литиевой аккумуляторной батареи

Заряженная литиевая батарея выдаёт на своих контактах 3.8В, постепенно снижаемых активной нагрузкой до минимально допустимых 2.7В. Если напряжение во время разряда падает ниже заданной отметки, встроенный механизм защиты модуля WeMos TTGO отключает передачу энергии в схему платы до тех пор, пока не будет произведена повторная подзарядка. Контроллер LTC4054 обеспечивает невысокий ток 500 мА с напряжением 4.2В, достаточных для заряда одного аккумулятора с ёмкостью 2200-3000 мА. Модуль TTGO позволяет выполнять подзаряд батареи не только в выключенном состоянии, но и непосредственно в режиме работы микроконтроллера.

Индикация событий

В модуль WeMos TTGO WiFi ESP8266 встроен единственный светодиодный индикатор, отображающий текущее состояние заряда аккумулятора. Постоянное свечение синим цветом сообщает о том, что аккумулятор находится в режиме подзаряда. При достижении полного заряда батареи, светодиод не гаснет совсем, а продолжает слабо светится с периодическим помаргиванием.

Внутренняя память TTGO NodeMCU ESP8266, файловая система SPIFFS

Плата оснащена микросхемой памяти, размер которой составляет 4 Мегабайта (32 Мегабита). Такого размера более чем достаточно для хранения основной прошивки, пользовательского кода и создания упрощённой файловой системы SPIFFS. В размеченной под SPIFFS области можно хранить данные скетча, файлы конфигурации или содержимое веб-сервера.

Структура файловой системы SPIFFS имеет небольшой ряд ограничений из-за конструктивных особенностей чипа ESP8266EX. Она не поддерживает разбитие памяти на разделы и не работает с папками, храня файлы в виде списка. Максимальный размер имени файла не должен превышать 32 символа, включая специальный символ, отведённый под окончание строки.

Когда плата программируется в среде Ардуино ИДЕ, распределение областей памяти под фирменное ПО, программный код и файловую систему напрямую зависит от выбранного типа совместимой платы (Generic ESP8266 Module или NodeMCU ESP-12 Module). В первом случае, размер памяти имеет большой и гибкий перечень настройки параметров, начиная от 512 Кбайт (без SPIFFS), и заканчивая 4 Мбайт (3 Мбайт SPIFFS). Во втором случае, редактор по умолчанию резервирует 1 Мбайт под запись прошивки и исполняемого скетча, увеличить этот размер никак нельзя. Оставшиеся 3 Мбайта размечаются под требуемый размер или остаются свободными.

Если речь заходит о написании и выполнении объёмного текста кода, пользователь может попробовать сэкономить память, воспользовавшись модифицированной прошивкой NodeMCU с интерпретатором языка Lua (основанной на NONOS-SDK), изменив её состав при помощи наборов разработчика NodeMCU SDK путём исключения или добавления поддержки определённых функций разрабатываемого проекта. Учитывая, что все исполняемые файлы программ на языке Lua хранятся в области SPIFFS, обновление прошивки модуля на ПО NodeMCU несколько по иному распределяет память, формируя файловую систему из оставшегося свободного пространства, не занятого самой прошивкой.

Переносить готовые файлы с данными в файловую систему SPIFFS можно разными способами. Например, используя широко известной в ESP-сообществе java-редактор ESPlorer со всем присутствующим необходимый инструментарием внутри. Или средствами среды разработчика Arduino IDE, предварительно установив необходимое дополнение всего за несколько шагов.

  1. Загрузите последнюю версию дополнения с сайта GitHub. Создайте на компьютере папку "tools" в директории скетчей и распакуйте в неё содержимое архива (по умолчанию путь C:/Users/Пользователь/Documents/Arduino/tools/ESP8266FS/tool/esp8266fs.jar). Перезапустите Ардуино ИДЕ.
  2. Откройте скетч или создайте новый и запишите его. Откройте папку скетча (выберите Скетч->Показать папку скетча) и создайте в ней папку "data", поместив туда необходимые для записи файлы. Убедитесь, что правильно выбран тип платы, используемый порт и закрыт Монитор последовательного порта.
  3. В меню "Инструменты" выберите пункт "ESP8266 Sketch Data Upload" и дождитесь надписи "SPIFFS Image Uploaded", символизирующей окончание записи образа файловой системы.

Демонстрационный скетч, отображающий сводные данные о файловой системе и содержащихся в ней файлах. Скетч выполняется один раз после перезапуска платы и выводит информацию в последовательный порт. Пример выполнения:

  Пример считывания данных о файловой системе SPIFFS и содержащихся в ней файлов  

Скорость обмена данными по последовательному порту 74880 бит/сек (бод) выбрана не случайно. На этой скорости, чип ESP8266 при старте выдаёт загрузочную информацию, отображаемую в удобочитаемом виде.

Экран модуля TTGO WeMos ESP8266

Дисплей с драйвером SSD1306 позволяет дополнить проектируемые приложения наглядной информативностью, выводя на экран текстовые или графические данные, отображающие заранее предопределённые события. Например, показывает значения температуры и влажности, если модуль наблюдает за окружающей средой, высвечивает текущее время в приложении с часами, сообщает о срабатывании сигнализации в охранных устройствах или указывает название транслируемой Web-радиостанции в интернет-приёмниках. По желанию пользователя, дисплей сможет изображать совершенно разнообразные предупреждения в виде специальных символов, смайликов, сочетания линий, кружочков, квадратиков и треугольничков. Благодаря множеству существующих ардуино-совместимых библиотек, поддерживающим драйвех SSD1306, ко всему перечисленному могут быть добавлены эффекты ориентации или прокрутки текста, назначены уникальные шрифты. Экран обменивается данными с ESP8266 по интерфейсу I2C, его соответствующие выводы запаралелленны с контактами GPIO2 (SDA), GPIO14 (SCL) и GPIO4 (RST) микроконтроллера.

Диагональ видимой области OLED-экрана составляет всего 0.91 дюйма или 2.31 сантиметра с разрешением 128х32 точки. Вся информация на столь маленьком экране отчётливо видна и легко воспринимается человеческим глазом на небольшом расстоянии. Каждая точка дисплея - это отдельный управляемый органический светодиод белого цвета с повышенной контрастностью, которому не требуется дополнительная подсветка.

Простой пример управления экраном, вывод текстовых сообщений.

#include "Wire.h"
#include "OLED.h"

//TTGO 0.91 OLED подключение:
//SDA -- D4
//SCL -- D5
//RST -- D2

#define SDA D4
#define SCL D5

OLED display(SDA, SCL);
 
void setup() {
  pinMode(D2, OUTPUT);
  
  // низкоуровневый сигнал D2 перезапускает OLED
  digitalWrite(D2, LOW);
  delay(50);
  
  // пока OLED работает, сигнал D2 должен быть высокоуровневым
  digitalWrite(D2, HIGH);
  
  Serial.begin(115200);
  Serial.println("OLED test!");
 
  // Инициализация
  display.begin();
 
  // Тестовое сообщение
  display.print("Hello TTGO");
  delay(3*1000);
  
  // Очистка экрана
  display.clear();
  delay(3*1000);
  
  // Тестовое длинное сообщение
  display.print("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
  delay(3*1000);
  display.clear();
   
  // Тестовое расположение сообщение
  display.print("TOP-LEFT");
  display.print("RIGHT-BOTTOM", 3, 4);
  delay(3*1000);
  display.clear();
  display.print("4th row", 3);
  
  // Тестовое выключение дисплея
  display.off();
  display.print("3rd row", 2, 8);
  delay(3*1000);
 
  // Тестовое включение дисплея
  display.on();
  delay(3*1000);
}
 
int r = 0, c = 0;
 
void loop() {
  
    r = r % 4;
    c = micros() % 6;
    if (r == 0) display.clear();
    display.print("Hello TTGO", r++, c++);
    delay(500);
}

Библиотека OLED с примером

Режимы энергосбережения ESP8266EX

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

  1. Modem-sleep — настраивается для приложений, использующих функции ШИМ или I2S, заставляющие процессор работать. В случаях, когда WiFi-связь установлена и передача данных не требуется, схема WiFi-модема может быть отключена для экономии энергии. Например, в режиме DTIM3, когда ESP8266 "спит" 300 миллисекунд и просыпается на 3 миллисекунды для приёма от точки доступа пакетов беспроводных Маяков (Beacon), общее потребление тока составляет около 20мА.
  2. Light-sleep — используется в задачах, в которых поддерживается соединение WiFi и передача данных не требуется, при этом процессор может быть приостановлен. Например, режим коммутатора WiFi. Общее среднее потребление тока составляет около 2 мА.
  3. Deep-sleep — глубокий сон оптимален для приложений, которые не требуют подключения WiFi и передают данные c большими задержками по времени. К таким задачам относятся датчики температуры, выполняющие измерения каждые 100 секунд. Например, когда ESP8266EX "спит" 300 секунд и просыпается для соединения с точкой доступа (около 0.3-1 секунды), общее среднее потребление тока намного меньше 1 мА.

Обновление платформы WeMos TTGO ESP8266, прошивка ПО NodeMCU

Загрузка новой прошивки в память ESP8266 выполняется через порт USB или по воздуху (OTA). Микроконтроллер ESP8266EX модуля WeMos TTGO полностью поддерживает работу со следующим ПО:

  • Модифицированные прошивки NodeMCU Lua, включая их разновидности
  • Оригинальные прошивки на основе RTOS/Non-Os SDK с поддержкой АТ команд
  • Генерируемые Ардуино ИДЕ

Кроме перечисленных вариантов, для ESP8266 существует множество других готовых прошивок. Выполняя программирование модуля, внутренний алгоритм редактора Arduino IDE прошивает одновременно с каждым новым скетчем собственное ПО для ESP8266, таким образом удаляя из соответствующей области памяти предыдущие версии прошивок.

Для обновления ПО модуля WeMos TTGO, в комплект ардуино-билиотеки ESP8266 помещён программный инструмент esptool-ck. Исходный код прошивки NodeMCU доступен в репозитории GitHub. Оригинальные прошивки с АТ командами находятся на официальном ресурсе поддержки ESP8266 Espressif Systems.

В качестве альтернативного варианта, подойдёт хорошо известная программа Node MCU Flasher для Windows. Последняя версия доступна для загрузки из репозитория GitHub. Процесс записи предварительно скомпилированного файла (формат .bin) прошивки NodeMCU прост, состоит из нескольких шагов и не занимает много времени.

  1. Соедините плату TTGO NodeMCU WeMos с компьютером при помощи USB-кабеля.
  2. Если плата подключается впервые, установите драйвер для микросхемы USB-TTL преобразователя CP2104.
  3. В Диспетчере Устройств Windows, в разделе Порты (COM и LPT), найдите и запомните (запишите) назначенный плате номер COM-порта. Его необходимо будет указать в настройках программы перед прошивкой.
  4. Запустите Flasher, во вкладке "Config" выберите нужную прошивку и укажите ей адрес 0x00000. Если прошивка состоит из нескольких частей, то каждая её составляющая часть размещается в новой строке с указанием соответствующего адреса (см. документацию к прошивке).
      Выбор прошивки ESP в NodeMCU Flasher  
  5. Настройки скорости и размера памяти во вкладке "Advanced":
      Настройка скорости и размера памяти ESP во вкладке Advanced  
  6. Вернитесь на вкладку "Operation", выберите номер выделенного COM-порта, и нажмите кнопку "Flash", тем самым запустив процесс записи прошивки. Дождитесь полного завершения операции.
      Завершение процесса прошивки WeMos ESP NodeMCU Flasher  

Перед записью прошивки, крайне рекомендуется полная очистка флешь-памяти. Чаще всего, после обновления, прошивка работает без нареканий. Если предварительно не производить чистку памяти, можно столкнуться с ситуацией, когда заново загруженная версия NodeMCU не совпадёт с предыдущей версией прошивки, вследствие чего плата попросту не запуститься в нормальном режиме. В таком случае, от пользователя потребуется запись отдельного файла инициализации модуля "esp_init_data_default.bin" из той версии SDK, на которой выполнялась сборка прошивки.

Создание модифицированной прошивки с интерпретатором NodeMCU Lua

Развитием технической поддержки ESP-8266 занимаются и официальный производитель чипа ESP8266, и команды сторонних независимых разработчиков. Благодаря их кропотливым трудам, пользователю доступны различные способы создания собственной прошивки:

  • Страницей GitHub - NodeMCU firmware предоставлена возможность скачивать готовые варианты некоторых версий прошивок, а также загружать комплекты средств разработки SDK с открытым исходным кодом.
  • Сайтом облачного конструктора NodeMCU-build реализован интересный механизм гибкого и эффективного модифицирования кастомной прошивки. Конструктор формирует законченный файл прошивки и отправляет его на указанную электронную почту. Большой список подключаемых библиотек помогает составить немалое количество вариантов прошивок, "заточенных" под поставленные задачи определённые проекта. Исключение неиспользуемых библиотек из состава прошивки позволит сэкономить свободную память модуля WeMos .
      Конструктор прошивки NodeMCU  

    Сайт располагает большой подборкой информации с подробным объяснением всех функций и подключаемых библиотек, включая принципы работы с внешней или внутренней файловой системой и др.

Облачный конструктор генерирует два варианта прошивки: integer (целочисленная) и float (с плавающей точкой). Целочисленная версия не поддерживает операции с плавающей запятой и не допускает нецелых чисел. Она занимает меньше места в Flash-памяти и в несколько раз быстрее выполняет вычисления. Для общего понимания, в целочисленной версии деление 3/2 равно 1, а не 1,5.

Готовый вариант прошивки NodeMCU для микроконтроллера WeMos, собранный на интерпретаторе языка Lua версии 5.1.4, SDK версии 2.2.1, включая блоки: ADC, FILE, GPIO, MDNS, MQTT, NET, NODE, PWM, TMR, UART, WIFI, WPS.

Программирование ESP8266 WeMos в среде ESPlorer

Откройте редактор ESPlorer, в правой верхней части окна терминала укажите COM-порт (#1), к которому подключена плата контроллера WeMos. Затем, установите скорость 115200 бод (#2) и откройте порт для установления связи с платой (#3). После выполнения ручного сброса контроллера (#4), ESP8266 выдаст загрузочную информацию о версии прошивки (#5) и включится в рабочий режим.

Написанная на языке Lua, программа может состоять из двух и более частей исполняемого кода, но всегда должна начинаться с файла инициализации. В левой части окна напишите простую команду (#6), сохраните её в файле с именем "init.lua" (#7) и прошейте в память кнопкой Save to ESP (#8). Результат выполнения сразу же отобразится в окне терминала (#9). Получить информацию о размере файловой системы, свободном и занятом пространстве (#10), а также списке файлов с кодом .lua в памяти (#11), позволит кнопка Reload (#12).

  Пример программирования WeMos на интерпретаторе NodeMCU Lua  

 

Добавление платформы WeMos ESP8266 в Ардуино ИДЕ

Запустите редактор Ардуино, перейдите в пункт "Настройки" из меню "Файл". В строке "Дополнительные ссылки для менеджера плат" введите адрес:

http://arduino.esp8266.com/stable/package_esp8266com_index.json
  Установка платформы ESP8266 в среду разработки ARDUINO IDE  

Закройте окно и перейдите в "Менеджер плат", двигаясь по меню "Инструменты".

  Установка платформы ESP8266 в среду разработки ARDUINO IDE  

Для быстрого нахождения нужного дополнения, в строке поиска укажите esp8266. Нажмите "Установить" и дождитесь надписи Installed, означающей завершение процесса.

  Установка платформы ESP8266 в среду разработки ARDUINO IDE  

Все платформы, входящие в состав пакета установки, теперь доступны для программирования.

  Установка платформы ESP8266 в среду разработки ARDUINO IDE  

Техническая информация

Полезные ссылки

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2019г https://compacttool.ru