Всем доброго дня!
Пытаюсь реализовать проект по моторизованным рулонным шторам отсюда - https://www.instructables.com/id/Motorized-WiFi-IKEA-Roller-Blind/
Контроллер - ESP8266 NodeMCU, драйвер ULN2003 и мотор 28BYJ-48. Это все работает на готовом ПО, но меня не устраивает функционал.
Актуальную версию NodeMCU получал c https://nodemcu-build.com/ с модулями file, GPIO, MQTT, net, node, PWM, timer, UART, WiFi.
По коду куча проблем, судя по всему из-за большой разницы в версиях NodeMCU. Таймеры, MQTT вроде бы поправил, но с прерываниями не могу понять.
Минимальный код
Сообщение attempt ... done вижу, но сколько я бы не жал кнопку, сообщения process_button нет.
Если важно, текущий на данный момент код - https://www.dropbox.com/s/o91zan4l2grsc36/20200614_roller-blind-test.zip?dl=0
Пытаюсь реализовать проект по моторизованным рулонным шторам отсюда - https://www.instructables.com/id/Motorized-WiFi-IKEA-Roller-Blind/
Контроллер - ESP8266 NodeMCU, драйвер ULN2003 и мотор 28BYJ-48. Это все работает на готовом ПО, но меня не устраивает функционал.
Актуальную версию NodeMCU получал c https://nodemcu-build.com/ с модулями file, GPIO, MQTT, net, node, PWM, timer, UART, WiFi.
По коду куча проблем, судя по всему из-за большой разницы в версиях NodeMCU. Таймеры, MQTT вроде бы поправил, но с прерываниями не могу понять.
Минимальный код
Код:
do
local pin=1 -- кнопка на GPIO 5 + GND
gpio.mode(pin,gpio.INT)
local function process_button(level, when, eventcount)
print("process_button("..level..","..when..","..eventcount..")")
end
print("Attempt to gpio.trig() for pin " .. pin)
gpio.trig(pin, "both", process_button)
print("Done gpio.trig() for pin " .. pin)
end
Если важно, текущий на данный момент код - https://www.dropbox.com/s/o91zan4l2grsc36/20200614_roller-blind-test.zip?dl=0