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进制转换 | 在线工具

相关推荐
涂山苏苏⁠2 小时前
STM32之RTC
stm32·rtc
清风6666663 小时前
基于STM32单片机的OneNet物联网粉尘烟雾检测系统
stm32·单片机·物联网·毕业设计·课程设计
TDengine (老段)4 小时前
TDengine 特殊函数 MODE() 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
TG_yilongcloud4 小时前
阿里云国际代理:怎么保障数据库在凭据变更过程中的安全与稳定?
数据库·安全·阿里云·云计算
文火冰糖的硅基工坊4 小时前
[硬件电路-192]:基级与发射极两端的电压超过1.5v可能是什么原因
单片机·嵌入式硬件·系统架构·电路·跨学科融合
余衫马5 小时前
开发指南:使用 MQTTNet 库构建 .Net 物联网 MQTT 应用程序
物联网·mqtt·.net
源远流长jerry7 小时前
STM32之RTOS移植和使用
stm32·单片机·嵌入式硬件
2301_1472583697 小时前
STM32 单片机开发 - SPI 总线
单片机·嵌入式硬件
范纹杉想快点毕业14 小时前
ZYNQ PS 端 UART 接收数据数据帧(初学者友好版)嵌入式编程 C语言 c++ 软件开发
c语言·笔记·stm32·单片机·嵌入式硬件·mcu·51单片机
方圆工作室15 小时前
51单片机驱动数码管
单片机·嵌入式硬件·51单片机