189 lines
4.2 KiB
Lua
189 lines
4.2 KiB
Lua
module("luci.controller.admin.cpe", package.seeall)
|
|
|
|
I18N = require "luci.i18n"
|
|
translate = I18N.translate
|
|
|
|
function index()
|
|
entry({"admin", "modem"}, firstchild(), translate("移动数据"), 25).dependent=false
|
|
entry({"admin", "modem", "nets"}, template("cpe/net_status"), translate("信号状态"), 0)
|
|
entry({"admin", "modem", "get_csq"}, call("action_get_csq"))
|
|
entry({"admin", "modem", "send_atcmd"}, call("action_send_atcmd"))
|
|
|
|
-- entry({"admin", "modem", "sms"}, template("cpe/sms"), translate("短信信息"), 1)
|
|
-- entry({"admin", "modem", "band"}, template("cpe/band"), translate("锁频段/锁PCI"), 1)
|
|
entry({"admin", "modem", "at"}, template("cpe/at"), translate("AT工具"), 98)
|
|
|
|
if not nixio.fs.access("/etc/config/modem") then
|
|
return
|
|
end
|
|
entry({"admin", "modem", "modem"}, cbi("cpe/modem"), _("模块设置"), 99)
|
|
|
|
end
|
|
|
|
function action_send_atcmd()
|
|
local rv ={}
|
|
local file
|
|
local p = luci.http.formvalue("p")
|
|
local set = luci.http.formvalue("set")
|
|
fixed = string.gsub(set, "\"", "~")
|
|
port= string.gsub(p, "\"", "~")
|
|
rv["at"] = fixed
|
|
rv["port"] = port
|
|
|
|
os.execute("/usr/share/cpe/atcmd.sh \'" .. port .. "\' \'" .. fixed .. "\'")
|
|
result = "/tmp/result.at"
|
|
file = io.open(result, "r")
|
|
if file ~= nil then
|
|
rv["result"] = file:read("*all")
|
|
file:close()
|
|
else
|
|
rv["result"] = " "
|
|
end
|
|
os.execute("/usr/share/cpe/delatcmd.sh")
|
|
luci.http.prepare_content("application/json")
|
|
luci.http.write_json(rv)
|
|
|
|
end
|
|
|
|
function action_get_csq()
|
|
local file
|
|
stat = "/tmp/cpe_cell.file"
|
|
file = io.open(stat, "r")
|
|
local rv ={}
|
|
|
|
-- echo 'RM520N-GL'
|
|
-- echo 'conntype'
|
|
-- echo '1e0e:9001'
|
|
-- echo $COPS #运营商
|
|
-- echo '' #端口
|
|
-- echo '' #温度
|
|
-- echo '' #协议
|
|
rv["modem"] = file:read("*line")
|
|
rv["conntype"] = file:read("*line")
|
|
rv["modid"] = file:read("*line")
|
|
rv["cops"] = file:read("*line")
|
|
rv["port"] = file:read("*line")
|
|
rv["tempur"] = file:read("*line")
|
|
rv["proto"] = file:read("*line")
|
|
file:read("*line")
|
|
|
|
|
|
-- echo $IMEI #imei
|
|
-- echo $IMSI #imsi
|
|
-- echo $ICCID #iccid
|
|
-- echo $phone #phone
|
|
rv["imei"] = file:read("*line")
|
|
rv["imsi"] = file:read("*line")
|
|
rv["iccid"] =file:read("*line")
|
|
rv["phone"] = file:read("*line")
|
|
file:read("*line")
|
|
|
|
|
|
-- echo $MODE
|
|
-- echo $CSQ
|
|
-- echo $CSQ_PER
|
|
-- echo $CSQ_RSSI
|
|
-- echo '' #参考信号接收质量 RSRQ ecio
|
|
-- echo '' #参考信号接收质量 RSRQ ecio1
|
|
-- echo '' #参考信号接收功率 RSRP rscp
|
|
-- echo '' #参考信号接收功率 RSRP rscp1
|
|
-- echo '' #信噪比 SINR rv["sinr"]
|
|
-- echo '' #连接状态监控 rv["netmode"]
|
|
rv["mode"] = file:read("*line")
|
|
rv["csq"] = file:read("*line")
|
|
rv["per"] = file:read("*line")
|
|
rv["rssi"] = file:read("*line")
|
|
rv["ecio"] = file:read("*line")
|
|
rv["ecio1"] = file:read("*line")
|
|
rv["rscp"] = file:read("*line")
|
|
rv["rscp1"] = file:read("*line")
|
|
rv["sinr"] = file:read("*line")
|
|
rv["netmode"] = file:read("*line")
|
|
file:read("*line")
|
|
|
|
rssi = rv["rssi"]
|
|
ecio = rv["ecio"]
|
|
rscp = rv["rscp"]
|
|
ecio1 = rv["ecio1"]
|
|
rscp1 = rv["rscp1"]
|
|
if ecio == nil then
|
|
ecio = "-"
|
|
end
|
|
if ecio1 == nil then
|
|
ecio1 = "-"
|
|
end
|
|
if rscp == nil then
|
|
rscp = "-"
|
|
end
|
|
if rscp1 == nil then
|
|
rscp1 = "-"
|
|
end
|
|
|
|
if ecio ~= "-" then
|
|
rv["ecio"] = ecio .. " dB"
|
|
end
|
|
if rscp ~= "-" then
|
|
rv["rscp"] = rscp .. " dBm"
|
|
end
|
|
if ecio1 ~= " " then
|
|
rv["ecio1"] = " (" .. ecio1 .. " dB)"
|
|
end
|
|
if rscp1 ~= " " then
|
|
rv["rscp1"] = " (" .. rscp1 .. " dBm)"
|
|
end
|
|
|
|
rv["mcc"] = file:read("*line")
|
|
rv["mnc"] = file:read("*line")
|
|
rv["rnc"] = file:read("*line")
|
|
rv["rncn"] = file:read("*line")
|
|
rv["lac"] = file:read("*line")
|
|
rv["lacn"] = file:read("*line")
|
|
rv["cid"] = file:read("*line")
|
|
rv["cidn"] = file:read("*line")
|
|
rv["lband"] = file:read("*line")
|
|
rv["channel"] = file:read("*line")
|
|
rv["pci"] = file:read("*line")
|
|
|
|
rv["date"] = file:read("*line")
|
|
|
|
-- rv["phonen"] = file:read("*line")
|
|
--rv["host"] = "0"
|
|
|
|
-- rv["simerr"] = "0"
|
|
--
|
|
--
|
|
--
|
|
--
|
|
--
|
|
--
|
|
--
|
|
--
|
|
--
|
|
--
|
|
|
|
|
|
-- rv["down"] = file:read("*line")
|
|
-- rv["up"] = file:read("*line")
|
|
--
|
|
--
|
|
|
|
--
|
|
-- rv["cell"] = file:read("*line")
|
|
-- rv["modtype"] = file:read("*line")
|
|
--
|
|
--
|
|
--
|
|
--
|
|
--
|
|
--
|
|
|
|
|
|
-- rv["lat"] = "-"
|
|
-- rv["long"] = "-"
|
|
|
|
|
|
|
|
rv["crate"] = translate("快速(每10秒更新一次)")
|
|
luci.http.prepare_content("application/json")
|
|
luci.http.write_json(rv)
|
|
end |