diff options
Diffstat (limited to 'mqtt-bridge/main.lua')
-rw-r--r-- | mqtt-bridge/main.lua | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/mqtt-bridge/main.lua b/mqtt-bridge/main.lua index d8773cb..86d51ab 100644 --- a/mqtt-bridge/main.lua +++ b/mqtt-bridge/main.lua @@ -1,13 +1,41 @@ +function panic(reason) + print("PANIC: "..reason) + -- This will trigger a restart, but not immediately + node.restart() + while true do +-- print("waiting for restart..") +-- tmr.delay(1 * 1000 * 1000) + end +end -function on_cmd(cmd, args) +local function on_cmd(cmd, args) print("on_cmd: "..cmd) + for k, v in pairs(args) do + print(k.."="..tostring(v)) + end + + mq_publish("cmd", "cmd="..cmd) +end - mq_publish("cmd="..cmd) +local function read_cfg(name) + local filename = "cfg-"..name + if not file.open(filename, "r") then + panic("Could not read configuration file: "..filename) + end + local value = file.readline() + file.close() + if value == nil or #value == 0 then + panic("Empty configuration file: "..filename) + end + return string.sub(value, 1, -2) end function main() + local wlan_ssid = read_cfg("wlan-ssid") + local wlan_password = read_cfg("wlan-password") + require('wlan') - wlan_init() + wlan_init(wlan_ssid, wlan_password) local client_id = "esp8266-"..wifi.sta.getmac() require('mq') @@ -18,5 +46,3 @@ function main() print("init done") end - -main() |