ds3231-web.lua 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. local ds3231 = require('ds3231')
  2. -- ESP-01 GPIO Mapping
  3. local gpio0, gpio2 = 3, 4
  4. local port = 80
  5. local days = {
  6. [1] = "Sunday",
  7. [2] = "Monday",
  8. [3] = "Tuesday",
  9. [4] = "Wednesday",
  10. [5] = "Thursday",
  11. [6] = "Friday",
  12. [7] = "Saturday"
  13. }
  14. local months = {
  15. [1] = "January",
  16. [2] = "Febuary",
  17. [3] = "March",
  18. [4] = "April",
  19. [5] = "May",
  20. [6] = "June",
  21. [7] = "July",
  22. [8] = "August",
  23. [9] = "September",
  24. [10] = "October",
  25. [11] = "November",
  26. [12] = "December"
  27. }
  28. do
  29. i2c.setup(0, gpio0, gpio2, i2c.SLOW) -- call i2c.setup() only once
  30. local srv = net.createServer(net.TCP)
  31. srv:listen(port, function(conn)
  32. local second, minute, hour, day, date, month, year = ds3231.getTime()
  33. local prettyTime = string.format("%s, %s %s %s %s:%s:%s",
  34. days[day], date, months[month], year, hour, minute, second)
  35. conn:send("HTTP/1.1 200 OK\nContent-Type: text/html\nRefresh: 5\n\n" ..
  36. "<!DOCTYPE HTML>" ..
  37. "<html><body>" ..
  38. "<b>ESP8266</b></br>" ..
  39. "Time and Date: " .. prettyTime .. "<br>" ..
  40. "Node ChipID : " .. node.chipid() .. "<br>" ..
  41. "Node MAC : " .. wifi.sta.getmac() .. "<br>" ..
  42. "Node Heap : " .. node.heap() .. "<br>" ..
  43. "Timer Ticks : " .. tmr.now() .. "<br>" ..
  44. "</html></body>")
  45. conn:on("sent",function(sck) sck:close() end)
  46. end)
  47. end