Интернет вещей NodeMcu v3 Lua WI-FI ESP8266 CH340 Рассмотрим еще одну плату на основе популярного модуля ESP8266. Это плата Интернет вещей NodeMcu v3 Lua WI-FI ESP8266 CH340.
NodeMCU — это полноценная платформа для создания устройств IoT (Интернет вещей) на основе модуля ESP8266, который умеет принимать и посылать данные в локальную сеть или интернет через Wi-Fi. Плата построена на основе одной из последних модификаций модулей ESP8266 – модуля ESP-12E. Назначение контактов платы NodeMCU представлено на рисунке.
В платформу загружена прошивка NodeMCU. В неё встроен интерпретатор скриптового языка Lua. Интерпретатор этого языка распространяется свободно, с открытыми исходными текстами на языке Си. С помощью интерпретатора можно создавать файлы, загружать их в флеш-память ESP8266 и выполнять их. Также имеется Autorun (init.lua) для выполнения скриптов при запуске платы
. С помощью lua-команд мы можно:
Скачаем и установим Explorer. Запустим, а затем подключим к плате датчик температуры ds18b20 и напишем скрипт на языке Lua для получения данных с этого датчика.
В прошивке NodeMCU присутствуют модули датчиков, которые можно подключать к скриптам командой require(). Количество таких модулей постоянно увеличивается, и они доступны для просмотра и закачки на странице
https://github.com/nodemcu/nodemcu-firmware/tree/master/lua_modules.
В листинге приведен пример скрипта для подключения модуля датчика температуры DS18B20, получения и вывода его значений.
-- подключение модуля
t = require("ds18b20")
-- GPIO карта модуля ESP-01
gpio0 = 3
gpio2 = 4
t.setup(gpio0)
addrs = t.addrs()
if (addrs ~= nil) then
print("Total DS18B20 sensors: "..table.getn(addrs))
end
-- чтение температуры
print("Temperature: "..t.read().."'C")
-- освободить память после использования
t = nil
ds18b20 = nil
package.loaded["ds18b20"]=nil
Результат выполнения этого скрипта при подключении датчика температуры к выводу GPIO0 приведен на рисунке.
В несколько строк на Lua можно написать и скрипт сервера, что позволяет использовать эту плату для быстрого создания создания устройств IoT ("Интернет вещей"). Если вам больше привычна среда программирования Arduino, можно программировать в среде Arduino IDE (см. установку и настройку Arduino IDE для программирования плат ESP8266 в этом
обзоре).
Описание NodeMcu v3 Lua WI-FI ESP8266 CH340 PDF