Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2016
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. function sensorId(addr)
  2. --return string.format("%02x%02x%02x%02x%02x%02x%02x%02x", addr:byte(1,8))
  3. return string.format("%02x%02x%02x%02x%02x%02x", string.reverse(addr):byte(2,7))
  4. end
  5.  
  6. function prepareSensorToHtml(i, serial, temp)
  7. return string.format("<h2>#%s - %s</h2><h3>%.4f&deg;C</h3>\r\n", i, serial, temp)
  8. end
  9.  
  10. function httpReceive(c, payload)
  11. r = "HTTP/1.1 200/OK\r\nServer: NodeLua\r\nContent-Type: text/html\r\n\r\n"
  12. addrs = t.addrs()
  13. for i=1,table.getn(addrs)
  14. do
  15. r = r .. prepareSensorToHtml(i, sensorId(addrs[i]), t.read(addrs[i]))
  16. end
  17. c:send(r)
  18. c:close()
  19. end
  20.  
  21. function httpListen(c, data)
  22. c:on("receive", httpReceive)
  23. end
  24.  
  25. function uploadTemp()
  26. addrs=t.addrs()
  27. for i=1,table.getn(addrs)
  28. do
  29. serial = sensorId(addrs[i])
  30. temp = string.format("%.2f", t.read(addrs[i]))
  31. url = string.format("http://monitor.shajen.pl/api/temp/add?serial=%s&temperature=%.2f&key=%s", serial, temp, KEY)
  32. http.get(url, nil, nil)
  33. end
  34. end
  35. KEY="XXXXXX" -- wymagany klucz, dla chetnych trzeba sie zglosic
  36.  
  37. t=require("ds18b20")
  38. t.setup(4)
  39.  
  40. wifi.setmode(wifi.STATION)
  41. wifi.sta.config("NAZWA SIECI","HASLO")
  42.  
  43. httpServer=net.createServer(net.TCP, 30)
  44. httpServer:listen(8080, httpListen)
  45.  
  46. tmr.alarm(0, 60000, tmr.ALARM_AUTO, uploadTemp) -- co 60s wgrywa dane na serwer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement