Первая программа на LUA

esp8266
Первый скрипт на LUA для новичков
луа логотип
После того как Вы научились подключать модуль и менять прошивку в прошлой статье, настало время и написать первую программу(скрипт) на языке LUA в прошивке NODEMCU.
Срипт будет подключаться к Вашему роутеру, используя обычный таймер с задержкой выведет в терминал полученный ip адрес.
Прошивку Lua 5.1.4 on SDK 1.5.4.1 я использовал скомпилированную на сайте nodemcu-build.com/
Модули использовал при компиляции следующие:
adc,bit,bmp085,crypto,dht,encoder,file,gpio,http,i2c,net,node,ow,pwm,rtctime,sntp,spi,tmr,u8g,uart,websocket,wifi
Можно использовать и минимальный набор для первых уроков, но есть и перспектива изучения всех модулей.
Для написания и загрузки LUA скрипта потребуется программа ESPLORER либо Lualoader.
Мы будем использовать ESPLorer.zip и так как программа ESPlorer.jar работает в среде JAVA нам потребуется предварительно её установить скачав с сайта JAVA.com
Установив яву и запустив ESPlorer.jar подключаемся к ком порту на скорости 115200, в моём случае это порт COM6, посмотреть можно в диспетчере устройств.
диспетчер устройств как узнать какой ком порт
Интерфейс программы выглядит так(кликабельно)
интерфейс ESPlorer-а
В левой части программы находятся нужные нам инструменты для работы с esp контроллером, в правой части сам терминал который нам выдаёт информацию.
Закладка NodeMCU & MicroPython > Scripts
Создаём новый файл со следующим содержимым(меняем имя и ключ сети):

wifi.setmode(wifi.STATION) --переключаемся в режим станции(клиент)
print('set mode=STATION (mode='..wifi.getmode()..')') -- сообщаем об этом в терминал
print('MAC: ',wifi.sta.getmac()) -- выводим мак устройства в терминал
wifi.sta.config("Имя сети","Пароль сети wifi") --!!!!настройки вашей сети вайфай!!!!!!
print("wait 10 sec and print ip adress")
    tmr.alarm(0, 10000, 0, function() -- простенький таймер на одно выполнение через 10 сек
      print(wifi.sta.getip())-- выводим ip который присвоил роутер, если nil то не подключился или пароль не подходит   
    end)

Сохраняем файл под именем init.lua и если файл вгрузился в модуль сам то хорошо, если не догрузился или не загрузился вовсе то вгружаем самостоятельно использовав кнопку UPLOAD находящуюся внизу окна редактирования.

Можно проверить работу перезагрузив модуль через RESET или закладка NodeMCU & MicroPython > Commands > Restart ESP.
После рестарта модуля(я использую кнопку РЕСЕТ заранее выведенную) увидим что успешно подключились
NodeMCU custom build by frightanic.com
branch: master
commit: 7b83bbb2ea134cd85ac9d63108603cc02c4e20f7
SSL: true
modules: adc,bit,bmp085,crypto,dht,encoder,file,gpio,http,i2c,net,node,ow,pwm,rtctime,sntp,spi,tmr,u8g,uart,websocket,wifi
build built on: 2016-10-21 07:57
powered by Lua 5.1.4 on SDK 1.5.4.1(39cb9a32)
set mode=STATION (mode=1)
MAC: 5c:cf:7f: хх: хх: хх
wait 10 sec and print ip adress
> 192.168.98.23 255.255.255.0 192.168.98.1
можно убедиться в этом пропинговав узел
Ping 192.168.98.23
Обмен пакетами с 192.168.98.23 по 32 байт:
Ответ от 192.168.98.23: число байт=32 время=196мс TTL=254
Ответ от 192.168.98.23: число байт=32 время=107мс TTL=254
Ответ от 192.168.98.23: число байт=32 время=33мс TTL=254
Итог
Первый самый элементарный скрипт написан, модуль ESP успешно подключился к сети Wi-fi и вывел настройки которые получил.
В следующей статье разберём другие элементарные примеры.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.