xuxinyi преди 1 месец
родител
ревизия
7a0a33533e
променени са 1 файла, в които са добавени 34 реда и са изтрити 15 реда
  1. 34 15
      timer_app.lua

+ 34 - 15
timer_app.lua

@@ -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)