我是靠谱客的博主 内向哈密瓜,最近开发中收集的这篇文章主要介绍DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

[小 迪 导读]

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

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

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

操作步骤:

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

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

1.创建产品

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

[小 迪 提醒]

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

3.产品物模型配置

  • 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
        }
    ]
}

也可以新增自定义物模型

  • 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
        }
    ]
}

也可以新增自定义物模型

4.如何复制物模型

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

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

2.MQTTX下载配置

1)、下载安装MQTTX。

参数解释
名称任取即可
Client ID{DeviceAddr}也即设备编号
服务器地址服务器地址
端口填写1883
用户名产品id(位置见下图)
密码产品密钥(位置见下图)

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

3)、发送信息。

在MQTTX中向平台发送信息,报文格式选择为JSON。

报文内容:

topic中需明确发送信息对应的产品和设备,其中{productid}为产品id,与连接阶段输入的用户名为同一个,{deviceAddr}为设备地址,也即自定义的设备名。

[小 迪 点评]

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

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

最后

以上就是内向哈密瓜为你收集整理的DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程的全部内容,希望文章能够帮你解决DGIOT国内首家轻量级物联网开源平台——MQTT接入实战教程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部