Переглянути джерело

aliyun/main:阿里云的demo

zhaihaoyu 3 роки тому
батько
коміт
36f8fae9a1
1 змінених файлів з 52 додано та 0 видалено
  1. 52 0
      demo/aliyun/main.lua

+ 52 - 0
demo/aliyun/main.lua

@@ -0,0 +1,52 @@
+PROJECT = "aliyundemo"
+VERSION = "1.0.0"
+local sys = require "sys"
+require "aLiyun"
+
+--根据自己的服务器修改以下参数
+local mqtt_host = "你的实例id.mqtt.iothub.aliyuncs.com" --你公共实例的地址
+local mqtt_port = 1883 --端口
+local mqtt_isssl = true -- 是否为ssl加密连接,默认不加密,true为无证书最简单的加密,table为有证书的加密
+local ProductKey = "你的key" --产品证书
+local ProductSecret = "你的产品密钥"   --产品密钥
+local DeviceName = "你的设备id"   --设备id
+local Registration = false  --如果预注册了的话就不需要改   false   true
+local InstanceId = "iot-你的实例id"  --如果没有注册需要填写实例id,在阿里云的实例详情页面
+local DeviceSecret = "你的设备秘钥"  --一机一密需要的设备密钥
+
+---数据接收的处理函数
+-- @string topic,UTF8编码的消息主题
+-- @number qos,消息质量等级
+-- @string payload,原始编码的消息负载
+local function rcvCbFnc(topic,qos,payload)
+    log.info("testALiYun.rcvCbFnc",topic,qos,payload)
+end
+
+--- 连接结果的处理函数
+-- @bool result,连接结果,true表示连接成功,false或者nil表示连接失败
+local function connectCbFnc(result)
+    log.info("testALiYun.connectCbFnc",result)
+    if result then
+        --订阅主题,不需要考虑订阅结果,如果订阅失败,aLiYun库中会自动重连
+        --根据自己的项目需要订阅主题,下面注释掉的一行代码中的主题是非法的,所以不能打开,一旦打开,会导致订阅失败
+        --aLiYun.subscribe({["/"..PRODUCT_KEY.."/"..getDeviceName().."/get"]=0, ["/"..PRODUCT_KEY.."/"..getDeviceName().."/get"]=1})
+        aLiyun.subscriber("/ht6f7kmyFFQ/861551056421746/user/ceshi",1)
+        --注册数据接收的处理函数
+        aLiyun.on("receive",rcvCbFnc)
+        aLiyun.publish("/"..ProductKey.."/"..DeviceName.."/user/get",0,"LUATOS_CESHI")
+    end
+end
+
+aLiyun.on("connect",connectCbFnc)
+
+--一型一密
+-- aLiyun.operation(Registration,DeviceName,ProductKey,ProductSecret,InstanceId,mqtt_host,mqtt_port,mqtt_isssl)
+
+--一机一密
+aLiyun.confiDentialTask(DeviceName,ProductKey,DeviceSecret,mqtt_host,mqtt_port,mqtt_isssl)
+
+
+-- 用户代码已结束---------------------------------------------
+-- 结尾总是这一句
+sys.run()
+-- sys.run()之后后面不要加任何语句!!!!!