news 2026/8/22 22:20:42

模块3 WIFI物联网通信-项目1 WIFI连接平台-任务2 OneNET云端配置与MQTT 模拟数据上传

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
模块3 WIFI物联网通信-项目1 WIFI连接平台-任务2 OneNET云端配置与MQTT 模拟数据上传

任务2 OneNET云端配置与MQTT 模拟数据上传

一、任务描述

本任务基于 MQTT 协议,依托中国移动 OneNET 物联网平台,完成云端环境搭建与设备模拟调试。首先在 OneNET 平台手动创建 MQTT 类型产品与虚拟设备,再使用 MQTT 调试器模拟终端设备完成账号登录、建立 MQTT 长连接,最后通过调试器向平台上报模拟数据。本任务不依赖 STM32 与 ESP-01S 硬件,重点掌握物联网平台使用、MQTT 连接参数配置、设备上下行数据交互流程,为后续硬件设备接入云端打下基础。

二、任务目标

1. 知识目标

1)掌握 OneNET 物联网平台的基础架构、产品与设备的层级关系。

2)理解 MQTT 协议登录鉴权规则、客户端 ID、用户名、动态 Token 的作用。

3)熟悉 MQTT 主题(Topic)分类,区分数据上报主题与平台回复主题。

4)了解 MQTT 调试器的工作原理,掌握纯软件模拟设备的调试方法。

2. 能力目标

1)能够独立登录 OneNET 平台,完成 MQTT 产品创建、参数配置。

2)能够在产品下新增设备,记录产品 ID、设备 ID、设备密钥等核心参数。

3)能够使用 Token 工具生成 MQTT 登录密码,完成调试器参数配置并模拟登录。

4)能够通过调试器上报模拟数据,在平台查看历史数据、设备在线状态。

3. 素质目标

1)培养物联网项目先搭云端、后联硬件的标准化开发思维。

2)提升参数核对、问题排查能力,养成严谨的参数记录习惯。

3)理解云端与终端的交互逻辑,树立物联网全链路调试意识。

三、任务重难点

1. 任务重点

1)OneNET 平台 MQTT 产品、设备的创建流程与关键参数记录。

2)Token 鉴权码的生成规则与使用方法。

3)MQTT 调试器(MQTT.fx/MQTTX)连接参数配置(服务器地址、端口、客户端信息)。

4)MQTT 数据上报主题格式、标准 JSON 数据报文编写。

5)平台端查看设备在线状态、解析上报数据。

2. 任务难点

1)Token 生成失败、参数填写错误导致 MQTT 登录失败。

2)MQTT 主题格式错误,造成数据上报后平台无法识别。

3)区分 MQTT 普通连接与加密连接,端口与协议匹配。

4)JSON 报文格式错误,引发平台数据解析异常。

四、知识准备

1.OneNET 物联网平台基础介绍

OneNET 是中国移动自主研发的一站式物联网开放平台,支持 MQTT、HTTP、TCP 等主流通信协议,提供设备管理、数据存储、指令下发、数据分析等功能,广泛应用于智能家居、环境监测、工业控制等场景。

层级结构:账号 → 产品 → 设备,一个产品下可挂载多个同类型设备。

MQTT 接入固定服务器信息(旧版直连,实训常用):服务器地址183.230.40.39,端口6002;新版加密接入:服务器mqtt.heclouds.com,端口1883。

核心参数:产品 ID(PID)、设备 ID、设备密钥,是设备登录鉴权的核心依据。

2. MQTT 协议登录与鉴权知识

1)MQTT 连接四要素

服务器地址(Broker):MQTT 消息中转服务器地址。

客户端 ID(Client ID):OneNET 中填写设备 ID,用于平台区分不同终端。

用户名(Username):OneNET MQTT 接入中填写产品 ID。

密码(Password):非原始密钥,需通过平台算法生成动态 Token,具备时效性。 2)Token 介绍 Token 是 OneNET 的动态鉴权密码,基于设备密钥、时间戳、签名算法生成,具备有效期,防止密钥泄露,所有 MQTT 设备登录必须使用 Token 作为密码。 3)MQTT 运行流程 设备建立 TCP 连接 → 发送 MQTT 登录报文(携带四要素) → 平台鉴权 → 鉴权成功设备上线 → 发布报文上传数据 → 平台接收并存储数据。

3. MQTT 主题(Topic)与数据报文规范

1)主题作用:MQTT 通过主题区分不同数据流,上报数据、接收平台指令需使用对应主题,格式固定不可随意修改。 2)OneNET 标准上报主题(物模型格式)

plaintext

$sys/产品ID/设备ID/thing/property/post

3)平台回复主题(接收上报结果)

plaintext

$sys/产品ID/设备ID/thing/property/post/reply

4)标准 JSON 数据报文(环境监测模拟数据)

json

{

"id": "001",

"version": "1.0",

"params": {

"LED":{"value":true},

"fan":{"value":true},

"temp": {"value":24},

"humi": {"value":45},

"light": {"value":245}

}

}

报文包含消息编号、版本、自定义传感器参数,平台可自动解析存储。

4. MQTT 调试工具介绍

本任务使用MQTT.fx(主流 MQTT 调试器),纯软件模拟 MQTT 客户端,无需硬件即可完成设备登录、数据发布、主题订阅,适用于前期云端功能验证、协议调试。

功能:模拟设备登录 MQTT 服务器、发布数据、订阅主题、查看交互日志。

运行环境:Windows 系统,无需额外硬件,仅需网络支持。

5. 时间戳基础知识

生成 Token 需要 Unix 时间戳(从 1970-01-01 至今的秒数),可使用在线时间戳转换工具获取,用于限定 Token 的有效时长,超时后 Token 自动失效。

五、硬件与软件环境

1)软件环境:浏览器(Chrome/Edge)、MQTT.fx 调试器、OneNET Token 生成工具、网络。

2)硬件环境:无(纯软件模拟,无需 STM32、ESP-01S 等硬件)。

六、任务实现
任务2.1 登录 OneNET 平台并创建 MQTT 产品

1.登录中国移动物联网开放平台https://open.iot.10086.cn/,点击“产品服务”->“立即体验”,如图1所示。

图1中国移动物联网开放平台

2.输入账号和密码登录。

3.点击“开发者中心”,如图2所示,进入“设备管理服务”页面,如图3所示。

图2 点击“开发者中心”

图3 “设备管理服务”页面

4.点击“产品开发”->“创建产品”,填写和选择相关信息,如图4所示,单击“确定”。

图4 创建产品

5.单击“产品开发”,如图5所示,进入产品开发页面,如图6所示。

图5 “我的产品”页面

图6 产品开发页面

6.点击“设置物模型”,如图7所示,添加5个自定义功能点,如图8所示,点击“保存”。

图7 添加自定义功能点

图8 自定义功能点

任务2.2 在产品下添加虚拟设备

1.进入刚创建的产品“我的产品”页面如图9所示,点击“设备管理”,进入设备管理页面,如图x所示

图9 管理页面

2.点击“添加设备”,选择所属产品,填入设备名称,如图10所示,单击“确定”按钮。

图10 添加设备

任务 2.3 生成 MQTT 登录 Token(密码)

1.打开 OneNET 官方 Token 生成工具,按要求填写参数:

res:固定格式 products/产品ID/devices/设备ID

et:Unix 时间戳(设置为当前时间往后1年,保证 Token 有效。百度搜“在线时间戳转换”,如图11所示)

图11 在线时间戳转换

method:签名算法选择md5

key:粘贴设备密钥(WkxLTU45ODJydjVtb3hpZjBoeU53bnFlREVhQXdiVzk=)

各个参数填写如图12所示。

图12 生成Token

2.点击“生成 Token”,复制生成的完整字符串,作为 MQTT 登录密码。

version=2018-10-31&res=products%2FtsK7G227aH%2Fdevices%2Fa1&et=1812532952&method=sha1&sign=nA1SYqi8zVaAjiMXpvxGhrdgang%3D

任务 2.4 MQTT.fx 调试器配置并模拟设备登录

1.下载安装mqtt.fx软件,打开 mqtt.fx,点击左上角“设置”图标,如图13所示,新建连接配置文件。

图13 mqtt.fx配置

2.MQTT Version配置,MQTT接入使用 MQTT 3.1.1 协议,如图14所示。

图14 选择MQTT Version 3.1.1

3.客户端身份配置(核心鉴权参数),如图15所示。

Client ID:填写设备 ID

User Name:填写产品 ID

Password:粘贴任务2.3生成的Token

图15 客户端身份配置

点击“OK”保存配置,返回主界面。

4.点击主界面“Connect”按钮发起连接:

调试器状态栏显示绿色圆点 → 连接成功,如图16所示;

图16 连接成功

刷新 OneNET设备页面,设备状态由离线变为在线,如图17所示,模拟登录完成。

图17 设备在线

任务 2.5 订阅主题(接收平台回复)

1.在 MQTT.fx 中切换至Subscribe标签页。

2.输入平台回复主题:$sys/产品ID/设备ID/thing/property/post/reply,将占位符替换为实际参数。

3.QoS 选择0(普通消息),点击Subscribe完成主题订阅,如图18所示,用于接收平台数据上报结果。

图18 订阅主题

任务 2.6 模拟上传数据至OneNET平台

1.切换至Publish标签页,填写上报主题:$sys/产品ID/设备ID/thing/property/post。

2.在消息编辑区输入标准 JSON 模拟数据(示例):

{

"id": "001",

"version": "1.0",

"params": {

"LED":{"value":true},

"fan":{"value":true},

"temp": {"value":24},

"humi": {"value":45},

"light": {"value":245}

}

}

3.QoS 保持0,点击Publish发布数据,如图19所示

图19发布数据

4.结果验证

1)MQTT.fx 订阅区收到平台回复报文,提示数据接收成功,如图20所示。

图20数据接收成功

  1. 进入OneNET设备详情 →数据查看,可看到刚刚上报的温度、湿度、光照数据,如图21所示。

图21OneNET设备详情

3)多次发布不同数值,验证数据实时上传功能。

任务 2.7设备侧收OneNET平台下发的数据

1.在 MQTT.fx 中切换至Subscribe标签页。

2.输入平台下发主题:$sys/{pid}/{device-name}/thing/property/set,将占位符替换为实际参数。

3.QoS 选择0(普通消息),点击Subscribe完成主题订阅,如图22所示,用于接收平台下发数据

4.在OneNET平台的设备详情页面,进行设备调试,如图x所示,点击下方的“属性设置”按钮。

图22 设备调试

5.在 MQTT.fx中会收到OneNET平台下发的数据,如图23所示。

图23MQTT.fx中收到OneNET平台下发的数据

任务 2.8 断开连接(收尾操作)

测试完成后,点击 MQTT.fx“Disconnect”断开 MQTT 连接,OneNET 设备状态变回离线。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 22:12:39

新手品牌必看:化妆品ODM流程关键节点与避坑建议

新手品牌必看:化妆品ODM流程关键节点与避坑建议面对市场上众多的代工服务商,梳理清晰的化妆品 ODM 流程对于新品牌的启动至关重要。本文内容并非官方排名,而是基于行业公开信息、不同发展阶段品牌的适用人群以及核心选择维度整理而成&#xf…

作者头像 李华
网站建设 2026/8/22 22:12:07

丙午年七月初九向心观

丙午年七月初九向心观昼夜何困日月,春秋哪知始终?向心如此江湖,谓情依然醒梦?所谓边界涤荡,正言制度虚空。平常本来而已,远近相较为重?

作者头像 李华
网站建设 2026/8/22 22:03:28

电子合同存档合规吗?HR 别让归档年限坑了企业

劳动合同丢了还能补,可要是连补的资格都过了时效,企业就只能吃哑巴亏。很多 HR 把电子合同存进系统就当万事大吉,真被问起「这份合同按规定要留几年」,往往答不上来。 电子合同存不存得住、存不存得合规,比签得快不快更…

作者头像 李华