消息队列遥测传输-mqtt

描述

_image MQTT,父对象为ui,无子对象


#### 事件 * receive: 收到消息,事件函数定义:onReceive(topic, payload), topic为消息的主题,payload为消息的内容。 * success: 操作成功, 函数定义:onSuccess(name), name为操作的名称 * failure: 操作失败,事件函数定义:onFailure(name, code, reason), name为操作的名称,code是错误码,reason是错误原因


属性

名称

功能说明

脚本例子

serverURI

服务器地址

ui.form-name.mqtt-name.serverURI=’tcp://a1Q3Z20kLS2.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883′ 设置TCP地址 <br> ui.form-name.mqtt-name.serverURI=’ssl://PT92BACAMF.iotcloud.tencentdevices.com:8883’ 设置SSL地址

clientId

客户端标识

ui.form-name.mqtt-name.clientId=’3e3ba84e23554aea8beef8034770851a’ 设置客户端标识

userName

用户名

ui.form-name.mqtt-name.userName=’DxM1000&a1Q3Z20kLS2’ 设置用户名

userPassword

密码

ui.form-name.mqtt-name.userPassword=’123456’ 设置密码

keepAliveInterval

心跳间隔

ui.form-name.mqtt-name.keepAliveInterval=60 设置心跳间隔为60S

connectTimeout

连接超时

ui.form-name.mqtt-name.connectTimeout=30 设置连接超时为30S

cleanSession

全新会话

ui.form-name.mqtt-name.cleanSession=true 设置为全新会话

autoReconnect

自动重连

ui.form-name.mqtt-name.autoReconnect=true 设置为自动重连

sslEnabled

使能加密

ui.form-name.mqtt-name.sslEnabled=true 使能加密,使用证书加密

insecure

不安全的

ui.form-name.mqtt-name.insecure=true 设置为不安全的加密,不校验证书的域名

version

MQTT版本

ui.form-name.mqtt-name.version=0 设置MQTT版本为默认值(先尝试3.1.1,如果失败再尝试3.1)

方法

名称

功能说明

脚本例子

connect()

连接MQTT服务器

ui.form-name.mqtt-name.connect()

disconnect()

断开与服务器的连接

ui.form-name.mqtt-name.disconnect()

subscribe(topic, qos)

订阅主题,topic为主题,qos为服务质量等级(qos=0,最多一次,qos=1,最少一次,qos=2,只有一次)

ui.form-name.mqtt-name.subscribe(‘test1’, 0) 订阅主题test1

unsubscribe(topic)

退订主题,topic为主题

ui.form-name.mqtt-name.unsubscribe(‘test1’) 退订主题test1

publish(topic, payload, qos)

发布消息,topic为主题,payload为内容,qos为服务质量等级

ui.form-name.mqtt-name.publish(‘test1’, ‘hello’, 0)

publishRetained(topic, payload, qos)

发布保留消息,topic为主题,payload为内容,qos为服务质量等级

ui.form-name.mqtt-name.publishRetained(‘test1’, ‘hello’, 0)

setWillTopic(topic, payload, qos, retained)

设置遗愿主题,topic为主题,payload为内容,qos为服务质量等级, retained 是否为保留消息

ui.form-name.mqtt-name.setWillTopic(‘test1’, ‘hello’, 0, false)

setCaFile(filepath)

设置CA证书文件

ui.form-name.mqtt-name.setCaFile(‘/app/native/ca.crt’)

setCaPath(path)

设置CA证书的路径

ui.form-name.mqtt-name.setCaPath(‘/app/native’)

setClientCertFile(filepath)

设置客户端证书文件

ui.form-name.mqtt-name.setClientCertFile(‘/app/native/dxm-100_cert.crt’)

setClientKeyFile(filetpath)

设置客户端私钥文件

ui.form-name.mqtt-name.setClientKeyFile(‘/app/native/dxm-100_private.key’)

setClientKeyPassword(password)

设置客户端私钥密码

ui.form-name.mqtt-name.setClientKeyPassword(‘123456’)