若该文为原创文章,转载请注明原文出处。

使用银尔达的ML307R,测试连接Onenet,记录测试过程。程序移植和前面基本类型。这里使用串口工具测试。

一、Onenet平台创建

Onenet平台需要以下几个参数:

//MQTT
char tcp_mqtt_addr[100]="mqtts.heclouds.com";  // 地址
char mqtt_client_id[100]="YSLh7n9lFw";
char mqtt_user_name[100] = "device_001";//用户名 
char mqtt_password[200] = "version=2018-10-31&res=products%2FYSLh7n9lFw%2Fdevices%2Fdevice_001&et=1797583777&method=md5&sign=EaycYPu68M52Qu7BYJdTkQ%3D%3D";//密码 

char mqtt_keepalive = 60;//心跳包时间 

char mqtt_publish_model_topic[100]="$sys/YSLh7n9lFw/device_001/thing/property/post";//存储发布的主题
char mqtt_subscribe_model_topic[100]="$sys/YSLh7n9lFw/device_001/thing/property/set";//存储订阅的主题

地址,端口(1883),ID(产品ID),用户名,Token, 订阅主题,发布主题。

二、连接流程

参考链接地址:

移动AT固件MQTT测试实例

通过MQTT.fx与ML307A上传数据到OneNet物联网开放平台 by xinlong - 知乎

中移4G模组ML307C以MQTT协议接入新版OneNET完整流程 - xuan0101 - 博客园

1、MQTT控制流程

2、测试

1、测试软件

使用的工具是银尔达的串口测试工具

2、AT指令

下面过程严格按顺序执行

1、AT

2、ATE0

3、AT+ICCID

4、AT+CSQ

5、AT+CGATT?

必须为1,附着网络,如果不用1检查卡或模块或信号

6、AT+MIPCALL?

7、AT+MQTTCFG="clean",0,1

连接到网络后必须要发送AT+MQTTCFG="clean",0,1(onenet要求clean参数必须是1)

8、连接MQTT

命令原型:

AT+MQTTCONN=<connect_id>,<host>[,<port>[,<clientID>,<user>,<passwd>]]

命令配置:

AT+MQTTCONN=0,"mqtts.heclouds.com",1883,"设备名称","产品名称","生成的token"

第一个参数是connect_id,范围是0~5,使用其中一个即可,这里使用0。
连接结果:连接成功返回

+MQTTURC: "conn",0,0

9、订阅

阅话题

命令原型:

AT+MQTTSUB=<connect_id>,<topic>,<qos>[,<topic1>,<qos1>..]

命令配置(下面这个命令可一键订阅属性类话题,OneNET平台有限制,每个设备最大只能订阅10个话题,这些限制OneNET平台文档中心均有说明):

AT+MQTTSUB=0,"$sys/产品名称/设备名称/thing/property/set",0

10、发布

命令原型:

AT+MQTTPUB=<connect_id>,<topic>,<qos>,<retain>,<dup>,<msg_len>[,<message>]

这里需要注意的是msg_len,消息长度,需要实际长度或是填0

JSON数据格式如下:

{"id":"123","version":"1.0","params":{"Iref":{"value":350}}}

遇到的问题:

上传数据不成功,发现长度不对,后面改成0就好了。

附完整AT指令,测试请修改成自己的Onenet服务器。

[2026-03-23 09:23:36.309 T] AT

[2026-03-23 09:23:36.376 R] 
+MATREADY

OK


[2026-03-23 09:24:02.302 T] ATE0

[2026-03-23 09:24:02.358 R] 
OK


[2026-03-23 09:24:25.630 T] AT+ICCID

[2026-03-23 09:24:25.706 R] 
+ICCID: 898602F61324F5013007

OK  

[2026-03-23 09:24:41.361 T] AT+CSQ

[2026-03-23 09:24:41.419 R] 
+CSQ: 31,99

OK

[2026-03-23 09:24:59.827 T] AT+CGATT?

[2026-03-23 09:24:59.884 R] 
+CGATT: 1

OK

[2026-03-23 09:25:25.140 T] AT+MIPCALL?

[2026-03-23 09:25:25.209 R] 
+MIPCALL: 1,1,"10.156.45.195","2409:8934:4CF2:F558::1"

OK


[2026-03-23 09:25:55.547 T] AT+MQTTCFG="clean",0,1

[2026-03-23 09:25:55.613 R] 
OK


[2026-03-23 09:33:40.123 T] AT+MQTTCONN=0,"mqtts.heclouds.com",1883,"device_001","BjX9g40kj7","version=2018-10-31&res=products%2FBjX9g40kj7%2Fdevices%2Fdevice_001&et=1805175384&method=md5&sign=adE0CVqIXSECGG8VEqOJyg%3D%3D"

[2026-03-23 09:33:40.209 R] 
OK

[2026-03-23 09:33:40.735 R] 
+MQTTURC: "conn",0,0


订阅话题
AT+MQTTSUB=0,"$sys/BjX9g40kj7/device_001/thing/property/set",0

[2026-03-23 09:34:59.698 T] AT+MQTTSUB=0,"$sys/BjX9g40kj7/device_001/thing/property/set",0

[2026-03-23 09:34:59.780 R] 
+MQTTSUB: 0,26932

OK

[2026-03-23 09:35:00.014 R] 
+MQTTURC: "suback",0,26932,0


AT+MQTTPUB=0,"$sys/BjX9g40kj7/device_001/thing/property/post",0,0,0,0,"{"id":"123","version":"1.0","params":{"B":{"value":3}}}"





// 接收到的数据
[2026-03-23 09:45:46.467 R] 
+MQTTURC: "publish",0,0,"$sys/BjX9g40kj7/device_001/thing/property/set",45,45,{"id":"1","version":"1.0","params":{"A":123}}

如有侵权,或需要完整代码,请及时联系博主。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐