[PSOC™] 【英飞凌 CY8CKIT-062S2-AI评测】第六篇:MQTT连接中国移动OneNet云平台

[复制链接]
89|0
hbzjt2011 发表于 2025-11-1 16:40 | 显示全部楼层 |阅读模式
[i=s] 本帖最后由 hbzjt2011 于 2025-11-1 19:58 编辑 [/i]

一、前言

在前面的几篇测评中,我们已经体验了CY8CKIT-062S2-AI开发板的边缘AI能力、传感器数据采集以及机器学习模型部署。接下来将使用开发板连接到中国移动OneNet物联网云平台,实现数据上云、远程监控和控制,完成从设备端到云端的完整物联网应用闭环。

为什么选择OneNet平台?

  • 国内主流物联网平台,网络稳定性好
  • 支持MQTT、HTTP等多种协议
  • 提供免费的开发者套餐
  • 文档丰富,社区活跃

二、OneNet平台配置

2.1 注册与登录

访问OneNet平台官网:https://open.iot.10086.cn,完成账号注册并登录。

image.png

2.2 创建产品

  1. 进入控制台,点击"产品开发" → "创建产品"

    image.png

  2. 点击"添加产品",填写产品信息:

    • 产品名称: CY8CKIT-AI-Monitor (自定义)
    • 设备接入协议: MQTT
    • 行业分类: 智能家居
    • 联网方式: WiFi
    • 节点类型: 直连设备

    image.png

  3. 创建成功后,记录产品ID(如:P2k4KV0low),后续配置需要使用

    image.png

2.3 创建设备

  1. 进入刚创建的产品,点击"设备管理" → "添加设备"

    image.png

  2. 填写设备信息:

    • 设备名称: PSoC6_Device_001 (自定义)
    • 设备描述: PSoC 6 AI开发板测试设备image.png
  3. 创建成功后,记录以下关键信息:

    • 设备ID: PSoC6_Device_001
    • 设备名称: PSoC6_Device_001
    • 产品ID: P2k4KV0low

image.png

2.4 配置物模型

OneNet使用物模型来描述设备功能,我们需要创建几个属性用于数据上报:

  1. 进入产品详情,点击"物模型定义" → "添加功能"
  2. 添加以下属性:
功能类型功能名称标识符数据类型取值范围
属性温度temperaturefloat-40~85
属性湿度humidityint320~100
属性气压pressurefloat300~1100
属性LED状态led_statusbool0/1

image.png

2.5 生成鉴权Token

OneNet平台使用Token进行设备认证,我们需要生成一个访问令牌:

  1. 参数准备:
    • 产品ID: P2k4KV0low
    • 设备名称: PSoC6_Device_001
    • 设备密钥: 在设备详情中查看(如:R7YqtyhNtN2JkeeR0Axo=B6jnEY=)
    • 过期时间: 使用时间戳转换工具生成未来时间戳(如:1767225600)
  2. Token计算公式:
res = products/{产品ID}/devices/{设备名称}
方法: MD5或SHA256
version: 2018-10-31
  1. 使用OneNet官方Token生成工具或在线MD5工具生成最终Token

连接参数汇总:

  • MQTT服务器: mqtts.heclouds.com
  • 端口: 1883(非加密) / 8883(TLS加密)
  • Client ID: PSoC6_Device_001 (设备名称)
  • Username: P2k4KV0low (产品ID)
  • Password: Token字符串

主题格式:

  • 属性上报: $sys/{产品ID}/{设备名称}/thing/property/post
  • 属性设置: $sys/{产品ID}/{设备名称}/thing/property/set

三、ModusToolbox工程配置

3.1 创建MQTT项目

  1. 打开ModusToolbox 3.6,选择"Create" → "Launch Project Creator"
  2. 选择目标开发板: CY8CKIT-062S2-AI
  3. 在应用列表中搜索"MQTT",选择"Wi-Fi MQTT Client"示例工程,点击"Create"

image.png

3.2 工程结构

image.png

四、工程源码

代码如下,数据上报有待优化,由于时间问题,抛砖引玉,欢迎大家继续完善!

upload 附件:Wi-Fi_MQTT_Client.rar

五、编译与下载

5.1 编译前准备

  1. 修改WiFi配置: 编辑 configs/wifi_config.h,填入您的WiFi信息
  2. 修改OneNet配置: 编辑 configs/mqtt_client_config.h,填入OneNet设备信息
  3. 生成OneNet Token:
    • 访问OneNet平台设备详情页
    • 点击"鉴权信息"获取Token
    • 或使用在线工具生成Token字符串

5.2 编译工程

bash

# 打开ModusToolbox命令行工具
cd /path/to/Wi-Fi_MQTT_Client

# 编译工程
make build

# 清理工程
make clean

# 编译并下载
make program

image.png

image.png

六、运行与测试

6.1 串口监控

  1. 打开串口终端工具(Tera Term/PuTTY/CoolTerm)
  2. 配置串口参数:
    • 波特率: 115200
    • 数据位: 8
    • 停止位: 1
    • 奇偶校验: 无
    • 流控: 无
  3. 连接到KitProg3的COM口

6.2 串口输出

image.png

6.3 OneNet平台验证

  1. 登录OneNet平台控制台
  2. 进入"设备列表",找到 psoc6_dev001设备
  3. 查看设备状态:
    • 设备状态显示"在线"
    • 最后上线时间更新
  4. 点击"物模型数据"标签:
    • 查看实时数据:温度、湿度、气压
    • 数据会自动刷新
  5. 测试远程控制:
    • 点击"调试"或"下发命令"
    • 选择"属性设置"
    • 设置 led_status1
    • 点击"下发"按钮
    • 观察开发板LED点亮

image.png

参考资源:

  • 英飞凌 ModusToolbox MQTT示例(https://github.com/Infineon/mtb-example-wifi-mqtt-client)
  • 中国移动OneNet开发文档(https://open.iot.10086.cn/doc/iot_platform/)
  • MQTT协议v3.1.1规范(https://docs.oasis-open.org/mqtt/mqtt/v3.1.1/)
  • CY8CKIT-062S2-AI用户指南(https://www.infineon.com/evaluation-board/CY8CKIT-062S2-AI)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎参与LabVIEW版块的讨论学习! 点我一键即达

345

主题

2946

帖子

45

粉丝
快速回复 在线客服 返回列表 返回顶部