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

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

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

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

下载好ssCom串口调试工具

一、三元素连接方式
 

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、

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

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

三、串口调试常见返回值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进制转换 | 在线工具

### 使用ESP8266 AT指令连接阿里云IoT平台 为了使ESP8266通过AT指令成功连接阿里云IoT平台,需遵循一系列特定配置流程。这包括但不限于设备注册、获取必要的认证信息(ProductKey, DeviceName 和 DeviceSecret)、准备支持MQTT协议通信的固件以及执行相应的初始化和连接命令。 #### 设备准备工作 确保已从阿里云控制台创建好产品与设备实例,并记录下分配给该设备的身份三元组(ProductKey, DeviceName 和 DeviceSecret)[^1]。这些数据将在后续用于构建安全连接所需的身份验证字符串。 #### 下载并安装兼容固件 访问官方资源页面下载适用于ESP8266模块且集成了AliOS Things系统的最新版本MQTT固件文件。完成下载后按照说明文档指引利用工具如ESPTOOL将此固件刷入目标硬件中。 #### 建立物理链接 使用USB转UART桥接器把电脑同ESP8266开发板相联结;注意确认跳线帽设置正确无误以便于调整工作模式为Flash/编程状态或正常运行模式。同时也要保证网络环境稳定可靠以利于无线通讯操作顺利开展。 #### 发送初始化序列 借助串口调试软件向ESP8266发送如下所示的基础设定命令来启动Wi-Fi功能并与指定路由器建立关联: ```plaintext AT+CWMODE=1 // 设置WiFi模式为Station(客户端) AT+CWJAP="SSID","PWD"// 输入实际使用的Wi-Fi名称及密码尝试加入现有局域网内 ``` 一旦上述过程顺利完成,则可以继续推进下一步骤即激活MQTT服务端口监听等待来自云端的消息推送请求到来之前先主动发起一次握手动作从而正式开启双向交互会话机制。 #### 构造身份验证参数 基于先前取得的产品密钥等资料拼凑成符合标准格式要求的身份令牌作为登录凭证提交上去供服务器校验真伪合法性: ```plaintext AT+ALICLOUD_CONN=0,"productKey","deviceName","deviceSecret" ``` 这里`0`代表采用TLS加密传输方式保障信息安全;而后面三个字段则依次对应着各自所属项目的唯一标识符组合而成的一套固定表达形式用来证明当前在线实体的真实性和归属关系。 #### 订阅主题&发布消息 当建立起稳固可靠的TCP/IP链路之后就可以着手处理具体的业务逻辑层面的任务了比如订阅感兴趣的话题类别或是向外广播自定义事件通知等等均可以通过调用下面这两条语句轻松搞定: ```plaintext AT+ALICLOUD_SUB="topic",qos // qos取值范围通常设为0~2之间表示服务质量等级高低不同 AT+ALICLOUD_PUB="topic",len,data // len指明待发送的数据长度data则是具体内容本身 ``` 以上就是整个过程中涉及到的关键环节概述希望能够帮助读者朋友们快速掌握这项技能点进而更好地服务于智能家居控制系统或其他物联网应用场景当中去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值