RK3588快速上云OneNET!CMCC_Express_SDK MQTT部署实战

电子说

1.4w人已加入

描述

 

 

 

在嵌入式Linux开发中,设备上云是核心需求之一。RK3588作为性能强劲的嵌入式平台,搭配中国移动CMCC Express SDK,可快速实现基于MQTT协议的OneNET云平台接入,兼顾稳定性与高效性。本文将详细拆解部署全过程,附实战验证结果,助力开发者快速落地!

 

 

一、核心方案介绍

 

 

CMCC Express SDK是基于C语言开发的轻量级上云工具,专为嵌入式Linux设计,支持5G/4G网络接入,核心优势如下:

 

 

双协议协同:HTTP自动注册获取三元组,MQTT/MQTTS上报数据,适配OneNET平台规范

 

 

多线程架构:数据采集、通信任务独立运行,支持多字段并行上报

 

 

灵活扩展:支持shell/自定义接口开发,兼容32/64位系统,适配openssl加密通信

 

 

状态可视化:实时监控网络状态、信号质量、设备数据,问题可追溯

 

 

本次部署目标:RK3588平台通过4G模块接入网络,借助SDK实现设备状态、信号参数等数据向OneNET云平台的稳定上报。

 

 

二、部署前准备

 

 

1.硬件环境:RK3588开发板 + Quectel 4G模块(已正常识别)

 

 

2.软件环境:嵌入式Linux系统(本文基于debian11)、CMake 3.10+、交叉编译工具链

 

 

3.资源准备:CMCC_Express_SDK包(含源码、第三方依赖、证书文件)、OneNET平台产品信息(产品ID、设备密钥)

 

 

三、分步部署教程

 

 

1. SDK目录结构梳理

 

 

解压SDK后,核心目录如下(重点关注需配置文件):

 

 

RK3588

2. 关键配置修改

 

 

1)数据采集接口适配

 

 

修改cmcc_express_intf.sh 脚本,适配RK3588硬件接口,核心要求:

 

 

接口函数名固定为cmcc_express,需包含GetOneBoxInfo02GetDevStatus等标准接口

 

 

输出格式:字段用~ 分隔,不允许结尾带分隔符,多行数据用n 拆分

 

 

示例:信号参数输出band:1~sinr:29~rsrp:-73~rsrq:-6~rssi:-46

RK3588

2)编译参数配置(CMakeLists.txt

 

 

根据RK3588平台调整:

 

 

指定交叉编译链:set(CMAKE_C_COMPILER 你的交叉编译器路径)

 

 

系统位数配置:-DCONFIG_PLAT_ARCH_64BIT=1RK358864位)

 

 

功能开关:启用opensslMQTTS加密):-DOPENSSL=1

 

 

链接依赖库:添加openssl库路径,确保MQTTs通信正常

 

 

34G拨号配置

 

 

确保4G模块驱动正常,拨号服务自动启动:

 

 

核心命令:busybox udhcpc -f -n -q -t 5 -i wwan0(获取动态IP

 

 

路由配置:ip -4 route add default via 10.2.47.65 dev wwan0(网关指向4G模块)

RK3588

3. 编译与部署

 

 

1.进入build目录执行编译:

 

 

  •  
  •  
  •  
  •  
cd buildcmake ../          # 生成编译文件make               # 编译源码make install       # 安装到bin目录

2.部署文件到RK3588

 

 

复制bin目录下的 cmcc_expresscmcc_express_intf 到开发板/usr/bin

 

 

复制certificate.pem /etc/cmcc_express/MQTTS证书路径)

 

 

复制系统服务文件到/etc/systemd/system/4g-info.servicecmcc_express.service

 

 

4. 服务启动与状态验证

 

 

1.启动4G监控服务:

  •  
  •  
systemctl enable 4g-info.service  # 设置开机自启systemctl start 4g-info.service   # 启动服务验证:

systemctl status 4g-info.service,显示Active(running),且日志输出信号参数(sinrrsrp等)及链路状态为4G

 

 

2.启动MQTT上云服务:

 

 

  •  
  •  
systemctl enable cmcc_express.servicesystemctl start cmcc_express.service

验证:systemctl status cmcc_express.service,显示Active(running),无报错日志。

 

 

四、上云验证结果

 

 

1. 设备侧状态

 

 

4G拨号成功:获取IP [10.2.47.64](10.2.47.64),租期7200

 

 

网络链路稳定:4G模块服务持续运行,CPU占用低(24.6s

 

 

MQTT服务正常:多线程运行(13个任务),内存占用仅6.8M

RK3588RK3588

2. OneNET平台侧验证

 

 

登录OneNET控制台,在设备详情页可查看:

 

 

设备在线状态:已接入(基于MQTT长连接)

 

 

实时数据上报:card_infoICCID)、cell_info(信号参数)、dev_info(设备信息)等

 

 

数据更新频率:按配置周期上报,字段与设备侧一致(如rssi:-46dnn:3gnet

RK3588

五、常见问题排查

 

 

1.4G拨号失败:检查wwan0设备是否存在,udhcpc脚本路径是否正确(/usr/share/udhcpc/ /etc/udhcpc

 

 

2.MQTT连接失败:确认证书路径配置正确,OneNET三元组(产品ID、设备密钥)无误

 

 

3.数据采集失败:检查接口脚本输出格式(分隔符、字段名),确保与物模型定义一致(tm_user.h

 

 

六、总结

 

 

RK3588 + CMCC_Express_SDK的组合,实现了嵌入式设备的快速上云,无需复杂的MQTT协议开发,通过配置化和脚本适配即可完成部署。该方案兼顾了轻量化与稳定性,适用于工业物联网、智能硬件等场景的上云需求。


审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分