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

发布时间:2026/8/22 22:20:53
模块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. 任务重点1OneNET 平台 MQTT 产品、设备的创建流程与关键参数记录。2Token 鉴权码的生成规则与使用方法。3MQTT 调试器MQTT.fx/MQTTX连接参数配置服务器地址、端口、客户端信息。4MQTT 数据上报主题格式、标准 JSON 数据报文编写。5平台端查看设备在线状态、解析上报数据。2. 任务难点1Token 生成失败、参数填写错误导致 MQTT 登录失败。2MQTT 主题格式错误造成数据上报后平台无法识别。3区分 MQTT 普通连接与加密连接端口与协议匹配。4JSON 报文格式错误引发平台数据解析异常。四、知识准备1.OneNET 物联网平台基础介绍OneNET 是中国移动自主研发的一站式物联网开放平台支持 MQTT、HTTP、TCP 等主流通信协议提供设备管理、数据存储、指令下发、数据分析等功能广泛应用于智能家居、环境监测、工业控制等场景。层级结构账号 → 产品 → 设备一个产品下可挂载多个同类型设备。MQTT 接入固定服务器信息旧版直连实训常用服务器地址183.230.40.39端口6002新版加密接入服务器mqtt.heclouds.com端口1883。核心参数产品 IDPID、设备 ID、设备密钥是设备登录鉴权的核心依据。2. MQTT 协议登录与鉴权知识1MQTT 连接四要素服务器地址BrokerMQTT 消息中转服务器地址。客户端 IDClient IDOneNET 中填写设备 ID用于平台区分不同终端。用户名UsernameOneNET MQTT 接入中填写产品 ID。密码Password非原始密钥需通过平台算法生成动态 Token具备时效性。 2Token 介绍 Token 是 OneNET 的动态鉴权密码基于设备密钥、时间戳、签名算法生成具备有效期防止密钥泄露所有 MQTT 设备登录必须使用 Token 作为密码。 3MQTT 运行流程 设备建立 TCP 连接 → 发送 MQTT 登录报文携带四要素 → 平台鉴权 → 鉴权成功设备上线 → 发布报文上传数据 → 平台接收并存储数据。3. MQTT 主题Topic与数据报文规范1主题作用MQTT 通过主题区分不同数据流上报数据、接收平台指令需使用对应主题格式固定不可随意修改。 2OneNET 标准上报主题物模型格式plaintext$sys/产品ID/设备ID/thing/property/post3平台回复主题接收上报结果plaintext$sys/产品ID/设备ID/thing/property/post/reply4标准 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/设备IDetUnix 时间戳设置为当前时间往后1年保证 Token 有效。百度搜“在线时间戳转换”如图11所示图11 在线时间戳转换method签名算法选择md5key粘贴设备密钥WkxLTU45ODJydjVtb3hpZjBoeU53bnFlREVhQXdiVzk各个参数填写如图12所示。图12 生成Token2.点击“生成 Token”复制生成的完整字符串作为 MQTT 登录密码。version2018-10-31resproducts%2FtsK7G227aH%2Fdevices%2Fa1et1812532952methodsha1signnA1SYqi8zVaAjiMXpvxGhrdgang%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.13.客户端身份配置核心鉴权参数如图15所示。Client ID填写设备 IDUser Name填写产品 IDPassword粘贴任务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.结果验证1MQTT.fx 订阅区收到平台回复报文提示数据接收成功如图20所示。图20数据接收成功进入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 设备状态变回离线。