|
|
@@ -14,7 +14,7 @@
|
|
|
数据发送结果通过执行回调函数send_data_cbfunc通知本功能模块;
|
|
|
]]
|
|
|
|
|
|
-local payload = 1
|
|
|
+local payload = nil
|
|
|
|
|
|
-- 数据发送结果回调函数
|
|
|
-- result:发送结果,true为发送成功,false为发送失败
|
|
|
@@ -25,20 +25,39 @@ local function send_data_cbfunc(result, para)
|
|
|
sys.timerStart(send_data_req_timer_cbfunc, 5000)
|
|
|
end
|
|
|
|
|
|
--- 定时器回调函数
|
|
|
-function send_data_req_timer_cbfunc()
|
|
|
- -- 发布消息"SEND_DATA_REQ"
|
|
|
- -- 携带的第一个参数"timer"表示是定时器应用模块发布的消息
|
|
|
- -- 携带的第二个参数mobile.imei().."/timer/up"为要publish的topic
|
|
|
- -- 携带的第三个参数payload为要publish的payload
|
|
|
- -- 携带的第四个参数0为publish的qos
|
|
|
- -- 携带的第五个参数cb为发送结果回调(可以为空,如果为空,表示不关心mqtt client发送数据成功还是失败),其中:
|
|
|
- -- cb.func为回调函数(可以为空,如果为空,表示不关心mqtt client发送数据成功还是失败)
|
|
|
- -- cb.para为回调函数的第二个参数(可以为空),回调函数的第一个参数为发送结果(true表示成功,false表示失败)
|
|
|
- sys.publish("SEND_DATA_REQ", "timer", mobile.imei().."/timer/up", payload, 0, {func=send_data_cbfunc, para="timer"..payload})
|
|
|
- payload = payload+1
|
|
|
-end
|
|
|
+---- 定时器回调函数
|
|
|
+--function send_data_req_timer_cbfunc()
|
|
|
+-- -- 发布消息"SEND_DATA_REQ"
|
|
|
+-- -- 携带的第一个参数"timer"表示是定时器应用模块发布的消息
|
|
|
+-- -- 携带的第二个参数mobile.imei().."/timer/up"为要publish的topic
|
|
|
+-- -- 携带的第三个参数payload为要publish的payload
|
|
|
+-- -- 携带的第四个参数0为publish的qos
|
|
|
+-- -- 携带的第五个参数cb为发送结果回调(可以为空,如果为空,表示不关心mqtt client发送数据成功还是失败),其中:
|
|
|
+-- -- cb.func为回调函数(可以为空,如果为空,表示不关心mqtt client发送数据成功还是失败)
|
|
|
+-- -- cb.para为回调函数的第二个参数(可以为空),回调函数的第一个参数为发送结果(true表示成功,false表示失败)
|
|
|
+-- sys.publish("SEND_DATA_REQ", "timer", mobile.imei() .. "/timer/up", payload, 0,
|
|
|
+-- { func = send_data_cbfunc, para = "timer" .. payload })
|
|
|
+-- payload = payload + 1
|
|
|
+--end
|
|
|
+
|
|
|
+sys.taskInit(function()
|
|
|
+ -- 延迟10秒再开始
|
|
|
+ sys.wait(10000)
|
|
|
+
|
|
|
+ while true do
|
|
|
+ local payload = "你好,世界"
|
|
|
+ sys.publish("SEND_DATA_REQ",
|
|
|
+ "timer",
|
|
|
+ mobile.imei().."/timer/up",
|
|
|
+ payload,
|
|
|
+ 0,
|
|
|
+ {func=send_data_cbfunc, para="timer"..payload})
|
|
|
+
|
|
|
+ -- 每5秒循环一次
|
|
|
+ sys.wait(5000)
|
|
|
+ end
|
|
|
+end)
|
|
|
|
|
|
-- 启动一个5秒的单次定时器
|
|
|
-- 时间到达后,执行一次send_data_req_timer_cbfunc函数
|
|
|
-sys.timerStart(send_data_req_timer_cbfunc, 5000)
|
|
|
+--sys.timerStart(send_data_req_timer_cbfunc, 5000)
|