mirror of
https://github.com/JamesonHuang/OpenWrt_Luci_Lua.git
synced 2024-11-23 22:00:11 +00:00
update wifi updown
This commit is contained in:
parent
b48c8407aa
commit
d753370f63
73
Me_Lua/R10-WIFI.lua
Normal file
73
Me_Lua/R10-WIFI.lua
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
|
||||||
|
function wifi_reconnect_shutdown(shutdown, wnet)
|
||||||
|
local netmd = require "luci.model.network".init()
|
||||||
|
local net = netmd:get_wifinet(wnet)
|
||||||
|
local dev = net:get_device()
|
||||||
|
if dev and net then
|
||||||
|
dev:set("disabled", nil)
|
||||||
|
net:set("disabled", shutdown and 1 or nil)
|
||||||
|
netmd:commit("wireless")
|
||||||
|
|
||||||
|
luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>/dev/null")
|
||||||
|
|
||||||
|
luci.sys.call("env -i /sbin/wifi reload >/dev/null 2>/dev/null")
|
||||||
|
|
||||||
|
--luci.http.status(200, shutdown and "Shutdown" or "Reconnected")
|
||||||
|
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
--luci.http.status(404, "No such radio")
|
||||||
|
end
|
||||||
|
|
||||||
|
function wifi_reconnect(wnet)
|
||||||
|
wifi_reconnect_shutdown(false, wnet)
|
||||||
|
end
|
||||||
|
|
||||||
|
function wifi_shutdown(wnet)
|
||||||
|
wifi_reconnect_shutdown(true, wnet)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function fork_smart_wifi_shutdown(switch, wnet, close_time, open_time)
|
||||||
|
local close_interval = close_time - os.time()
|
||||||
|
local open_interval = open_time - os.time()
|
||||||
|
|
||||||
|
|
||||||
|
local cmd = string.format("/sbin/wifi down "..wnet.."; sleep 15; /sbin/wifi up "..wnet)
|
||||||
|
require "MZLog".log(3, cmd)
|
||||||
|
--local cmd = string.format("sleep %s; /sbin/wifi down; sleep %s; /sbin/wifi up;", tostring(close_interval), tostring(open_interval))
|
||||||
|
--local cmd = "/sbin/wifi "..switch.." "..wnet
|
||||||
|
|
||||||
|
exec_cmd_in_sh(cmd)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function smart_wifi_shutdown()
|
||||||
|
local wnet = "wl1"
|
||||||
|
local info = {}
|
||||||
|
local switch = luci.http.formvalue("switch")
|
||||||
|
--get para
|
||||||
|
--close_time = luci.http.formvalue("close_time")
|
||||||
|
--open_time = luci.http.formvalue("open_time")
|
||||||
|
|
||||||
|
--test normal
|
||||||
|
close_time = os.time() + 2
|
||||||
|
restart_time = os.time() + 4
|
||||||
|
|
||||||
|
--test exception
|
||||||
|
--close_time = os.time() - 5
|
||||||
|
--restart_time = os.time() - 10
|
||||||
|
|
||||||
|
--para err manage
|
||||||
|
if close_time < os.time() or restart_time < close_time then
|
||||||
|
info["SUCCESS"] = false
|
||||||
|
else
|
||||||
|
info["SUCCESS"] = true
|
||||||
|
end
|
||||||
|
fork_smart_wifi_shutdown(switch, wnet, close_time, restart_time)
|
||||||
|
luci.http.write_json(info)
|
||||||
|
|
||||||
|
end
|
@ -438,6 +438,137 @@ function fork_restart_network()
|
|||||||
exec_cmd_in_sh(FORK_RESTART_WORK)
|
exec_cmd_in_sh(FORK_RESTART_WORK)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function fork_smart_wifi_shutdown(wnet, close_time, open_time)
|
||||||
|
local close_interval = close_time - os.time()
|
||||||
|
local open_interval = open_time - os.time()
|
||||||
|
local cmd = string.format("sleep 15; /sbin/wifi down "..wnet.."; sleep 15; /sbin/wifi up "..wnet)
|
||||||
|
|
||||||
|
--local cmd = string.format("sleep %s; /sbin/wifi down; sleep %s; /sbin/wifi up;", tostring(close_interval), tostring(open_interval))
|
||||||
|
--local cmd = "/sbin/wifi "..switch.." "..wnet
|
||||||
|
--local cmd = string.format("sleep %s; /sbin/wifi down; sleep %s; /sbin/wifi up;", tostring(close_interval), tostring(open_interval))
|
||||||
|
local cmd = string.format("/sbin/wifi down")
|
||||||
|
luci.http.status(200, shutdown and "Shutdown" or "Reconnected")
|
||||||
|
exec_cmd_in_sh(cmd)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--[[
|
||||||
|
--function: 定时wifi开关
|
||||||
|
--author: rh_Jameson
|
||||||
|
--]]--
|
||||||
|
--wifi重连 &开关基础函数
|
||||||
|
local function wifi_reconnect_shutdown(shutdown, wnet)
|
||||||
|
local netmd = require "luci.model.network".init()
|
||||||
|
local net = netmd:get_wifinet(wnet)
|
||||||
|
local dev = net:get_device()
|
||||||
|
if dev and net then
|
||||||
|
dev:set("disabled", nil)
|
||||||
|
net:set("disabled", shutdown and 1 or nil)
|
||||||
|
netmd:commit("wireless")
|
||||||
|
|
||||||
|
luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>/dev/null")
|
||||||
|
|
||||||
|
luci.sys.call("env -i /sbin/wifi reload >/dev/null 2>/dev/null")
|
||||||
|
|
||||||
|
--luci.http.status(200, shutdown and "Shutdown" or "Reconnected")
|
||||||
|
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
--luci.http.status(404, "No such radio")
|
||||||
|
end
|
||||||
|
--wifi重连
|
||||||
|
function wifi_reconnect(wnet)
|
||||||
|
wifi_reconnect_shutdown(false, wnet)
|
||||||
|
end
|
||||||
|
--wifi关闭
|
||||||
|
function wifi_shutdown(wnet)
|
||||||
|
wifi_reconnect_shutdown(true, wnet)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--function: 定时wifi开关shell形式
|
||||||
|
--author: rh_Jameson
|
||||||
|
function smart_wifi_shutdown()
|
||||||
|
local wnet = 'WL1'
|
||||||
|
local info = {}
|
||||||
|
local switch = luci.http.formvalue("switch")
|
||||||
|
|
||||||
|
--get para
|
||||||
|
--close_time = luci.http.formvalue("close_time")
|
||||||
|
--open_time = luci.http.formvalue("open_time")
|
||||||
|
|
||||||
|
--test normal
|
||||||
|
close_time = os.time() + 5
|
||||||
|
restart_time = os.time() + 10
|
||||||
|
|
||||||
|
--test exception
|
||||||
|
--close_time = os.time() - 5
|
||||||
|
--restart_time = os.time() - 10
|
||||||
|
|
||||||
|
--para err manage
|
||||||
|
if close_time < os.time() or restart_time < close_time then
|
||||||
|
info["SUCCESS"] = false
|
||||||
|
else
|
||||||
|
info["SUCCESS"] = true
|
||||||
|
end
|
||||||
|
fork_smart_wifi_shutdown(switch, wnet, close_time, restart_time)
|
||||||
|
luci.http.write_json(info)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--[[
|
||||||
|
--function: 定时wifi开关
|
||||||
|
--author: rh_Jameson
|
||||||
|
function smart_wifi_shutdown()
|
||||||
|
local wnet = 'mt7628.network1'
|
||||||
|
local table = {}
|
||||||
|
|
||||||
|
--get para
|
||||||
|
--local close_time = luci.http.formvalue("close_time")
|
||||||
|
--local open_time = luci.http.formvalue("open_time")
|
||||||
|
|
||||||
|
--test normal
|
||||||
|
--local close_time = os.time() + 5
|
||||||
|
--local restart_time = os.time() + 10
|
||||||
|
|
||||||
|
--test exception
|
||||||
|
local close_time = os.time() - 5
|
||||||
|
local restart_time = os.time() - 10
|
||||||
|
|
||||||
|
--para err manage
|
||||||
|
if close_time < os.time() or restart_time < close_time then
|
||||||
|
table["err"] = true
|
||||||
|
luci.http.write_json(table)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
--do close
|
||||||
|
while true do
|
||||||
|
if os.time() ~= close_time then
|
||||||
|
posix.sleep(1)
|
||||||
|
else
|
||||||
|
wifi_shutdown(wnet)
|
||||||
|
table["close"] = true
|
||||||
|
luci.http.write_json(table)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--do restart
|
||||||
|
while true do
|
||||||
|
if os.time() ~= restart_time then
|
||||||
|
posix.sleep(1)
|
||||||
|
else
|
||||||
|
wifi_reconnect(wnet)
|
||||||
|
table["restart"] = true
|
||||||
|
luci.http.write_json(table)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--]]--
|
||||||
|
|
||||||
function check_guest_wifi()
|
function check_guest_wifi()
|
||||||
local uci = require("luci.model.uci").cursor()
|
local uci = require("luci.model.uci").cursor()
|
||||||
local guest = uci:get_all("network", "eth0_3")
|
local guest = uci:get_all("network", "eth0_3")
|
||||||
|
@ -34,6 +34,8 @@ nw_set_wan_type = nwfs.nw_set_wan_type
|
|||||||
nw_wifi_settings = nwfs.nw_wifi_settings
|
nw_wifi_settings = nwfs.nw_wifi_settings
|
||||||
nw_get_wireless_channel = nwfs.nw_get_wireless_channel
|
nw_get_wireless_channel = nwfs.nw_get_wireless_channel
|
||||||
nw_set_wireless_channel = nwfs.nw_set_wireless_channel
|
nw_set_wireless_channel = nwfs.nw_set_wireless_channel
|
||||||
|
--rh_Jameson
|
||||||
|
smart_wifi_shutdown = nwfs.smart_wifi_shutdown
|
||||||
|
|
||||||
nw_scan_ble_switch = nwfs.nw_scan_ble_switch
|
nw_scan_ble_switch = nwfs.nw_scan_ble_switch
|
||||||
nw_get_ble_device_list = nwfs.nw_get_ble_device_list
|
nw_get_ble_device_list = nwfs.nw_get_ble_device_list
|
||||||
@ -86,6 +88,9 @@ function index()
|
|||||||
page.leaf = true
|
page.leaf = true
|
||||||
page = entry({"api", "pysip"}, call("pysip"), nil, nil)
|
page = entry({"api", "pysip"}, call("pysip"), nil, nil)
|
||||||
page.leaf = true
|
page.leaf = true
|
||||||
|
--rh_Jameson
|
||||||
|
page = entry({"api", "smart_wifi_shutdown"}, call("smart_wifi_shutdown"), nil)
|
||||||
|
page.leaf = true
|
||||||
|
|
||||||
page = entry({"api", "getWifiSettings"}, call("nw_get_wifi_settings"), nil)
|
page = entry({"api", "getWifiSettings"}, call("nw_get_wifi_settings"), nil)
|
||||||
page.leaf = true
|
page.leaf = true
|
||||||
|
@ -6,6 +6,7 @@ local lfs = require "lfs"
|
|||||||
local bfs = require "meizu.bfs"
|
local bfs = require "meizu.bfs"
|
||||||
local RC = require "meizu.r10config"
|
local RC = require "meizu.r10config"
|
||||||
local dbfs = require "meizu.dbfs"
|
local dbfs = require "meizu.dbfs"
|
||||||
|
local posix = require "posix"
|
||||||
|
|
||||||
local bind_router = bfs.bind_router
|
local bind_router = bfs.bind_router
|
||||||
local data_to_json = bfs.data_to_json
|
local data_to_json = bfs.data_to_json
|
||||||
@ -365,15 +366,52 @@ function check_wifi_passwd(passwd,encryption)
|
|||||||
end
|
end
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
|
function fork_smart_wifi_shutdown(wnet, close_time, open_time)
|
||||||
|
local close_interval = close_time - os.time()
|
||||||
|
local open_interval = open_time - os.time()
|
||||||
|
|
||||||
|
local cmd = string.format("/sbin/wifi down "..wnet.."; sleep 15; /sbin/wifi up "..wnet)
|
||||||
|
--local cmd = string.format("sleep %s; /sbin/wifi down; sleep %s; /sbin/wifi up;", tostring(close_interval), tostring(open_interval))
|
||||||
|
--local cmd = "/sbin/wifi "..switch.." "..wnet
|
||||||
|
exec_cmd_in_sh(cmd)
|
||||||
|
end
|
||||||
|
--[[
|
||||||
|
return coroutine.create(function()
|
||||||
|
--do close
|
||||||
|
while true do
|
||||||
|
if os.time() ~= close_time then
|
||||||
|
posix.sleep(1)
|
||||||
|
else
|
||||||
|
wifi_shutdown(wnet)
|
||||||
|
table["close"] = true
|
||||||
|
luci.http.write_json(table)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
--do restart
|
||||||
|
while true do
|
||||||
|
if os.time() ~= restart_time then
|
||||||
|
posix.sleep(1)
|
||||||
|
else
|
||||||
|
wifi_reconnect(wnet)
|
||||||
|
table["restart"] = true
|
||||||
|
luci.http.write_json(table)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
--require "MZLog".log(3, debug.getinfo(1).currentline)
|
||||||
|
]]--
|
||||||
|
|
||||||
|
|
||||||
function fork_restart_wifi()
|
function fork_restart_wifi()
|
||||||
local FORK_RESTART_WIFI = "sleep 1; /sbin/wifi >/dev/null 2>/dev/null; /etc/init.d/minidlna restart; /etc/init.d/samba restart; /usr/bin/gettraffic flush_wl_dev >/dev/null 2>/dev/null"
|
local cmd = "sleep 1; /sbin/wifi >/dev/null 2>/dev/null;"
|
||||||
exec_cmd_in_sh(FORK_RESTART_WIFI)
|
exec_cmd_in_sh(cmd)
|
||||||
end
|
end
|
||||||
|
|
||||||
function fork_restart_network()
|
function fork_restart_network()
|
||||||
local FORK_RESTART_WORK= "/etc/init.d/network restart"
|
local cmd = "/etc/init.d/network restart"
|
||||||
exec_cmd_in_sh(FORK_RESTART_WORK)
|
exec_cmd_in_sh(cmd)
|
||||||
end
|
end
|
||||||
|
|
||||||
function get_lan_ip()
|
function get_lan_ip()
|
||||||
@ -400,25 +438,103 @@ local function wifi_reconnect_shutdown(shutdown, wnet)
|
|||||||
|
|
||||||
luci.sys.call("env -i /sbin/wifi reload >/dev/null 2>/dev/null")
|
luci.sys.call("env -i /sbin/wifi reload >/dev/null 2>/dev/null")
|
||||||
|
|
||||||
luci.http.status(200, shutdown and "Shutdown" or "Reconnected")
|
--luci.http.status(200, shutdown and "Shutdown" or "Reconnected")
|
||||||
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
luci.http.status(404, "No such radio")
|
--luci.http.status(404, "No such radio")
|
||||||
end
|
end
|
||||||
--wifi重连
|
--wifi重连
|
||||||
function wifi_reconnect(wnet)
|
function wifi_reconnect(wnet)
|
||||||
if(getstate)
|
|
||||||
wifi_reconnect_shutdown(false, wnet)
|
wifi_reconnect_shutdown(false, wnet)
|
||||||
end
|
end
|
||||||
--wifi开关
|
--wifi关闭
|
||||||
function wifi_shutdown(wnet)
|
function wifi_shutdown(wnet)
|
||||||
wifi_reconnect_shutdown(true, wnet)
|
wifi_reconnect_shutdown(true, wnet)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--function: 定时wifi开关shell形式
|
||||||
|
--author: rh_Jameson
|
||||||
|
function smart_wifi_shutdown()
|
||||||
|
local wnet = 'mt7628.network1'
|
||||||
|
local info = {}
|
||||||
|
|
||||||
|
--get para
|
||||||
|
--close_time = luci.http.formvalue("close_time")
|
||||||
|
--open_time = luci.http.formvalue("open_time")
|
||||||
|
|
||||||
|
--test normal
|
||||||
|
close_time = os.time() + 5
|
||||||
|
restart_time = os.time() + 10
|
||||||
|
|
||||||
|
--test exception
|
||||||
|
--close_time = os.time() - 5
|
||||||
|
--restart_time = os.time() - 10
|
||||||
|
|
||||||
|
--para err manage
|
||||||
|
if close_time < os.time() or restart_time < close_time then
|
||||||
|
info["SUCCESS"] = false
|
||||||
|
else
|
||||||
|
info["SUCCESS"] = true
|
||||||
|
end
|
||||||
|
fork_smart_wifi_shutdown(wnet, close_time, restart_time)
|
||||||
|
luci.http.write_json(info)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--[[
|
||||||
|
--function: 定时wifi开关
|
||||||
|
--author: rh_Jameson
|
||||||
|
function smart_wifi_shutdown()
|
||||||
|
local wnet = 'mt7628.network1'
|
||||||
|
local table = {}
|
||||||
|
|
||||||
|
--get para
|
||||||
|
--local close_time = luci.http.formvalue("close_time")
|
||||||
|
--local open_time = luci.http.formvalue("open_time")
|
||||||
|
|
||||||
|
--test normal
|
||||||
|
--local close_time = os.time() + 5
|
||||||
|
--local restart_time = os.time() + 10
|
||||||
|
|
||||||
|
--test exception
|
||||||
|
local close_time = os.time() - 5
|
||||||
|
local restart_time = os.time() - 10
|
||||||
|
|
||||||
|
--para err manage
|
||||||
|
if close_time < os.time() or restart_time < close_time then
|
||||||
|
table["err"] = true
|
||||||
|
luci.http.write_json(table)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
--do close
|
||||||
|
while true do
|
||||||
|
if os.time() ~= close_time then
|
||||||
|
posix.sleep(1)
|
||||||
|
else
|
||||||
|
wifi_shutdown(wnet)
|
||||||
|
table["close"] = true
|
||||||
|
luci.http.write_json(table)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--do restart
|
||||||
|
while true do
|
||||||
|
if os.time() ~= restart_time then
|
||||||
|
posix.sleep(1)
|
||||||
|
else
|
||||||
|
wifi_reconnect(wnet)
|
||||||
|
table["restart"] = true
|
||||||
|
luci.http.write_json(table)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
--]]--
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -535,6 +535,7 @@ sinkt["keep-open"] ./socket.lua /^sinkt["keep-open"] = function(sock)$/;" f
|
|||||||
sip ./meizu/sipfs.lua /^function sip()$/;" f
|
sip ./meizu/sipfs.lua /^function sip()$/;" f
|
||||||
sip_get_parameters ./meizu/sipfs.lua /^function sip_get_parameters(commandId)$/;" f
|
sip_get_parameters ./meizu/sipfs.lua /^function sip_get_parameters(commandId)$/;" f
|
||||||
sip_response_uploader ./meizu/sipfs.lua /^function sip_response_uploader(cmd, commandId, data, finishstatus)$/;" f
|
sip_response_uploader ./meizu/sipfs.lua /^function sip_response_uploader(cmd, commandId, data, finishstatus)$/;" f
|
||||||
|
smart_wifi_shutdown ./meizu/nwfs.lua /^function smart_wifi_shutdown()$/;" f
|
||||||
socket.sinkt["http-chunked"] ./socket/http.lua /^socket.sinkt["http-chunked"] = function(sock)$/;" f
|
socket.sinkt["http-chunked"] ./socket/http.lua /^socket.sinkt["http-chunked"] = function(sock)$/;" f
|
||||||
socket.sourcet["http-chunked"] ./socket/http.lua /^socket.sourcet["http-chunked"] = function(sock, headers)$/;" f
|
socket.sourcet["http-chunked"] ./socket/http.lua /^socket.sourcet["http-chunked"] = function(sock, headers)$/;" f
|
||||||
source.cat ./ltn12.lua /^function source.cat(...)$/;" f
|
source.cat ./ltn12.lua /^function source.cat(...)$/;" f
|
||||||
|
1972
Mi_Lua/tags
Normal file
1972
Mi_Lua/tags
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user