- Отладочная плата NodeMCU ESP8266 V3 CH340G
- Распиновка отладочной платы NodeMCU ESP8266 V3 CH340G
- Первый взгляд на NodeMCU V3 Lua.
- Питание модуля :
- Распиновка модуля :
- Что такое NodeMCU?
- Что такое язык Lua?
- Начнем ломать или с чего начать:
- ESPlorer, init.lua – пишем первый скрипт
- ESP8266 Web Server
- ESP8266 Web Server
- NodeMCU Lua ESP8266 ESP-12E WiFi CH340 V3
- Особенности и описание Nodemcu Lua V3 CH340 Wi-Fi на Esp8266
- Технические характеристики Nodemcu Lua V3 CH340 Wi-Fi на Esp8266
- Примеры использования (скриптовый язык Lua)
Отладочная плата NodeMCU ESP8266 V3 CH340G
Модуль Nodemcu Lua V3 CH340 Wi-Fi на Esp8266 используется при создании различных электронных устройств. Отличительной особенностью является компактный размер, а в макетную плату модуль можно вставить без паяльника, благодаря тому, что все выводы чипа разведены на гребенки. В микросхеме реализовано подключение к USB, имеется регулятор питания. Программирование и загрузка осуществляется по той же схеме, что и работа с Arduino. Стандартная прошивка обеспечивает программирование на языке Lua, но благодаря чипсету на Esp8266 можно написать собственную прошивку на языке С или С++.
Модуль имеет встроенные TR переключатель и PLL, усилители мощности, стек TCP/IP. Рекомендуем купить Nodemcu Lua V3 CH340 Wi-Fi на Esp8266 для проектирования роботов или систем для «Умного дома», других устройств, управляемых на расстоянии. Плата версии V3 отличается от предшественников усовершенствованным USB портом и увеличенными размерами. Цена Nodemcu Lua V3 CH340 Wi-Fi на Esp8266 доступна каждому, кто увлекается робототехникой и программированием.
Отладочная плата NodeMCU ESP8266 V3 CH340G обладает следующими техническими характеристиками:
Характеристика | Описвание |
---|---|
Wi-Fi протокол | 802.11 b/g/n |
Режимы Wi-Fi | точка доступа, клиент |
Входное напряжение | 3.7В – 20 В |
Рабочее напряжение | 3В-3.6В |
Максимальный ток | 220мА |
Встроенный стек | TCP/IP |
Диапазон рабочих температур | -40С до 125С |
Процессор | 80 МГц, 32-битный |
Время пробуждения и отправки пакетов | 22мс |
Встроенные TR переключатель и PLL | есть |
Наличие усилителей мощности, регуляторов, систем управления питанием | есть |
Перед использованием платы нужно скачать драйвер CP2102 и установить его на компьютер.
Драйвер CP2102 — выбери подходящую для вашего устройства версию:
Затем, чтобы плата работала в Arduino IDE нужно добавить ее в менеджере плат. По пути Файл/Настройки перейди в окно настроек и копируй в строку Дополнительные ссылки для Менеджера плат следующую ссылку:
По этой ссылке содержится пак плат с чипами ESP8266 различных конфигураций. Для сохранения ссылки нажми на значок папки рядом с полем для вставки и кнопку ОК внизу диалогового окна.
Далее нужно перейти в сам Менеджер плат по пути Инструменты/Плата/Менежер плат.
В открывшемся окне Менеджера плат нужно найти строку поиска и вписать в нее ESP8266, затем выбрать из списка пак под названием esp8266 by ESP8266 Community и установить инструменты данных плат.
После этого с модулем NodeMCU можно будет работать так же, как и с классическими платами, совместимыми с Arduino IDE.
Распиновка отладочной платы NodeMCU ESP8266 V3 CH340G
На изображении ниже представлена распиновка отладочной платы.
Первый взгляд на NodeMCU V3 Lua.
NodeMcu – платформа на основе чипа ESP8266 для создания различных устройств IoT. Это не дорогой модуль по сути состоит из платы ESP-12E припаянной на шилд с UART-USB контроллером (CH340) и выводима чипа. Версия 3 (V3) оснащена 4 Mb флешь-памяти и выводом microUsb.
Питание модуля :
Модуль может питаться несколькими способами :
- В через USB-разъем или контакт VUSB(VU);
- Подавать 5-12 В через контакт Vin;
- 3,3В через вывод 3V.
Распиновка модуля :
Модуль V3 имеет 11 контактов ввода-вывода общего назначения. Помимо этого некоторые из выводов обладают дополнительными функциями:
- D1-D10 – выводы с широтно-импульсной модуляцией;
- D1, D2– выводы для интерфейса I²C/TWI;
- D5–D8 – выводы для интерфейса SPI;
- D9, D10 – UART;
- A0 – вход с АЦП.
Что такое NodeMCU?
NodeMCU — открытый бесплатный проект на основе скриптового языка Lua . А по сути прошивка для ESP8266. Прошивка умеет исполнять Lua-скрипты как из последовательного UART порта (аналогично AT-командам) так и из внутренней flash памяти (выполняя скрипты). Lua скрипты сохраняются во Flash используя внутреннею файловою систему. Файловая система плоская, упрощенная. Т.е. без подкаталогов. Тем не менее – это круто. Не стоит забывать, что ESP8266 – это всего лишь микроконтроллер. Из скриптов так же можно получить доступ к файлам, читать и сохранять различную информацию.
NodeMCU модульная. Что с одной стороны позволяет наращивать функционал, а с другой собрать прошивку только из требуемых модулей, не расходуя понапрасну память.
На данный момент поддерживается очень большое количество датчиков, акселерометров , таймеры , модули шифрования и т.д Прочесть подробней можно на https://nodemcu.readthedocs.io/en/master/
Что такое язык Lua?
Lua – скриптовый язык программирования, разработанный в подразделении Tecgraf. Интерпретатор языка является свободно распространяемым, с открытыми исходными текстами на языке Си. Интерпретируемый язык, который, как и большинство современных интерпретируемых языков, может хранить скомпилированные версии скриптов. Это позволяет увеличить скорость работы. Он не сложный, и если Вы уже программировали на любом языке, то Lua Вы изучите очень быстро. Есть некоторые особенности при работе с Lua на NodeMCU. В основном это связано с конечным объемом памяти микроконтроллера ESP8266.
Начнем ломать или с чего начать:
В итоге мы имеем 80 MHz 32-bit процессор Tensilica с Wi-FI, I²C, SPI, UART, АЦП интерфейсами. Заливаем в него прошивку NodeMCU с нужными модулями и потом пишем скрипт на Lua который выполняет контролер.
Тут есть два пути. Сложный — скачать исходники и капаться с ними самому, что нам совсем не подходит. Или воспользоваться сайтом конструктором который выдаст вам готовую прошивку. Например воспользуемся сайтом https://nodemcu-build.com
- file — файловая система.
- GPIO — и в Африке GPIO.
- node — системная библиотека.
- net — думаю понятно из названия. Поддержка net.
- timer — работа с таймерами и задержкой.
- UART— поддержка UART.
- WiFI — WiFI.
Вы можете посмотреть подробную документация по всем модулям и их функциям. Правда она на английском, но я не думаю что это большая проблема.
Теперь нам надо загрузить ее в плату. Идем опять на наш любимый GitHub и качаем от туда NodeMSU flasher для 32 битной или 64 битной Windows. Хочу заметить что для любителей Linux есть версия и для них 😉
Подключаем плату, в диспетчере устройств смотрим на каком COM порту она определилась.
В закладке Config выбираем файл прошивки :
И запускаем прошивку, если после нажатия кнопки “Flash” процесс прошивки не начался (не появились МАС-адреса), нажмите кнопку “reset” на плате и повторите попытку.
ESPlorer, init.lua – пишем первый скрипт
Для написания и заливки скриптов будем использовать программу ESPlorer . Это кроссплатформенная программа написана на Java и так же не требует установки. Работает одинаково как под Windows так и под Linux. У нее есть свои преимущества и удобства.
- Подсветка синтаксиса кода LUA и Python
- Цветовые темы редактора кода: default, dark, Eclipse, IDEA, Visual Studio
- Функции редакторов отмены/повтора
- Автозаполнение Кода (Ctrl + Пробел).
- Smart отправить данные на ESP8266 (без тупой отправить с фиксированной задержкой линии), проверить правильный ответ от ESP8266 после каждой линии.
Тут все просто, выбираем порт , выбираем скорость (у меня это 115200) нажимает Open и подключаемся к плате. Файловая система устроена так что первый скрипт при запуске модуля запускается init.lua (lua это просто расширение скрипта). В левой стороне мы запишем одну тестовую строчку:
print("Yes it works!")
Сохраним файл как init.lua . По умолчанию файл сохраняется и на диск компьютера и заливается на ESP8266.
Циклическая перезагрузка. Это случается если допустить критическую ошибку в скрипте который стартует автоматически. NodeMCU стартует, выполняет “глючный” скрипт, нарывается на критическую ошибку и уходит в перезагрузку. И так до бесконечности.
Ну а теперь конечно же самое главное, проверим как работает WiFI ))) Для начала добавим строчку в init.lua :
dofile(«main.lua»)
И создадим новый скрипт с таким название :
--WiFi Settup wifi.setmode(wifi.STATION) local cfg=<> cfg.ssid="MyWiFi" cfg.pwd="MyWiFiPassword" wifi.sta.config(cfg) cfg = nil print(wifi.sta.getip()) collectgarbage()
collectgarbage() — сборщик мусора в языке Lua, то есть это команда очищает память от не используемых переменных и т.д. Рекомендуется использовать в конце каждого скрипта, у контролера память не резиновая и быстро заканчивается (
wifi.setmode(mode[, save]) wifi.STATION — подключается к WiFI. wifi.SOFTAP — точка доступа.Это позволит вам увидеть устройство в списке WiFi сетей (если Вы не скрыть SSID, конечно). NodeMCU получит локальный IP-адрес 192.168.4.1 и назначит вашему компьютеру следующий доступный IP-адрес, например 192.168.4.2.
local cfg=<> — локальный массив cfg, замете в Lua не надо писать объем массива. Он может меняться как вам надо ограничиваясь только памятью. local указывает что эта переменную можно использовать только в этом скрипте.
wifi.sta.getip() — возвращает IP-адрес, маску сети, адрес шлюза как строку, например «192.168.0.111», возвращает nil , если IP-адрес = «0.0.0.0».
Самая замечательная возможность поднять свой сервер :
print("Start Web") sv = net.createServer(net.TCP) //Создать TCP сервер sv:listen(80, function(conn) //Слушаем 80 порт conn:on("receive", receiver) // При событие подклчение conn:send("ESP8266 Web Server
") // ОтправляемESP8266 Web Server
end) collectgarbage()
Мы затронули самую верхушку возможностей этой платы ))) На этом и закончим обзорную статью…
Ошибка в тексте? Выделите её и нажмите «Ctrl + Enter»
NodeMCU Lua ESP8266 ESP-12E WiFi CH340 V3
Модуль Nodemcu Lua V3 CH340 Wi-Fi на Esp8266 используется при создании беспроводных устройств на базе Arduino. Он принимает сигнал Wi-Fi и отправляет данные. Модуль отличается компактными размерами и низким энергопотреблением.
Особенности и описание Nodemcu Lua V3 CH340 Wi-Fi на Esp8266
Модуль Nodemcu Lua V3 CH340 Wi-Fi на Esp8266 используется при создании различных электронных устройств. Отличительной особенностью является компактный размер, а в макетную плату модуль можно вставить без паяльника, благодаря тому, что все выводы чипа разведены на гребенки. В микросхеме реализовано подключение к USB, имеется регулятор питания. Программирование и загрузка осуществляется по той же схеме, что и работа с Arduino. Стандартная прошивка обеспечивает программирование на языке Lua, но благодаря чипсету на Esp8266 можно написать собственную прошивку на языке С или С++.
Модуль имеет встроенные TR переключатель и PLL, усилители мощности, стек TCP/IP. Рекомендуем купить Nodemcu Lua V3 CH340 Wi-Fi на Esp8266 для проектирования роботов или систем для «Умного дома», других устройств, управляемых на расстоянии. Плата версии V3 отличается от предшественников усовершенствованным USB портом и увеличенными размерами. Цена Nodemcu Lua V3 CH340 Wi-Fi на Esp8266 доступна каждому, кто увлекается робототехникой и программированием.
Технические характеристики Nodemcu Lua V3 CH340 Wi-Fi на Esp8266
• протокол Wi-Fi 802.11 b/g/n;
• режимы Wi-Fi – точка доступа, клиент;
• входное напряжение 3,7В – 20 В;
• рабочее напряжение 3В-3,6В;
• максимальный ток 220мА;
• рабочие температуры от -40ºС до 125ºС;
• 80 МГц, 32-битный процессор;
• время пробуждения и отправки пакетов 22мс;
Рисунок 1. Назначение выводов NodeMcu На данной плате установлена прошивка, которая может интерпретировать команды скриптового языка Lua. Lua — это встраиваемый язык сценариев, который является маленьким, быстрым и очень мощным. С помощью команд Lua для NodeMCU можно выполнять следующие действия:
- использование платы в качестве WiFi точки доступа
- подключаться (в том числе и автоматическое) к точке доступа WiFi
- режим пониженного энергопотребления (уход в сон)
- перенаправлять вывод
- выполнять операции со списком файлов в flash-памяти
- управление пользовательским таймером и таймером WatchDog
- управление GPIO1 выводами
- создание веб-сервера
- обмениваться даннымиI2C — устройствами
- считывать данные на выводе АЦП
Можно не только выполнять команды Lua в терминале, но и cоздавать файлы в flash-памяти ESP8266 и вызывать их на иcполнение. Рассмотрим примеры напиcания программ для модуля на языке Lua, а также в среде программирования Arduino IDE.
Примеры использования (скриптовый язык Lua)
Рассмотрим пример написания скрипта на языке Lua для платы NodeMCU. Будем использовать программу ESPlorer (рисунок 2), которую вместе с можно скачать со страницы тут.
Рисунок 2. Окно программы ESPlorer.
Напишем скрипт создания простейшего веб-сервера, чтобы при обращении к модулю по HTTP с него выдавалась информация. Создадим для этого файл server1.lua и запишем в него код, представленный в листинге 1. Листинг 1
serverport = 80
server=net.createServer(net.TCP)
server:listen(serverport,
function(connection)
connection:send("HTTP/1.1 200 OK\nContent-Type: text/html\nRefresh: 10\n\n" ..
"" ..
"" ..
"Server " ..
" ChipID : " .. node.chipid() .. "
" ..
" MAC : " .. wifi.sta.getmac() .. "
" ..
" Heap : " .. node.heap() .. "
" ..
" Timer