




-- временный WiFi для вас. уберите в финальной программе
net.wf.setup(net.wf.mode.AP, "OD-" .. cpu.getmac(0, 1), "password")
net.wf.start()
-- импорт библиотек
indication = require("indication")
-- читаем настройки из раздела Web-настроек
wdt_on = Settings.get("sys_wdt") == "on"
host, path, ssl, port = net.parseUrl(Settings.get("net_dest"))
-- определяем классы
leds = indication.Leds.new({ RGB = true })
snd = indication.Sound.new()
-- стартовая индикация при подачи питания
if cpu.resetreason() == cpu.RESET_POWERON then
leds:start()
snd:start()
end
-- демо-сообщения для главной web-страницы
iprint("Это информационное сообщение")
eprint("Здесь могло быть сообщение об ошибке")
-- функция для обработки полученной метки
local function on_uid(uid)
-- здесь можно проверить метку со списком, но для демо все принимаем
net.udp.sendto(host, port, uid)
leds:ok()
snd:ok()
end
while true do
if wdt_on then cpu.watchdog.reset() end
mfrc522.scan(0, on_uid) -- callback вызывается только если UID считан
thread.sleepms(50)
end -- временный WiFi для вас. уберите в финальной программе
net.wf.setup(net.wf.mode.AP,'OD-'..cpu.getmac(0, 1), 'password')
net.wf.start()
-- импорт библиотек
rfid = require("rfid")
indication = require("indication")
-- читаем настройки
wdt_on = Settings.get("sys_wdt") == "on"
format = Settings.get("rfid_format")
host, path, ssl, port = net.parseUrl(Settings.get("net_dest"))
-- определяем классы
leds = indication.Leds.new({RGB=true})
snd = indication.Sound.new()
reader = rfid.Reader()
-- стартовая индикация
if cpu.resetreason() == cpu.RESET_POWERON then
leds:start()
snd:start()
end
iprint("Это информационное сообщение")
eprint("Здесь могло быть сообщение об ошибке")
-- запускаем
reader.process({
mode = rfid.MODE_LOOP, -- вечный цикл (есть еще однократный или в режиме корутины)
wdt = wdt_on, -- сторожевой таймер
checkfunc = function(uid) -- сюда пишем все, что нужно сделать, если появилась метка
pcall(function() net.udp.sendto(host, port, uid) end) -- отправка по udp
return true -- в этом примере проверок на валидность нет, всегда true - попадаем в функцию "ok"
end,
okfunc = function() -- функция для обработки успешного поведения.
leds:ok() -- индикация
snd:ok() -- звук
end,
errfunc = function() -- функция для обработки неподошедших карт, например звук ошибки
leds:err()
snd:err()
end,
}) Актуальные прошивки можно скачать по ссылке