合宙Air724UG LuatOS-Air script lib API--aLiYun

该文章介绍了阿里云物联网套件的客户端功能,包括设备的连接、断开、鉴权连接的管理,以及MQTT参数设置、地域选择、事件监听和错误处理等功能。主要操作如`aLiYun.sleep()`和`aLiYun.wakeup()`用于设备的休眠和唤醒,`aLiYun.subscribe()`和`aLiYun.publish()`则涉及消息的订阅和发布。
摘要由CSDN通过智能技术生成

Table of Contents
aLiYun
aLiYun.sleep()
aLiYun.wakeup()
aLiYun.sleepStatus()
aLiYun.Authsleep()
aLiYun.Authwakeup()
aLiYun.AuthSleepStatus()
aLiYun.setup(productKey, productSecret, getDeviceNameFnc, getDeviceSecretFnc, setDeviceSecretFnc)
aLiYun.setMqtt(cleanSession, will, keepAlive)
aLiYun.setRegion(region)
aLiYun.setConnectMode(mode, host, port, getClientIdFnc, getUserNameFnc, getPasswordFnc)
aLiYun.subscribe(topic, qos)
aLiYun.publish(topic, payload, qos, cbFnc, cbPara)
aLiYun.on(evt, cbFnc)
aLiYun.setErrHandle(cbFnc, tmout)
aLiYun
模块功能:阿里云物联网套件客户端功能.

目前的产品节点类型仅支持“设备”,设备认证方式支持“一机一密和“一型一密”

aLiYun.sleep()
断开阿里云物联网套件的连接,并且不再重连

参数

返回值
nil

例子
aLiYun.sleep()
详细指南和示例参考:指南 示例

aLiYun.wakeup()
重新打开阿里云物联网套件的连接

参数

返回值
nil

例子
aLiYun.wakeup()
详细指南和示例参考:指南 示例

aLiYun.sleepStatus()
查看打开阿里云物联网套件的是否允许连接状态

参数

返回值
bool 是否允许连接阿里云

例子
local ar = aLiYun.sleepStatus()
详细指南和示例参考:指南 示例

aLiYun.Authsleep()
断开阿里云物联网套件的鉴权连接,并且不再重连

参数

返回值
nil

例子
aLiYun.Authsleep()
详细指南和示例参考:指南 示例

aLiYun.Authwakeup()
重新打开阿里云物联网套件的鉴权连接

参数

返回值
nil

例子
aLiYun.Authwakeup()
详细指南和示例参考:指南 示例

aLiYun.AuthSleepStatus()
查看打开阿里云物联网套件的是否允许鉴权状态

参数

返回值
bool 是否允许连接阿里云

例子
local ar = aLiYun.AuthSleepStatus()
详细指南和示例参考:指南 示例

aLiYun.setup(productKey, productSecret, getDeviceNameFnc, getDeviceSecretFnc, setDeviceSecretFnc)
配置阿里云物联网套件的产品信息和设备信息

参数
名称 传入值类型 释义
productKey string 产品标识
productSecret string 可选参数,默认为nil 产品密钥
一机一密认证方案时,此参数传入nil
一型一密认证方案时,此参数传入真实的产品密钥
getDeviceNameFnc function 获取设备名称的函数
getDeviceSecretFnc function 获取设备密钥的函数
setDeviceSecretFnc function 可选参数,默认为nil 设置设备密钥的函数,一型一密认证方案才需要此参数
返回值
nil

例子
aLiYun.setup(“b0FMK1Ga5cp”,nil,getDeviceNameFnc,getDeviceSecretFnc)
aLiYun.setup(“a1AoVqkCIbG”,“7eCdPyR6fYPntFcM”,getDeviceNameFnc,getDeviceSecretFnc,setDeviceSecretFnc)
详细指南和示例参考:指南 示例

aLiYun.setMqtt(cleanSession, will, keepAlive)
设置MQTT数据通道的参数

参数
名称 传入值类型 释义
cleanSession number 可选参数,默认为1 1/0
will table 可选参数,默认为nil 遗嘱参数,格式为{qos=,retain=,topic=,payload=}
keepAlive number 可选参数,默认为240 单位秒
返回值
nil

例子
aLiYun.setMqtt(0)
aLiYun.setMqtt(1,{qos=0,retain=1,topic=“/willTopic”,payload=“will payload”})
aLiYun.setMqtt(1,{qos=0,retain=1,topic=“/willTopic”,payload=“will payload”},120)
详细指南和示例参考:指南 示例

aLiYun.setRegion(region)
设置地域region id

参数
名称 传入值类型 释义
region string 地域id字符串,参考:https://help.aliyun.com/document_detail/40654.html?spm=a2c4g.11186623.2.16.c0a63f82Z7qCtA#concept-h4v-j5k-xdb
返回值
nil

例子
– 设置华北1:aLiYun.setRegion(“cn-qingdao”)
– 设置华东1:aLiYun.setRegion(“cn-hangzhou”)
– 设置华南1:aLiYun.setRegion(“cn-shenzhen”)
详细指南和示例参考:指南 示例

aLiYun.setConnectMode(mode, host, port, getClientIdFnc, getUserNameFnc, getPasswordFnc)
设置连接方式

参数
名称 传入值类型 释义
mode string 连接方式,支持如下几种方式:
"direct"表示MQTT-TCP直连
host string 服务器地址
port number 服务器端口
getClientIdFnc function 获取mqtt,client,id的函数
getUserNameFnc function 获取mqtt,client,userName的函数
getPasswordFnc function 获取mqtt,client,password的函数
返回值
nil

例子
– 设置为MQTT-TCP直连:aLiYun.setConnectMode(“direct”)
详细指南和示例参考:指南 示例

aLiYun.subscribe(topic, qos)
订阅主题

参数
名称 传入值类型 释义
topic param string或者table类型,一个主题时为string类型,多个主题时为table类型,主题内容为UTF8编码
qos param number或者nil,topic为一个主题时,qos为number类型(0/1,默认0);topic为多个主题时,qos为nil
返回值
nil

例子
aLiYun.subscribe(“/b0FMK1Ga5cp/862991234567890/get”, 0)
aLiYun.subscribe({[“/b0FMK1Ga5cp/862991234567890/get”] = 0, [“/b0FMK1Ga5cp/862991234567890/get”] = 1})
详细指南和示例参考:指南 示例

aLiYun.publish(topic, payload, qos, cbFnc, cbPara)
发布一条消息

参数
名称 传入值类型 释义
topic string UTF8编码的主题
payload string 负载
qos number 可选参数,默认为0 质量等级,0/1,默认0
cbFnc function 可选参数,默认为nil 消息发布结果的回调函数
回调函数的调用形式为:cbFnc(result,cbPara)。result为true表示发布成功,false或者nil表示订阅失败;cbPara为本接口中的第5个参数
cbPara param 可选参数,默认为nil 消息发布结果回调函数的回调参数
返回值
nil

例子
aLiYun.publish(“/b0FMK1Ga5cp/862991234567890/update”,“test”,0)
aLiYun.publish(“/b0FMK1Ga5cp/862991234567890/update”,“test”,1,cbFnc,“cbFncPara”)
详细指南和示例参考:指南 示例

aLiYun.on(evt, cbFnc)
注册事件的处理函数

参数
名称 传入值类型 释义
evt string 事件
"auth"表示鉴权服务器认证结果事件
"connect"表示接入服务器连接结果事件
"reconnect"表示重连事件
"receive"表示接收到接入服务器的消息事件
cbFnc function 事件的处理函数
当evt为"auth"时,cbFnc的调用形式为:cbFnc(result),result为true表示认证成功,false或者nil表示认证失败
当evt为"connect"时,cbFnc的调用形式为:cbFnc(result),result为true表示连接成功,false或者nil表示连接失败
当evt为"receive"时,cbFnc的调用形式为:cbFnc(topic,qos,payload),topic为UTF8编码的主题(string类型),qos为质量等级(number类型),payload为原始编码的负载(string类型)
当evt为"reconnect"时,cbFnc的调用形式为:cbFnc(),表示lib中在自动重连阿里云服务器
返回值
nil

例子
aLiYun.on(“connect”,cbFnc)
详细指南和示例参考:指南 示例

aLiYun.setErrHandle(cbFnc, tmout)
设置阿里云task连续一段时间工作异常的处理程序

参数
名称 传入值类型 释义
cbFnc function 异常处理函数,cbFnc的调用形式为:cbFnc()
tmout number 可选参数,默认为150 连续工作异常的时间,当连续异常到达这个时间之后,会调用cbFnc()
返回值
nil

例子
aLiYun.setErrHandle(function() sys.restart(“ALIYUN_TASK_INACTIVE”) end, 300)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l531798151

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值