1. 注册与创建云端产品实例
要实现底层硬件(如下位机MCU)与云端的数据交互,第一步需要在OneNET平台建立对应的“云端映射”,即完成产品的创建与基础架构的配置。
1.1 平台接入与开发者准备
在中国移动OneNET开放平台完成账号注册。由于目前国内物联网平台的规范化管理,建议注册后同步完成开发者实名认证。
1.2 创建产品:定义硬件的通信属性
进入控制台页面,在“设备接入与管理”模块,创建产品。
产品名称:建议使用规范的工程化命名。例如,可以命名为“多源信息感知终端”或“智能边缘计算网关”,这样能凸显项目的工程实践背景。
行业分类:根据设备的实际应用场景选择,例如“工业物联”或“仪器仪表”。
节点类型:
直连设备:如果你的主控MCU(如搭配ESP8266 WIFI模块或4G Cat.1模块)直接与服务器建立TCP长连接,选择此项。
网关设备:如果你的系统包含多个子节点设备,需要通过一个集中式的主控网关统一汇聚并上报数据,则选择此项。
接入协议(核心):选择“MQTT”。MQTT协议凭借其轻量级、低带宽消耗的发布/订阅(Pub/Sub)机制,非常适合硬件资源受限且网络环境复杂的嵌入式系统。
数据格式:通常推荐选择“JSON”或平台标准的“OneJSON”。这意味着在后续的固件开发中,需要在单片机中移植如
cJSON库,将采集到的传感器数据封装为标准的键值对(Key-Value)格式再进行Topic发布。
2. 定义物模型与数据流
在产品开发页面中,根据实际的硬件传感器需求,添加自定义功能。例如设置温度、湿度等数据流节点,注意数据类型的匹配(如int32或float)。
3. 增加设备
在 OneNET 平台的标准架构中,“产品”和“设备”是父子层级关系(集合与节点的关系),类似于类和对象的概念:
产品(Product):是一组具有相同功能特性的设备集合。这一层级主要用于统一配置通信规范。在创建产品时,我们预先定义了这批硬件的接入协议(MQTT)、数据格式,以及“物模型”(即设备包含的属性、事件和服务)。
设备(Device):是挂载在具体产品下的独立物理节点。每个设备自动继承所在产品的通信规范,同时平台会为其分配全局唯一的设备名称(DeviceName)和专属鉴权密钥(DeviceKey)
4.获取MQTT连接核心参数
4.1 服务器地址与端口
mqtts.heclouds.com,1883端口号:1883(非加密端口)或 8883(TLS加密端口)
4.2 提取MQTT三要素 (ClientID, Username, Password)
MQTT三要素的获取及底层实现流程,可以参考LwIP开源网络协议栈的标准MQTT实现逻辑。
连接验证所需的信息:
ClientID:设备的名称
Username:产品ID
Password (Token):需要使用平台提供的算法生成。
ClientID:
用户名:
4.3 Token的计算规则
Token的生成依赖于鉴权参数。具体计算工具可在OneNET官方文档中心搜索“Token生成工具”获取。
组装参数示例:
res: products/你的产品ID/devices/你的设备名 (如 products/Qbym8DbMJ2/devices/OTA001)
et: 1672735919(过期时间戳,需注意时效性,保持和文档一致就行)
key: 产品或设备对应的 AccessKey
将以上参数填入生成工具,即可得到用于MQTT连接的最终密码(Password)。获取完成后,将其写入下位机的连接初始化结构体中即可发起连接。
Token生成工具获取: 建议前往 OneNET 控制台 -> 帮助文档 -> API参考 -> 鉴权机制 中下载官方提供的 Token 生成工具。