Просмотр исходного кода

添加返回值接口,在应用层体现

zhaihaoyu 2 лет назад
Родитель
Сommit
3636184544
2 измененных файлов с 31 добавлено и 8 удалено
  1. 6 4
      demo/aliyun/main.lua
  2. 25 4
      script/libs/aliyun.lua

+ 6 - 4
demo/aliyun/main.lua

@@ -6,11 +6,11 @@ require "aliyun"
 --根据自己的服务器修改以下参数
 tPara = {
  Registration = false,           --是否是预注册 已预注册为false  true or false,
- DeviceName = "861551056421746", --设备名称
- ProductKey = "ht6f7kmyFFQ",     --产品key
- ProductSecret = "dAmJgeQyBe57AkGM",             --产品secret
+ DeviceName = "", --设备名称
+ ProductKey = "",     --产品key
+ ProductSecret = "",             --产品secret
  DeviceSecret = "", --设备secret
- InstanceId = "iot-06z00bm5n8dzc26",   --如果没有注册需要填写实例id,在实例详情页面
+ InstanceId = "iot-你的id",   --如果没有注册需要填写实例id,在实例详情页面
  --新版已经合并, 没有了地域, 1883同时兼容加密和非加密通信,非加密会下线  阿里云资料:https://help.aliyun.com/document_detail/147356.htm?spm=a2c4g.73742.0.0.4782214ch6jkXb#section-rtu-6kn-kru
  mqtt_port = 1883,                 --mqtt端口
  mqtt_isssl = true,                --是否使用ssl加密连接,true为无证书最简单的加密
@@ -59,6 +59,8 @@ local function connectCbFnc(result)
         --订阅主题
         --根据自己的项目需要订阅主题,下面注释掉的一行代码中的主题是非法的,所以不能打开,一旦打开,会导致订阅失败
         -- aliyun.subscribe("/"..tPara.ProductKey.."/"..tPara.DeviceName.."/user/ceshi",1)
+        --可使用的返回值
+        -- log.info("获取的",aliyun.getDeviceSecret(),aliyun.getClientid(),aliyun.getDeviceToken())
         --注册数据接收的处理函数
         aliyun.on("receive",rcvCbFnc)
         --PUBLISH消息测试

+ 25 - 4
script/libs/aliyun.lua

@@ -74,7 +74,7 @@ end
 --二次连接
 -- local function clientDataTask(ClientId,user,PassWord,mqtt_host,mqtt_port,mqtt_isssl,DeviceName,ProductKey)
 local function clientDataTask(DeviceName,ProductKey,mqtt_host,mqtt_port,mqtt_isssl,passtoken,Registration)
-        log.info("二次连接",DeviceName,ProductKey,mqtt_host,mqtt_port,mqtt_isssl,passtoken,Registration)
+
     sys.taskInit(function()
         if mobile.status() == 0 then
             sys.waitUntil("IP_READY",30000)
@@ -133,7 +133,6 @@ local function directProc(DeviceName,ProductKey,mqtt_host,mqtt_port,mqtt_isssl,R
         
         clientDataTask(ClientId,UserName,PassWord,mqtt_host,mqtt_port,mqtt_isssl,DeviceName,ProductKey)
     else
-        log.info("免预注册")
         local ClientId = SetClientidFnc.."|securemode=-2,authType=connwl|"
         local UserName = DeviceName.."&"..ProductKey
         local PassWord = SetDeviceTokenFnc
@@ -356,10 +355,32 @@ function aliyun.on(evt,cbFnc)
 end
 
 
+--[[
+@api aliyun.getDeviceSecret()
+@function 预注册一型一密阿里云返回的DeviceSecret
+可以在应用层使用kv区来保存该参数并使用判断来避免重启后无法连接
+]]
+function aliyun.getDeviceSecret()
+    return SetDeviceSecretFnc
+end
 
+--[[
+@api aliyun.getDeviceToken()
+@function 免预注册一型一密阿里云返回的DeviceToken
+可以在应用层使用kv区来保存该参数并使用判断来避免重启后无法连接
+]]
+function aliyun.getDeviceToken()
+    return SetDeviceTokenFnc
+end
 
-
-
+--[[
+@api aliyun.getClientid()
+@function 免预注册一型一密阿里云返回的Clientid
+可以在应用层使用kv区来保存该参数并使用判断来避免重启后无法连接
+]]
+function aliyun.getClientid()
+    return SetClientidFnc
+end