消息队列遥测传输-mqtt
描述
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’) |