aboutsummaryrefslogtreecommitdiff
path: root/mqtt-bridge/main.lua
diff options
context:
space:
mode:
Diffstat (limited to 'mqtt-bridge/main.lua')
-rw-r--r--mqtt-bridge/main.lua36
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()