Openwrt与贝壳物联平台通讯示例
----------------------------------------------------------------------------- -- Openwrt与贝壳物联平台通讯示例 -- http://www.bigiot.net/help/5.html -- Author: 贝壳物联 -- Time: 2016/1/10 ----------------------------------------------------------------------------- local socket = require("socket")--引入Luasocket local json = require("json")--引入Json4lua local util = require "luci.util"--引入luci,调用cup负载 ------------此处需修改------------- DEVICEID = "2" --设备ID APIKEY = "2353d24ce" --设备APIKEY INPUTID = "2" --数据接口ID ----------------------------------- host = host or "www.bigiot.net" port = port or 8181 lastTime = 0 lastUpdateTime = 0 if arg then host = arg[1] or host port = arg[2] or port end print("Attempting connection to host '" ..host.. "' and port " ..port.. "...") c = assert(socket.connect(host, port)) c:settimeout(0) print("Connected! Please type stuff (empty line to stop):") while true do if ((os.time() - lastTime) > 40) then print( os.time() ) s = json.encode({M='checkin',ID=DEVICEID,K=APIKEY}) assert(c:send( s.."\n" )) lastTime=os.time() end if ((os.time() - lastUpdateTime) > 5) then local sysinfo = luci.util.ubus("system", "info") or { } local load = sysinfo.load or { 0, 0, 0 } --获取Openwrt系统负载 local v = {[INPUTID]=load[1]} --多个接口数据可用v = {[INPUTID1]=load[1],[INPUTID2]=load[2]} local update = json.encode({['M']='update', ['ID']=DEVICEID, ['V']=v}) assert(c:send( update.."\n" )) lastUpdateTime = os.time() end recvt, sendt, status = socket.select({c}, nil, 1) --#获取table长度,即元素数 while #recvt > 0 do local response, receive_status = c:receive() if receive_status ~= "closed" then if response then print(response) r = json.decode(response) table.foreach(r, print) if r.client_list then table.foreach(r.client_list, print) end recvt, sendt, status = socket.select({c}, nil, 1) end else break end end end
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具