关注官方微信

EN

EN.

基于MQTT的腾讯云案例

发布时间:2023-06-14 作者:上海卓岚 浏览量:4155

概述:

ZLAN5143D 是一款专门为工业环境设计的RS485设备数据采集器/物联网网关,兼具串口服务器、Modbus网关、MQTT网关、RS485转JSON等多种功能于一体。

MQTT网关

腾讯云物联网开发平台(IoT Explorer)是面向智慧生活与产业互联应用的物联网 PaaS 平台,为基于物联网的各行业设备制造商、方案商 及应用开发商提供一站式设备智能化服务。平台提供海量设备连接与管理能力及基于腾讯连连的小程序应用开发能力,并打通腾讯云云产品及 AI 能力,聚合腾讯生态内容能力。从而提升传统行业设备智能化的效率,降低用户的开发运维成本。

如图2所示:

MQTT网关

Json介绍 JavaScript Object Notation(JSON)是一种基于 JavaScript 语法子集的开放标准数据交换格式。JSON 是基于文本的,轻量级的,通常被认为易于读/写。基于 ECMAScript (欧洲计算机协会制定的 js 规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

平台端:

进入物模型平台

进入物联网开发平台后,点击实例管理选项,点击公共实例,立即使用进入下一个页面

MQTT网关

创建IOT CORE

点击新建项目后,填写相关的信息,本次添加的为温湿度传感器,其他的可以填写可以不填写。添加设备后点击确认,如图所示:

MQTT网关

点击新建产品,设备名称写温度传感器,加密方式选择密钥,数据协议选择物模型

MQTT网关

MQTT网关

新建物模型,选择自定义功能,如图,我这边新建了2个属性,1个wendu,1个shidu,标识符分别为wendu,shidu,数据类型选择整型

MQTT网关

MQTT网关

点击设备管理,新建设备,选择所属产品

MQTT网关

Mqtt连接参数

点击设备后进入设备信息:可以看到设备的参数,需要注意的是设备名称,产品ID,设备密钥。

MQTT网关

可以参考mqttfx连接步骤 https://cloud.tencent.com/document/product/1081/46507 域名:MQTT 服务器连接地址,PRODUCT_ID.iotcloud.tencentdevices.com,这里 PRODUCT_ID 为变量参数,用户需填入创建产品时自动生成的产品 ID,例如 T****DS8G.iotcloud.tencentdevices.com。 端口:1883 客户端ID:MQTT 协议字段,按照物联网通信约束填入:产品 ID + 设备名,如:"TXXXXDS8Gdev001 ",TXXXXDS8G 是产品 ID,dev001 是设备名称。 用户名:MQTT 协议字段,按照物联网通信约束填入:产品 ID + 设备名 + SDKAppID + connid+expiry。创建完产品即可在产品列表页和产品详情页查看 ProductID,例如:"TO****DS8Gdev001;12010126;E4F3Q;1591948593",仅替换示例中的产品 ID + 设备名即可,后面的三个参数本身由物联网通信接入 SDK 自动生成,也可由腾讯云物联网平台提供的 生成小工具 自动生成。

密码:Password 必须填写,用户可以使用物联网平台提供的 生成小工具 自动生成 Password,也可以按照文档 手动生成 Password。 发布:$thing/up/property/89QA2DAT6E/${deviceName},属性上报 订阅:$thing/down/property/89QA2DAT6E/${deviceName},属性下发与属性上报响应。

MQTT网关

生成小工具下载连接:

https://iotmarket-1256872341.cos.ap-guangzhou.myqcloud.com/market/772011611/014fc7752c9ef6130dfa408c507da111.zip

双击sign.html,填入相关信息,可以得到相关的mqtt的用户名和密码。

MQTT网关

生成小工具的使用

物模型

{ "method":"report", "clientToken":"123", "timestamp":1628646783, "params":{ "wendu":1, "shidu":1 } }

method String report 表示设备属性上报。 clientToken String 用于上下行消息配对标识。 timestamp Integer 属性上报的时间,格式为 UNIX 系统时间戳,不填写该字段表示默认为当前系统时间。单位为毫秒。 params JSON JSON 结构内为设备上报的属性值。 params.wendu,param.shidu 整数型属性的值为整数值,数值类型填写错误或超过数值范围会出现406返回码,表示物模型格式校验错误。

到这步为止,相关的配置已完成,下面进入设备配置。

设备端

使用VIRCOM软件点击设备管理,自动搜索到设备以后双击,进入如下页面,ip模式选择动态获取,工作模式选择TCP客户端,目的ip和端口为腾讯云平台的ip和端口,具体的域名:89QA2DAT6E.iotcloud.tencentdevices.com端口号为1883,然后点击固件与配置。

MQTT网关

首先需要新建文件夹,新建后配置mqtt参数和json配置。

MQTT网关

1mqtt设置

订阅主题:$thing/down/property/89QA2DAT6E/${deviceName} 发布主题:$thing/up/property/89QA2DAT6E/${deviceName}

MQTT网关

JSON设置

第一页 总体设置如图所示:

MQTT网关

具体配置页面节点一固定字符串

MQTT网关

节点二:固定字符串

MQTT网关

节点三:当前时间

MQTT网关

节点四:嵌套json

MQTT网关

节点五,六:modbus rtu

MQTT网关

结果预览:

MQTT网关

下位机模拟 通过modbus slave模拟下位机温湿度传感器数据,站地址为1,寄存器是40001,40001存放的温度的数据

MQTT网关

设备与平台联动

设备配置完成

配置完成后,请点击下载,确保文件夹已经下载,观察指示灯状态LINK灯蓝色,ACTIVE灯闪烁

MQTT网关

平台收到数据 刷新后可以看到,平台收到设备的属性上报,并且实时刷新成功!!

MQTT网关

注意点

时间戳选择10位,并且不加引号

MQTT网关