X-Git-Url: https://git.rvb.name/weathermon.git/blobdiff_plain/769d0bd71b19b467c195838379a379e0e2d69c2b..25495dee81262b35aaafdd93b8687e4725d84489:/weathermon.lua diff --git a/weathermon.lua b/weathermon.lua index 20f5aca..19cd912 100755 --- a/weathermon.lua +++ b/weathermon.lua @@ -10,16 +10,28 @@ function getConfig() web_user = cur.get(config,"web","user") web_pass = cur.get(config,"web","password") web_devid = cur.get(config,"web","devid") + + web_iface = cur.get(config,"web","iface") - io.input("/sys/class/net/eth0/address") + if web_iface then + io.input("/sys/class/net/"..web_iface.."/address") + else + io.input("/sys/class/net/eth0/address") + end + mac = io.read("*line") mac = mac:gsub(":","") mac = mac:upper() web_devid = web_devid or mac - logging = cur.get(config,"logging","enabled") + serial_port = cur.get(config,"serial","port") + serial_baud = cur.get(config,"serial","baud") + + command = "stty -F "..serial_port.." "..serial_baud + os.execute(command) + end require "socket" @@ -59,21 +71,21 @@ end function submitValue(type,id,param,val) - printLog("URL="..web_url) - url = web_url.."?stype="..type.."&sid="..id.."¶m="..param.."&value="..val - printLog(url) - command = "curl" + if web_iface then + command = command.." --interface "..web_iface + end + if web_user then command = command.." -u "..web_user..":"..web_pass end command = command.." \""..url.."\"" - printLog("COMMAND=\""..command.."\"") + print(command) os.execute(command) print("") @@ -110,8 +122,8 @@ function processLine(str) end end for k,v in pairs(sensor) do - printLog("Type = "..sensor_type..", ID = "..sensor_id..", Param = "..key..", Value = "..value) - submitValue(sensor_type,sensor_id,key,value) + printLog("Type = "..sensor_type..", ID = "..sensor_id..", Param = "..k..", Value = "..v) + submitValue(sensor_type,sensor_id,k,v) end end @@ -119,6 +131,9 @@ end getConfig() -line=arg[1] -print(line) -processLine(line) +serialin=io.open(serial_port,"r") +while 1 do + line=serialin:read() + print(line) + processLine(line) +end