Dozingfiretruck 3 лет назад
Родитель
Сommit
cbaaba320d
1 измененных файлов с 9 добавлено и 3 удалено
  1. 9 3
      demo/mqtt/main.lua

+ 9 - 3
demo/mqtt/main.lua

@@ -21,6 +21,10 @@ local client_id = "abc"
 local user_name = "user"
 local password = "password"
 
+local topic1 = "/luatos/1"
+local topic2 = "/luatos/2"
+local topic3 = "/luatos/3"
+
 local mqttc = nil
 
 sys.taskInit(function()
@@ -76,7 +80,8 @@ sys.taskInit(function()
         log.info("mqtt", "event", event, mqtt_client, data, payload)
         if event == "conack" then
             sys.publish("mqtt_conack")
-            mqtt_client:subscribe("/luatos/123456")
+            -- mqtt_client:subscribe(topic1)--单主题订阅
+            mqtt_client:subscribe({[topic1]=1,[topic2]=1,[topic3]=1})--多主题订阅
         elseif event == "recv" then
             log.info("mqtt", "downlink", "topic", data, "payload", payload)
         elseif event == "sent" then
@@ -102,14 +107,15 @@ sys.taskInit(function()
 end)
 
 sys.taskInit(function()
-	local topic = "/luatos/123456"
 	local data = "123"
 	local qos = 1
     while true do
         sys.wait(5000)
         if mqttc and mqttc:ready() then
 			-- mqttc:subscribe(topic)
-            local pkgid = mqttc:publish(topic, data, qos)
+            local pkgid = mqttc:publish(topic1, data, qos)
+            local pkgid = mqttc:publish(topic2, data, qos)
+            local pkgid = mqttc:publish(topic3, data, qos)
             -- 也可以通过sys.publish发布到指定task去
             -- sys.publish("mqtt_pub", topic, data, qos)
         end