基础信息
组件名称 : mqtt-connector
组件版本: 1.0.0
组件类型: 系统默认
状 态: 正式发布
组件描述:通过MQTT 连接网关,发布或订阅MQTT broker相关的数据信息。
配置文件:
配置文件作为MQTT配置界面元素的基础,MQTT 所有高级配置均可以通过重构该配置文件体现在前端界面上。配置参数分为三组: 基础配置,连接配置,高级配置,一般情况可以随意扩展高级配置。
注: 配置文件仅供修改升级组件式利用,一般情况下对用户透明。无需做任何更改,除非用户需要手动维护组件心跳或通信端口时,一般情况下禁止修改。
df:
component:
name: mqtt-connector
type: 2 #1:采集器;2:接收器;3:转换器;4:存储器;5:解析器;6:状态解析器:7:同步器;8:消息通知
transportPort: 49096 #内部akka通信端口
heartbeatCron: 0/30 * * ? * * * #网关心跳数据上报时间
parameter:
connection[0]:
name: Mqtt Broker
key: url
required: true
input-type: input
description: Mqtt Broker 地址包括主机和端口如tcp://127.0.0.1:8883
value-type: string
connection[1]:
name: 认证类别
key: auth-type
required: true
value-type: string
default-value: USERNAME #NONE, USERNAME, X509;
input-type: select
select-option: NONE|NONE,USERNAME|USERNAME,X509|X509
connection[2]:
name: Username
key: username
required: false
value-type: string
input-type: input
connection[3]:
name: Password
key: password
required: false
input-type: input
value-type: string
connection[4]:
name: CA
key: ca
required: false
input-type: input
value-type: string
connection[5]:
name: CRT
key: crt
required: false
input-type: input
value-type: string
connection[6]:
name: KEY
key: key
required: false
input-type: input
value-type: string
connection[7]:
name: KEY-PASS
key: keyPass
required: false
input-type: input
value-type: string
base[0]:
name: receive topics
key: receive-topics
required: false
default-value: wmiot/+/+/data/post
value-type: string
input-type: input
description: 可以配置多个topic,各个topic之间用英文逗号,分隔,支持mqtt topic通配符。
base[1]:
name: receive qos
key: receive-qos
required: false
value-type: int
input-type: select
select-option: 0|0,1|1,2|2
default-value: 1
advance[0]:
name: 客户端编号
key: client
required: false
value-type: string
input-type: input
default-value: iotmqttclient-1
description: 客户端标识
advance[1]:
name: Keep alive
key: keep-alive
required: false
value-type: int
default-value: 15
input-type: input
advance[2]:
name: Timeout
key: completion-timeout
required: false
value-type: int
default-value: 3000
input-type: input
advance[3]:
name: Default topic
key: default-send-topic
required: false
value-type: string
default-value: default/wmiotmqtt
input-type: input
advance[4]:
name: Default QoS
key: default-send-qos
required: false
value-type: int
default-value: 1
input-type: select
select-option: 0|0,1|1,2|2
组件测试
- 配置网关
从组件列表中选择mqtt-connector并拖动到作业设计器。
- 修改参数
修改右侧配置参数并保存,参数使用说明可以通过每个参数旁边的?查看。
配置带*号的必填项,重要参数: Mqtt broker ,认证方式,receiver topics。认证方式目前支持NONE和用户密码的方式,receiver topics支持多个并支持通配符,每个topic之间用英文逗号分割。如上图所示做好相关的基础配置。
- 启动网关
注意观察执行日志,确保网关正常运行,状态status 字段为1时表示正常运行中
- 测试验证
1)前提准备:
已经安装并启动MQTT Broker,本例采用EMQX, 安装配置过程略。
MQTT broker 信息: 地址:192.168.3.192, 端口: 1883, 用户名:develop,密码: 123456
准备好MQTT 客户端工具并启动,本例采用MQTTX。连接到EMQX:
测试该工具能正常发送topic到EMQX:
2)进入到轻云UC通用设计中心,进入到设计器,并拖动mqtt-connector组件到画板。
按规划中的信息配置好mqtt-connector配置信息:
这里的receiver topic指令为: qingcloudtech/iot/+/+/data/put,qingcloudtech/iot/+/+/data/receiver。即通过该topic 收到来自设备端的数据信息。本实例只说明设备数据采集过程,指令下行相关的操作说明请参见另外的操作手册。
3)切换到UC设计器,重启mqtt网关,可以从执行日志板块看到心跳数据。
4)通过mqttx发送数据。
切换的UC设计器,从日志记录中看到如下信息,表明设备信息发送成功。