ds18b20-web.lua 979 B

1234567891011121314151617181920212223242526272829303132333435
  1. t = require('ds18b20')
  2. port = 80
  3. pin = 3 -- gpio0 = 3, gpio2 = 4
  4. gconn = {} -- global variable for connection
  5. function readout(temp)
  6. local resp = "HTTP/1.1 200 OK\nContent-Type: text/html\nRefresh: 5\n\n" ..
  7. "<!DOCTYPE HTML>" ..
  8. "<html><body>" ..
  9. "<b>ESP8266</b></br>"
  10. for addr, temp in pairs(temp) do
  11. resp = resp .. string.format("Sensor %s: %s &#8451</br>", ('%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X '):format(addr:byte(1,8)), temp)
  12. end
  13. resp = resp ..
  14. "Node ChipID: " .. node.chipid() .. "<br>" ..
  15. "Node MAC: " .. wifi.sta.getmac() .. "<br>" ..
  16. "Node Heap: " .. node.heap() .. "<br>" ..
  17. "Timer Ticks: " .. tmr.now() .. "<br>" ..
  18. "</html></body>"
  19. gconn:send(resp)
  20. gconn:on("sent",function(conn) conn:close() end)
  21. end
  22. srv=net.createServer(net.TCP)
  23. srv:listen(port,
  24. function(conn)
  25. gconn = conn
  26. -- t:read_temp(readout) -- default pin value is 3
  27. t:read_temp(readout, pin)
  28. end
  29. )