【阿里云物联网】ESP01+阿里云

前言

  本文分成两个部分的配置介绍讲解:阿里云配置ESP01配置。至于像STM32单片机之类的连接,只要阿里云与ESP01的通道打通后,STM32无非就是在与ESP01进行串口收发指令与信息,这个有时间的话会在写的。本文的目的主要还是能达到阿里云能与ESP01通信的效果。

准备材料

  • 阿里云账号

  • 正点原子的串口终端

  • ESP01+配套串口转接器

    在这里插入图片描述

    没有配套的转接器的话,也可以用ESP01和USB转串口模块接线在连接电脑,本质上都是同样的。

阿里云配置

既然要使用阿里云,那么肯定需要有阿里云账号之类的,这种默认需要的就不讲了,默认都是有阿里云账号且登录的。阿里云官网

  1. 首页搜索,找到物联网平台控制台入口。第一次开启物联平台是要选择同意开启的。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  2. 第一次开启公共实例也是要选择同意。目前新版的是不计费,不现时,限制数量用于测试用的。(这里我已经开启过了,并且也进行过一些测试了,不然刚创建肯定是0的)

    在这里插入图片描述

  3. 点击设备接入,添加设备。在新建产品处,设置号名称,在设置为自定义品类后,确定就好。标准品种中,有着针对品种设备提取定义好的属性,大家感兴趣的可以在自行查看。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  4. 步骤3只是创建好了产品,创建完后,还要在产品中添加设备。(侧边栏,或者直接在产品后面,都能跳转到设备页面)

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  5. 完成设备添加后,就可以点击设备,查看连接进行MQTT的关键信息。图中还有设备的DeviceName,在建立链接时需要到,具体看到步骤6。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    当阿里云配置完成后,就能拿到MQTT的连接参数

    在这里插入图片描述

    图中的关键参数,clientldusernamepasswdmqttHostUrlport,在下述客户端进行AT连接时会用到。

  6. 上述步骤1~5完成了产品,设备的创建及得到MQTT连接参数。但是关于MQTT的主题订阅以及发布,这个是还要创建授权的,非授权的主题交互请求将会被平台处理为无效请求。回退到产品界面,点击查看,在点击Topic 类列表,选择自定义Topic,这里就给出了给产品下的设备能对指定主题进行的发布/订阅的权限。还有需要注意的是,假如要链接主题/k0yo34u8Cim/${deviceName}/user/main,不是直接这个地址就行了,而是要把${deviceName}替换成该产品下设备的名称。比如我们刚才在Demo下创建了一个ESP01,所以说名称就为:ESP01(在设备属性那里也可以查看deviceName,比如步骤5的截图中就有),则链接地址则为:/k0yo34u8Cim/ESP01/user/main

    在这里插入图片描述

    在这里插入图片描述

上述的阿里云配置步骤不需要百分百同样,只需要完成相关配置就行,达到配置功能就可以了。

ESP01配置

刷MQTT透传AT固件

不在过多展开描述烧录流程了,有相关的链接教程,大家头一次使用可以去参考参考,玩过的想必都知道烧录流程了,就不过多啰嗦了。

MQTT固件地址:安信可科技

在这里插入图片描述

AT固件烧录工具及步骤:AT固件烧录教程

AT指令配置及验证

在串口终端发送指令给ESP01S,通常响应或者提交正确都会回复 OK ,错误或者提交错误都会回复 ERROR ,在下面就不在过多重复。还有下面的参数只是简单的描述命令的作用,详细的可以查看乐鑫官网的AT 命令集

我会根据我上述配好的阿里云的配置来,在每个命令的后面都给出示例。

步骤1~8是对ESP01(客户端)的配置方面的。步骤9~10就是MQTT常见的 订阅 , 发布 主题的功能了。

  1. ESP01S复位

    AT+RST
    
  2. 恢复出厂设置

    AT+RESTORE
    
  3. 设置工作模式为Station(STA)模式

    AT+CWMODE=1
    
  4. 使得自身的NTP(网络时间协议)和阿里云的公共NTP服务器地址时间保持同步

    AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
    
  5. 连接到指定的无线网络(Wi-Fi)

    AT+CWJAP="Wi-Fi名称","Wi-Fi密码" 
    
  6. 配置MQTT客户端的用户参数

    AT+MQTTUSERCFG=0,1,"NULL","username","password",0,0,""
    
    // 示例:
    // AT+MQTTUSERCFG=0,1,"NULL","ESP01&k0yo34u8Cim","da98f76bc407767677ce894df36426677c131a01e25f86606fc8dc1f227d9bb8",0,0,""
    
  7. 设置MQTT客户端的Client ID

    每个逗号前加 \ ,格式化字符输出,否则会被认为是普通的参数分隔符。

    AT+MQTTCLIENTID=0,"ClienID"
    
    // 示例:
    // AT+MQTTCLIENTID=0,"k0yo34u8Cim.ESP01|securemode=2\,signmethod=hmacsha256\,timestamp=1711004092669|"
    
  8. 建立与MQTT服务器的连接

    AT+MQTTCONN=0,"mqttHostUrl",1883,1
    
    // 示例:
    // AT+MQTTCONN=0,"iot-06z00a0w2xecf60.mqtt.iothub.aliyuncs.com",1883,1
    
  9. 订阅指定的MQTT主题

    注意了主题(topic),在阿里云产品中,得到的通常给出的是这种地址/k0yo34u8Cim/${deviceName}/user/main需要把,${deviceName}替换成设备的名称,假如设备名称为ESP01,完整的则像这样的/k0yo34u8Cim/ESP01/user/main

    AT+MQTTSUB=0,"订阅topic",1
    
    // 示例:
    // AT+MQTTSUB=0,"/k0yo34u8Cim/ESP01/user/main",1
    
  10. 发布消息到指定的MQTT主题

    AT+MQTTPUB=0,"发布topic","AJson格式内容",1,0
    
    // 示例:
    // AT+MQTTSUB=0,"/k0yo34u8Cim/ESP01/user/main","{LED}",1,0
    

串口终端,上述命令的全部演示,可以看到正常情况下,都是OK的。有几个要注意的地方就是,像串口,波特率等要选对,还有要勾上发送新行,每一个AT指令是什么就输入什么,千万不要在后面多一个空格之类的。

在这里插入图片描述

效果演示,对已经连接上的客户端设备,阿里云发送消息给ESP01客户端。

在这里插入图片描述

在这里插入图片描述

工程材料

MQTT透传AT固件+串口调试助手+导出串口调试导出的AT指令(.ini)

链接:https://pan.baidu.com/s/1tQ4WtzTNYUiMBHI_lIjoPA  提取码:3aoz

  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值