ESP01的AT指令连接到阿里云平台

        物联网平台提供安全可靠的设备连接通信能力,支持设备数据采集上云,规则引擎流转数据和云端数据下发设备端。此外,也提供方便快捷的设备管理能力,支持物模型定义,数据结构化存储,和远程调试、监控、运维。总之,阿里云物联网平台是一个非常强大的物联网平台,该平台集成了一些非常先进的物联网技术,可以为物联网开发节省大量的人力物力,我们只需要遵循阿里云平台的规则就可以轻松实现物联网。

        ESP01可以使用AT指令连接到阿里云平台,实现订阅topic,发布数据到topic,我们只需要安装好安信可的AT固件便可以实现联网,仅仅需要几个AT指令,非常方便。

一、安装安信可AT固件

        

 1、首先我们需要从安信可官网获取烧入软件

地址如下:

开发工具清单 | 安信可科技 (ai-thinker.com)

选择烧入工具 ESP_DOWNLOAD_TOOL,进行下载

2、获取烧入的固件包

地址如下:

AT固件汇总 | 安信可科技

选择MQTT透传AT固件

 3、烧入工具

       在windows环境下,双击这个exe文件就可以运行 

4、解压固件包

        解压固件包,可以得到一个bin文件,如下:

5、连接下载器

        本次使用了ESP01专属下载器,CH340驱动,所以只需将esp01插在上面即可,如下图:

6、双击 flash_download_tool_3.9.2.exe 进入界面

7、选择烧入的bin固件,并加上烧写地址0x00000,如下:

8、点击START进行下载,如下:

9、等待进度条完成,按下STOP,烧入完成

7、烧入完成

        烧入完成打开串口助手,按下复位按键,可以看到如下:

       发送AT加新行,如果出现 ok,表示烧入成功,波特率选择115200:

二、注册并进入阿里云平台

1、首先点击产品进入物联网平台

2、进入管理控制台

创建一个叫做test的工程

创建一个叫做test的设备

3、查看MQTT信息,记住如下信息,连接的时候需要用到

三、发送AT指令

        下面是我总结的一套完整的AT指令连接阿里云的指令集,参考上面所取得的MQTT连接参数,如下:

//重置
AT+RST

设置为Station模式
AT+CWMODE=1

//设置网址
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"

//设置WIFI名,密码
AT+CWJAP="WIFI名","密码"

//设置用户名、密码
AT+MQTTUSERCFG=0,1,"NULL","username","passwd",0,0,""

//设置 CLIENTID
AT+MQTTCLIENTID=0,"clientId"

//连接MQTT
AT+MQTTCONN=0,"mqttHostUrl",1883,1

//关闭连接
AT+MQTTCLEAN=0

四、发送完上述除了关闭指令后所有指令后,已经连接到了阿里云,如图:

### ESP8266 使用 AT 指令连接阿里云 IoT 平台的方法 为了实现 ESP8266 通过 AT 指令连接到阿里云 IoT 平台,需完成以下几个核心部分的操作: #### 1. **准备工作** 设备需要具备支持 MQTT 协议的固件版本。通常情况下,ESP8266 的模块(如 ESP-01S)可以通过升级至带有 MQTT 支持功能的固件来满足需求[^2]。 #### 2. **硬件连接** 确保 ESP8266 模块与开发板或其他微控制器之间建立稳定的 UART 接口通信。具体来说,TXD 和 RXD 引脚应分别对应于主机的 RXD 和 TXD 引脚,并设置合适的波特率(默认为 `9600` 或其他指定速率)。此外,还需提供足够的电源供应以保障稳定运行。 #### 3. **配置网络环境** 使用如下命令使能 Wi-Fi 功能并将设备接入目标无线局域网: ```plaintext AT+CWMODE=1 // 设置Wi-Fi模式为Station(客户端) AT+CWJAP="SSID","PASSWORD" // 输入路由器名称及密码进行连接尝试 ``` #### 4. **初始化 MQTT 客户端参数** 依据阿里云物联网平台分配给用户的三元组信息(ProductKey、DeviceName 和 DeviceSecret),构建用于身份验证的数据包并通过相应指令传递过去。例如: ```plaintext AT+MQTTCFGSTART // 开始配置mqtt参数 AT+MQTTHOST=<host>,<port> // 如:"iot-as-mqtt.cn-shanghai.aliyuncs.com",1883 AT+MQTTUSERCFG=0,1,"<productkey>.<devicename>", "<devicepassword>" ,"<clientId>" // clientId可以自定义或者留空由模组随机生成 AT+MQTTCFGEND // 结束配置过程 ``` 上述操作中的 `<host>` 应替换为目标区域对应的域名地址;而 `<productkey>` 则来源于创建产品时所获得唯一标识符[^1]。 #### 5. **启动 MQTT 连接和服务监听** 执行以下语句正式发起握手请求以及开启消息接收通道: ```plaintext AT+MQTTCONN=0 // 建立第0号会话链接 AT+MQTTSUB=0,"/a/<productkey>/<devicename>/user/get",1 // 订阅主题路径样例 ``` 这里需要注意的是实际应用过程中可能涉及多级目录结构,请参照官方文档调整匹配规则。 #### 6. **发送和处理数据** 当成功订阅某个特定 Topic 后即可利用下面这条命令向其推送更新通知: ```plaintext AT+MQTTPUB=0,"/a/<productkey>/<devicename>/user/update","hello world!",1 ``` 与此同时也要持续监测是否有新的反馈到达以便及时响应业务逻辑变化。 --- ### 示例代码片段展示 以下是基于以上描述的一个简单流程演示: ```python import serial ser = serial.Serial('COMX', 9600) # 替换为您的串口号 commands = [ 'AT+CWMODE=1', f'AT+CWJAP="{ssid}","{password}"', 'AT+MQTTCFGSTART', 'AT+MQTTHOST="iot-as-mqtt.cn-shanghai.aliyuncs.com",1883', f'AT+MQTTUSERCFG=0,1,"{product_key}.{device_name}", "{device_secret}" ,"ClientId"', 'AT+MQTTCFGEND', 'AT+MQTTCONN=0', f'AT+MQTTSUB=0,"/a/{product_key}/{device_name}/user/get",1' ] for cmd in commands: ser.write((cmd+'\r\n').encode()) response = ser.readline().decode() print(response) # 发布一条测试消息 publish_cmd = f'AT+MQTTPUB=0,"/a/{product_key}/{device_name}/user/update","Test Message",1' ser.write((publish_cmd+'\r\n').encode()) print(ser.readline().decode()) ser.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值