DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

物联网
后台-插件-广告管理-内容页头部广告(手机)

[小 迪 导读]
本教程通过全链路虚拟环境讲述如何用DG-IoT开源工业物联网平台完成MQTT的接入,在掌握基础概念和业务流程之后,通过模拟软件来进行模拟演练。

系统需要使用的一个软件:

  • MQTT X:MQTT X 是EMQ 开源的一款跨平台 MQTT 5.0 客户端工具,它支持 macOS, Linux, Windows,并且支持 MQTT 消息格式转换。

系统架构逻辑图如下,包括设备模拟,通道通信,模型设置,应用显示部分

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

操作步骤:

本次连接先介绍平台产品及物模型的配置再介绍MQTTX。
[小 迪 提醒]

  • 平台将MQTT融合到dgiot的DLink协议中,可以不进行创建通道,直接使用默认的MQTT通道即可。

1.创建产品

1.要连接MQTT,创建一种产品即可
2.创建产品

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程 DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

mqtt

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

[小 迪 提醒]

  • 产品添加通道后需对相应的通道进行重启

3.产品物模型配置
进入产品详情

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程


将以下物模型代码直接复制即可

  • MQTT物模型范例(不选择DLink协议)
{    "properties": [        {            "accessMode": "r",            "dataForm": {                "address": "0X10",                "collection": "%s",                "control": "%d",                "countcollection": "%s",                "countround": "all",                "countstrategy": 20,                "data": "null",                "iscount": "0",                "offset": 0,                "operatetype": "readCoils",                "order": 0,                "originaltype": "short16_AB",                "protocol": "",                "rate": 1,                "round": "all",                "slaveid": "0X10",                "strategy": "主动上报"            },            "dataSource": {                "": []            },            "dataType": {                "das": [],                "specs": {                    "max": 100,                    "min": 0,                    "precision": 3,                    "step": 0,                    "unit": "℃"                },                "type": "float"            },            "devicetype": "温度",            "identifier": "temp",            "isaccumulate": false,            "isshow": true,            "isstorage": true,            "moduleType": "properties",            "name": "温度",            "required": true,            "updateAt": "1661313208982",            "index": 0        }    ]}COPY

也可以新增自定义物模型

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程 DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程
  • MQTT物模型范例(选择DLink协议)
{    "properties": [        {            "accessMode": "r",            "dataForm": {                "address": "0X10",                "afn": "",                "byteType": "",                "bytelen": "",                "collection": "%s",                "control": "%d",                "countcollection": "%s",                "countround": "all",                "countstrategy": 20,                "da": "",                "data": "null",                "dt": "",                "iscount": "0",                "offset": 0,                "operatetype": "readCoils",                "order": 0,                "originaltype": "short16_AB",                "protocol": "DLINK",                "rate": 1,                "round": "all",                "slaveid": "0X10",                "strategy": "主动上报"            },            "dataSource": {                "_dlinkindex": "",                "dis": [                    {                        "data": "2",                        "key": "temperature",                        "undefined": "2"                    }                ]            },            "dataType": {                "das": [],                "specs": {                    "max": 100,                    "min": 0,                    "precision": 3,                    "step": 0,                    "unit": "℃"                },                "type": "float"            },            "devicetype": "温度",            "identifier": "temp",            "isaccumulate": false,            "isshow": true,            "isstorage": true,            "moduleType": "properties",            "name": "温度",            "required": true,            "updateAt": "1661313524032",            "index": 0        }    ]}COPY

也可以新增自定义物模型

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

4.如何复制物模型

在产品管理-配置-物模型-查看物模型处

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

将物模型代码复制粘贴即可

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

2.MQTTX下载配置

1)、下载安装MQTTX。
2)、配置连接参数。

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

参数

解释

名称

任取即可

Client ID

{DeviceAddr}也即设备编号

服务器地址

服务器地址

端口

填写1883

用户名

产品id(位置见下图)

密码

产品密钥(位置见下图)

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

填写完成后选择连接。则会在对应产品下自动创建我们定义的设备,可在设备管理中查看:

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

3)、发送信息。

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

在MQTTX中向平台发送信息,报文格式选择为JSON。
Topic:
     $dg/thing/{productid}/{deviceAddr}/properties/report

报文内容:
    {
        “标识符”:值
        “标识符”:值
        ····
        “标识符”:值
    }

topic中需明确发送信息对应的产品和设备,其中{productid}为产品id,与连接阶段输入的用户名为同一个,{deviceAddr}为设备地址,也即自定义的设备名。
由topic确认了产品与设备后在报文的具体内容中传递属性值。由标识符确认要传递那个属性,并使用””扩起,在:后填写属性的具体数值。随后选择发送即可查看到产品的实时数据。

DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程

[小 迪 点评]

  • dgiot支持MQTT协议的设备接入,方便没有真实设备的用户尝试并进行模拟设备接入演练。

想了解更多 dgiot 的具体细节,欢迎大家在GitHub上查看相关源代码。

后台-插件-广告管理-内容页尾部广告(手机)
标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。