Цена:
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.
Технические характеристики
Конструкция 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, расположение элементов на плате
Первое включение, порт 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)
Модуль 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, способного повредить микроконтроллер.
Все цифровые контакты ввода/вывода, за исключением GPIO16, могут быть настроены на обработку прерываний.
Специальные функции GPIO
Заряд и разряд литиевой аккумуляторной батареи
Заряженная литиевая батарея выдаёт на своих контактах 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, предварительно установив необходимое дополнение всего за несколько шагов.
Демонстрационный скетч, отображающий сводные данные о файловой системе и содержащихся в ней файлах. Скетч выполняется один раз после перезапуска платы и выводит информацию в последовательный порт. Пример выполнения:
Скорость обмена данными по последовательному порту 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("Let print some code of testing WeMos TTGO.");
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);
}
Режимы энергосбережения ESP8266EX
За исключением стандартных режимов полной работоспособности и выключенного состояния, процессор ESP8266 поддерживает несколько энергосберегающих режимов, предназначенных для каждого определённого случая.
Обновление платформы WeMos TTGO ESP8266, прошивка ПО NodeMCU
Загрузка новой прошивки в память ESP8266 выполняется через порт USB или по воздуху (OTA). Микроконтроллер ESP8266EX модуля WeMos TTGO полностью поддерживает работу со следующим ПО:
Кроме перечисленных вариантов, для ESP8266 существует множество других готовых прошивок. Выполняя программирование модуля, внутренний алгоритм редактора Arduino IDE прошивает одновременно с каждым новым скетчем собственное ПО для ESP8266, таким образом удаляя из соответствующей области памяти предыдущие версии прошивок.
Для обновления ПО модуля WeMos TTGO, в комплект ардуино-билиотеки ESP8266 помещён программный инструмент esptool-ck. Исходный код прошивки NodeMCU доступен в репозитории GitHub. Оригинальные прошивки с АТ командами находятся на официальном ресурсе поддержки ESP8266 Espressif Systems.
В качестве альтернативного варианта, подойдёт хорошо известная программа Node MCU Flasher для Windows. Последняя версия доступна для загрузки из репозитория GitHub. Процесс записи предварительно скомпилированного файла (формат .bin) прошивки NodeMCU прост, состоит из нескольких шагов и не занимает много времени.
Перед записью прошивки, крайне рекомендуется полная очистка флешь-памяти. Чаще всего, после обновления, прошивка работает без нареканий. Если предварительно не производить чистку памяти, можно столкнуться с ситуацией, когда заново загруженная версия NodeMCU не совпадёт с предыдущей версией прошивки, вследствие чего плата попросту не запуститься в нормальном режиме. В таком случае, от пользователя потребуется запись отдельного файла инициализации модуля "esp_init_data_default.bin" из той версии SDK, на которой выполнялась сборка прошивки.
Создание модифицированной прошивки с интерпретатором NodeMCU Lua
Развитием ESP-8266 и её технической поддержкой занимаются не только энтузиасты мирового сообщества, но и профессиональные команды сторонних независимых разработчиков. Благодаря их кропотливым трудам, в настоящее время пользователю доступны различные способы создания собственной прошивки:
Облачный конструктор генерирует два варианта прошивки: 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 ESP8266 в Ардуино ИДЕ
Запустите редактор Ардуино, перейдите в пункт "Настройки" из меню "Файл". В строке "Дополнительные ссылки для менеджера плат" введите адрес:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Закройте окно и перейдите в "Менеджер плат", двигаясь по меню "Инструменты".
Для быстрого нахождения нужного дополнения, в строке поиска укажите esp8266. Нажмите "Установить" и дождитесь надписи Installed, означающей завершение процесса.
Все платформы, входящие в состав пакета установки, теперь доступны для программирования.
Техническая информация
Полезные ссылки
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru