【物联网】Qinghub MQTT 连接协议

基础信息

组件名称 : mqtt-connector

组件版本: 1.0.0

组件类型: 系统默认

状 态: 正式发布

组件描述:通过MQTT 连接网关,发布或订阅MQTT broker相关的数据信息。

配置文件:

配置文件作为MQTT配置界面元素的基础,MQTT 所有高级配置均可以通过重构该配置文件体现在前端界面上。配置参数分为三组: 基础配置,连接配置,高级配置,一般情况可以随意扩展高级配置。

注: 配置文件仅供修改升级组件式利用,一般情况下对用户透明。无需做任何更改,除非用户需要手动维护组件心跳或通信端口时,一般情况下禁止修改。

yaml 复制代码
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

组件测试

  1. 配置网关

从组件列表中选择mqtt-connector并拖动到作业设计器。

  1. 修改参数

修改右侧配置参数并保存,参数使用说明可以通过每个参数旁边的?查看。

配置带*号的必填项,重要参数: Mqtt broker ,认证方式,receiver topics。认证方式目前支持NONE和用户密码的方式,receiver topics支持多个并支持通配符,每个topic之间用英文逗号分割。如上图所示做好相关的基础配置。

  1. 启动网关

注意观察执行日志,确保网关正常运行,状态status 字段为1时表示正常运行中

  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设计器,从日志记录中看到如下信息,表明设备信息发送成功。

相关推荐
thubier(段新建)2 小时前
对于低代码与开发框架的一些整合[01]
低代码
露临霜2 小时前
低代码系统-产品架构案例介绍、简道云(七)
低代码
啥也学不会a5 小时前
PLC通信
开发语言·网络·网络协议·c#
中科岩创8 小时前
广东某海水取排水管线工程边坡自动化监测
大数据·物联网
fan_0009 小时前
LKT4304新一代算法移植加密芯片,守护 物联网设备和云服务安全
物联网·安全
露临霜10 小时前
低代码系统-产品架构案例介绍(三)
低代码
小马爱打代码12 小时前
TCP 详解
网络·网络协议·tcp/ip
聿琴惜荭顏丶12 小时前
.NET MAUI进行UDP通信(二)
网络协议·udp·.net
hkNaruto13 小时前
【P2P】基于 Nebula 的 P2P 通信技术的虚拟局域网游戏设计方案
网络协议·游戏·p2p
7yewh13 小时前
嵌入式知识点总结 ARM体系与架构 专题提升(四)-编程
arm开发·stm32·单片机·嵌入式硬件·mcu·物联网·51单片机