mirror of https://github.com/aredn/aredn.git
Fix fccid beacon (#717)
This commit is contained in:
parent
61fa802f80
commit
32e02de328
|
@ -34,20 +34,32 @@
|
||||||
|
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
local socket = require("socket")
|
|
||||||
|
|
||||||
function fccid()
|
function fccid()
|
||||||
local id = string.format("ID: %s", capture("uname -n"))
|
local c = uci.cursor()
|
||||||
local ip = uci.cursor():get("network", "wifi", "ipaddr")
|
|
||||||
local udp = socket.udp()
|
local device = get_ifname("wifi")
|
||||||
udp:setoption("broadcast", true)
|
local name = c:get("system","@system[0]", "hostname")
|
||||||
udp:setsockname(ip, 4919)
|
local lat = c:get("aredn", "@location[0]", "lat")
|
||||||
--udp:setpeername("10.255.255.255", 4919)
|
local lon = c:get("aredn", "@location[0]", "lon")
|
||||||
|
|
||||||
|
if not (name and device:match("^wlan")) then
|
||||||
|
exit_app()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local id = "ID: " .. name
|
||||||
|
if lat and lon then
|
||||||
|
id = id .. " LOCATION: " .. lat .. "," .. lon
|
||||||
|
end
|
||||||
|
|
||||||
|
local udp = nixio.socket("inet", "dgram")
|
||||||
|
udp:setopt("socket", "broadcast", 1)
|
||||||
|
udp:setopt("socket", "bindtodevice", device)
|
||||||
|
udp:bind(nil, 4919)
|
||||||
|
|
||||||
while true
|
while true
|
||||||
do
|
do
|
||||||
if nixio.fs.stat("/etc/config/run-fccid") then
|
|
||||||
udp:sendto(id, "10.255.255.255", 4919)
|
udp:sendto(id, "10.255.255.255", 4919)
|
||||||
end
|
|
||||||
wait_for_ticks(5 * 60) -- 5 minutes
|
wait_for_ticks(5 * 60) -- 5 minutes
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue