Первая программа на Lua(продолжение)
В продолжении первого написанного и успешно загруженного скрипта на LUA сделаем модернизацию и запуск другого скрипта.
Суть заключается в том, чтобы первым делом загружался файл init.lua а через 5-10 секунд уже запускался на выполнение наш основной скрипт например main.lua.
Сделано это для того если вдруг в основном коде скрипта будет допущена грубая ошибка и зациклит выполнение сценария то можно будет в момент выполнения init.lua остановить таймер отсчитывающий 10 сек командой tmr.stop(0) и спокойно исправить ошибки.
После успешной загрузки файла в память esp8266 можно перезагрузить модуль и понять что далее печати мак адреса ничего не происходит, это потому что нет файла main.lua в памяти и требуется его создать и загрузить. Что Вы в него запишите это уже Ваше дело…
Кстати говоря — в правой части ESPLorer-а есть кнопки для отображения состояния файловой системы контроллера esp и список загруженных в него файлов нажав на которые левой кнопкой мыши можно запустить скрипт, а нажав правой кн. м. изменить переименовать или удалить файл.
Суть заключается в том, чтобы первым делом загружался файл init.lua а через 5-10 секунд уже запускался на выполнение наш основной скрипт например main.lua.
Сделано это для того если вдруг в основном коде скрипта будет допущена грубая ошибка и зациклит выполнение сценария то можно будет в момент выполнения init.lua остановить таймер отсчитывающий 10 сек командой tmr.stop(0) и спокойно исправить ошибки.
Немного модифицированный код LUA скрипта
wifi.setmode(wifi.STATION) --переключаемся в режим станции(клиент)
print('set mode=STATION (mode='..wifi.getmode()..')') -- сообщаем об этом в терминал
print('MAC: ',wifi.sta.getmac()) -- выводим мак устройства в терминал
wifi.sta.config("4g","00008888") -- настройки вашей сети вайфай
FileToExecute="main.lua"--файл для открытия
l = file.list()
for k,v in pairs(l) do
if k == FileToExecute then
print("wait 10 sec and print ip adress & run "..FileToExecute) -- печатаем инфу + имя файла
tmr.alarm(0, 10000, 0, function() -- простенький таймер на одно выполнение через 10 сек
print(wifi.sta.getip())-- выводим ip который присвоил роутер, если nil то не подключился или пароль не подходит
print("Run ".. FileToExecute) --инфа
dofile(FileToExecute) -- запускаем main.lua файл
end) --закрываем таймер
end --закрываем иф
end --закрываем цикл фор
-- почему так сложно? :)
После успешной загрузки файла в память esp8266 можно перезагрузить модуль и понять что далее печати мак адреса ничего не происходит, это потому что нет файла main.lua в памяти и требуется его создать и загрузить. Что Вы в него запишите это уже Ваше дело…
Кстати говоря — в правой части ESPLorer-а есть кнопки для отображения состояния файловой системы контроллера esp и список загруженных в него файлов нажав на которые левой кнопкой мыши можно запустить скрипт, а нажав правой кн. м. изменить переименовать или удалить файл.
0 комментариев