#!/usr/bin/lua
json = require("json")
+socket = require("socket")
function getConfig(configname)
end
+ hostname = socket.dns.gethostname()
if mqtt_host and not mqtt_id then
socket = require("socket")
posix = require("posix")
- hostname = socket.dns.gethostname()
pid = posix.getpid()
mqtt_id="beaconmon-"..hostname.."-"..pid
end
function open_dump()
- run_command("/usr/bin/pgrep btmon && /bin/kill `/usr/bin/pgrep btmon`")
- run_command("/usr/bin/pgrep btmon && /bin/kill `/usr/bin/pgrep hcitool`")
- f = assert(io.popen ("/usr/bin/stdbuf -o0 /usr/bin/btmon"))
+ f = assert(io.popen ("/usr/bin/btmon"))
run_command("hciconfig hci0 down")
run_command("hciconfig hci0 up")
- f_null = assert(io.popen ("hcitool lescan --duplicates --passive"))
+ f_null = assert(io.popen ("hcitool lescan --duplicates"))
return f
end
function mqtt_pub(path,value)
- res=mqtt_client:publish(path,value)
+ res=mqtt_client:publish(path,value,0,false)
printLog("Pub "..path.." returned "..res);
return res
end
local type
local name
+ packet['origin'] = hostname
+
mac = packet['Address']
uuid = packet['UUID']
type = packet['Type']
if not pcall(mqtt_pub,mqtt_path,dump(packet)) then
printLog('Reconnecting MQTT...')
- mqtt_client:connect(mqtt_id)
+ mqtt_client:connect(mqtt_host,mqtt_port)
end
end