AT命令连接阿里云mqtt(两种方式都有)

连网用NBIOT 移远的BC260YCN主芯片,mqtt服务器用阿里云。AT命令与其他环境关系不大。

先开通阿里云mqtt(目前个人免费),参考以下链接开通和测试

【MQTT】通过mqtt.fx连接阿里云(巨详细)_mqttfx怎么连接阿里云-CSDN博客

下载好ssCom串口调试工具

一、三元素连接方式

cpp 复制代码
AT    //测试与nobit的连线通
OK
AT+QSCLK=0    //禁止休眠
OK 
AT+CIMI     // 获取物联网卡号
460087933105679
AT+CGSN     //获取SN
MPN24H30A0*****P

AT+CGATT?     //检测网络是否附着到基站
+CGATT: 1
OK
AT+CGPADDR   //获取分配的IP,说明网络已经正常
+CGPADDR: 0,"10.90.35.36"
OK

AT+QMTCFG="aliauth",0,"k27ebAIurCE","ec600m_cn","5a67b8*********67e8d7f"   // 阿里云三元素
OK
AT+QMTOPEN=0,"iot-06z00cq6rhvrr4a.mqtt.iothub.aliyuncs.com",1883    //打开mqtt网络,这句有以下三个返回值
OK     //仅代表命令发送成功

+QMTOPEN: 0,0     //代表网络打开成功

AT+QMTCONN=0,0    //连接客户端至 MQTT 服务器,  这步很关键且必须在返回+QMTSTAT: 0,1之前执行,否则报ERROR。这句有以下两个返回值
OK

+QMTCONN: 0,0,0     //代表连接客户端至 MQTT 服务器成功

AT+QMTCONN?     //检测是否成功
+QMTCONN: 0,3    //成功
OK

+QMTSTAT: 0,1     //这个不清楚

AT+QMTPUB=0,2,1,1,"/k27ebAIurCE/ec600m_cn/user/update"   //发布mqtt消息
>
123    //消息内容,输入完按ctrl+z
OK

AT+QMTSUB=0,1,"/k27ebAIurCE/ec600m_cn/user/get",0      //订阅mqtt消息
OK

登录到阿里云物联网平台查看日志,看到这三条日志就代表已经成功。

二、 Has256的密钥方式

1、在阿里云-设备管理中获取

{"clientId":"k27ebAIurCE.ec600m_cn|securemode=2,signmethod=hmacsha256,timestamp=1736472579660|",

"username":"ec600m_cn&k27ebAIurCE",

"mqttHostUrl":"iot-06z00cq6rhvrr4a.mqtt.iothub.aliyuncs.com",

"passwd":"bb*****************************************************01",

"port":1883}

2、AT+QMTCFG之前的命令和方式一样,本方式不需要 AT+QMTCFG命令。

3、

cpp 复制代码
AT+QMTOPEN=0,"iot-06z00cq6rhvrr4a.mqtt.iothub.aliyuncs.com",1883
+QMTOPEN: 0,0     //代表网络打开成功

AT+QMTCONN=0,"k27ebAIurCE.ec600m_cn|securemode=2,signmethod=hmacsha256,timestamp=1736394890590|","ec600m_cn&k27ebAIurCE","你的passwd"     //连接客户端至 MQTT 服务器,  这步很关键且必须在+QMTOPEN: 0,0 之后执行,否则报ERROR。这句有以下两个返回值
OK

+QMTCONN: 0,0,0     //代表连接客户端至 MQTT 服务器成功

AT+QMTCONN?     //检测是否成功
+QMTCONN: 0,1    //成功,有时会是+QMTCONN: 0,3
OK

AT+QMTPUB=0,2,1,1,"/k27ebAIurCE/ec600m_cn/user/update"   //发布mqtt消息
>
123    //消息内容,输入完按ctrl+z
OK

AT+QMTSUB=0,1,"/k27ebAIurCE/ec600m_cn/user/get",0      //订阅mqtt消息
OK
  1. 登录到阿里云物联网平台查看日志,看到三条日志就代表已经成功。

三、串口调试常见返回值16进制与字符对照

0D 0A 是windows的回车和换行 0D是回车

4f 4b OK

41 54 AT

AT+QMTOPEN=0,"iot-06z00cq6rhvrr4a.mqtt.iothub.aliyuncs.com",1883

41 54 2B 51 4D 54 4F 50 45 4E 3D 30 2C 22 69 6F 74 2D 30 36 7A 30 30 63 71 36 72 68 76 72 72 34 61 2E 6D 71 74 74 2E 69 6F 74 68 75 62 2E 61 6C 69 79 75 6E 63 73 2E 63 6F 6D 22 2C 31 38 38 33 0D 0D 0A
OK

4F 4B 0D 0A 0D 0A

+QMTOPEN: 0,0

2B 51 4D 54 4F 50 45 4E 3A 20 30 2C 30 0D 0A

AT命令多返回值的问题,能否用16进制解决?

附: 16进制转换,16进制转换文本字符串,在线16进制转换 | 在线工具

相关推荐
是程序喵呀1 小时前
软考《信息系统运行管理员》- 7.1 物联网运维
运维·物联网·软考
zd8451015001 小时前
proteus OLED12864仿真
单片机·嵌入式硬件·proteus
qq_2151383272 小时前
【Proteus仿真】【32单片机-A007】PT100热敏温度检测系统设计
单片机·嵌入式硬件
回眸&啤酒鸭3 小时前
【回眸】Linux 内核 (十六) 之 多线程编程 下
linux·物联网
小怪瘦793 小时前
IDEA :物联网ThingsBoard-gateway配置,运行Python版本,连接thingsboard,接入 MQTT 设备
python·物联网·gateway·idea
LaoZhangGong1234 小时前
语法: lcd_load( buffer_pointer, offset, length);
经验分享·单片机·嵌入式硬件·pic单片机
不不不丶5 小时前
STM32——RTC实时时钟
stm32·嵌入式硬件·实时音视频
森焱森6 小时前
单片机FreeRTOSTickless低功耗模式应用示例
c语言·网络·单片机·算法·架构
damo王6 小时前
STM32 的编程方式总结
stm32·单片机·嵌入式硬件
板栗焖小鸡8 小时前
Odrive0.5.1-FOC电机控制 arm_cos_f32.cpp arm_sin_f32.cpp代码实现(二)
arm开发·单片机·嵌入式硬件