Files
Christian Zufferey 8abc823276 - commencé à bosser sur les websocket, ce n'est pas en yaka :-(
- essayé d'installer webide sur NodeMCU, il y a justement un exemple de websocker server, je n'arrive pas encore à comprendre comment cela marche
- donc il y a encore pas mal de taf
2018-11-02 23:02:02 +01:00

47 lines
1.2 KiB
Lua
Executable File

return function (connection, req, args)
dofile('httpserver-header.lc')(connection, 200, 'html')
local w, h, dataWidth, offset = 10, 6, 36, 0
-- timer id(0-6), interval in ms
local tmrId, tmrMs = 4, 200
if req.method == 'POST' then
local rd = req.getRequestData()
if (rd['data'] ~= nil) then
file.open('led-text.dat', 'w+')
file.write(rd['data'])
file.close()
end
end
collectgarbage()
tmr.alarm(tmrId, tmrMs, tmr.ALARM_SEMI, function()
if offset < dataWidth then
local data = ''
file.open('led-text.dat', 'r')
local row = 0
while row < h do
file.seek("set", (row * dataWidth + offset) * 3)
local size = w
if (offset + w > dataWidth) then
size = dataWidth - offset
end
data = data .. file.read(size * 3)
if size < w then
data = data .. string.char(0):rep((w - size) * 3)
end
row = row + 1
end
file.close()
ws2812.write(data)
offset = offset + 1
tmr.start(tmrId)
else
ws2812.write(string.char(0):rep(w*h*3))
tmr.unregister(tmrId)
end
end)
end