ESP32 AT指令模式连接百度云天工物接入

ESP32 AT指令模式连接百度云天工物接入

1. 前言

​ ESP32是乐鑫公司的一款 WiFi+蓝牙双模组,通过使用ESP32可以轻松快速的将设备接入物联网云平台。

​ ESP32模组支持 IDF 开发和 AT 指令开发两种方式。

IDF开发,也即直接片上编程进行二次开发,这种方式开发和普通的MCU开发十分相似,底层基于FreeRTOS实时操作系统+LwIP协议栈;
AT指令开发,这种方式开发更加简单,官方提供了一个AT指令固件,将此固件烧录在ESP32中,即可通过串口控制ESP32完成一系列的配网联网功能,不用管内部细节如何实现。

​ 本文主要讲解如何采用AT指令的模式快速实现连接百度云平台,将设备接入物联网,其他云平台相差也不大,亦可作为参考。

2. 芯片介绍及资料说明

本文采用的芯片是 ESP32-WROOM-32UE,基于 ESP32-DevKitC 开发板。

关于芯片选型可以参考:https://products.espressif.com/#/product-selector?language=zh&names=

芯片资料可以参考:https://www.espressif.com.cn/zh-hans/support/documents/technical-documents

ESP32-DevKitC开发板资料:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/hw-reference/esp32/get-started-devkitc.html

关于ESP32-DevKitC开发板,最重要的是这张图:(注意:根据esp32-wroom-32e_esp32-wroom-32ue_datasheet_cn.pdf 手册上说明,最新的ESP32-WROOM-32UE芯片D0 D1 D2 D3 CMD SCK 引脚实际上是没有接出来的)ESP32-DevKitC 管脚布局(点击放大)

ESP32 IDF开发指南参考:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html#id2

ESP32 AT指令开发指南参考:https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32/Get_Started/What_is_ESP-AT.html

综上,可以看出其实ESP32在文档这块的资料做的还是十分充分的,这也是国内各大芯片厂商所值得学习的一个方面。

3. 连接云平台

3.1 下载AT固件

  1. 下载烧录软件:(Flash下载工具 Windows)https://www.espressif.com.cn/zh-hans/support/download/other-tools

  2. 下载AT固件包:https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32/AT_Binary_Lists/ESP32_AT_binaries.html

  3. 硬件连接:https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32/Get_Started/Hardware_connection.html

    • 由于我们这里采用是 ESP32-WROOM-32UE,因此参考 ESP32-WROOM 系列硬件连接ESP32-WROVER 系列硬件连接示意图
    • 注意下载串口和AT指令控制串口为不同的串口
  4. 下载指导说明:https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32/Get_Started/Downloading_guide.html#at
    在这里插入图片描述

3.2 AT指令测试

采用AT指令的串口进行AT指令测试,注意AT指令的串口与下载所使用的串口不一致

  • 发送:

    AT

  • 回复:

    OK

说明测试OK,AT固件烧录成功,发送的时候注意勾选**“发送新行”**,esp32通过检测 \r\n 作为指令结束

在这里插入图片描述

3.3 连接网络

连接网络采用SmartConfig对ESP32模组进行智能配网,当然也可以直接将 WiFi 名和 WiFi 密码发送给ESP32进行指定连接,但是在实际产品中,每个客户的网络均不一样,因此采用智能配网的模式更加通用。

WiFi指令集参考:https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32/AT_Command_Set/Wi-Fi_AT_Commands.html#at-cwjap-ap

SmartConfig 手机客户端(ESP-TOUCH for Android or IOS):https://www.espressif.com.cn/zh-hans/support/download/apps

SmartConfig 相关资料:https://www.espressif.com.cn/zh-hans/support/documents/technical-documents?keys=ESP-TOUCH

  1. 设置 WiFi 模式为 Station 模式,指令:

    AT+CWMODE=1

    在这里插入图片描述

  2. 开启SmartConfig进行配网(可调用 AT+CWSTOPSMART 停止 SmartConfig,然后再执行其他命令。注意,在 SmartConfig 过程中请勿执行其他命令),指令:

    AT+CWSTARTSMART

    在这里插入图片描述

  3. 手机连接对应 WiFi,打开对应的配网APK,进行配网(注意ESP32只能连接到2.4G网络上,无法连接到5G网络),连接成功之后,串口上会有连接信息确认
    在这里插入图片描述

  4. 配网完成,关闭SmartConfig

    AT+CWSTOPSMART

    在这里插入图片描述

  5. 查询WiFi连接状态和WiFi信息

    AT+CWSTATE?

    在这里插入图片描述

  6. 查询Station模式IP信息

    AT+CIPSTA?

    在这里插入图片描述

  7. 通过SNTP获取网络时间
    设置SNTP服务器

    AT+CIPSNTPCFG=1,8,“pool.ntp.org”

    获取实时时间

    AT+CIPSNTPTIME?

    在这里插入图片描述

3.4 配置云平台

  1. 登录百度云服务器平台
  2. 进入物联网核心套件IOT Core
    在这里插入图片描述
  3. 在百度云物联网核心套件创建实例,创建设备等操作,具体有关这块怎么实现,云平台均有详细的文档说明,根据对应的文档实现即可,以百度云平台为例,可以参考:https://cloud.baidu.com/doc/IoTCore/s/pk7ophcd8,创建完之后如下图所示:在这里插入图片描述在这里插入图片描述在这里插入图片描述

3.5 配置MQTT连接云平台

3.5.1 MQTT.fx 连接云平台

  1. 首先采用 MQTT.fx 上位机软件进行对云平台进行测试,关于MQTT.fx软件的下载可以自行上网搜索在这里插入图片描述

  2. 根据云平台的数据,获取以下几个重要连接信息

    • Broker 地址
    • MQTT 用户名
    • MQTT 密码

    关于此数据的构成,每个云平台都不一样,但是每个云平台的文档说明中均有详细描述,以百度云为例,打开对应设备,查看有关信息,之后通过在线生成器生成上述关键信息,在线生产器链接地址:在线生产器在这里插入图片描述在这里插入图片描述

  3. 采用上述信息,使用MQTT.fx软件接入云平台在这里插入图片描述在这里插入图片描述

  4. 订阅主题测试
    在这里插入图片描述
    在这里插入图片描述

  5. 往主题发布消息,测试能否接收
    在这里插入图片描述在这里插入图片描述

3.5.2 ESP32 连接云平台

  1. 采用3.5.1章节同样的方式,将云端的ESP32所对应的设备,通过在线生产器 工具,计算对应的连接信息在这里插入图片描述在这里插入图片描述

  2. 设置MQTT用户属性

    AT+MQTTUSERCFG=0,1,“esp32_dev1”,“mqtt_name”,“mqtt_password”,0,0,“”

    上述指令内有关信息需要根据自己的设备信息进行修改,关于指令格式可以参考:配置 MQTT 用户属性
    在这里插入图片描述

  3. 连接 MQTT Broker

    AT+MQTTCONN=0,<“host”>,<port>,1

    上述指令内有关信息需要根据自己的设备信息进行修改,关于指令格式可以参考:连接 MQTT Broker
    在这里插入图片描述

  4. 订阅主题

    AT+MQTTSUB=<LinkID>,<topic">,<qos>

    上述指令内有关信息需要根据自己的设备信息进行修改,关于指令格式可以参考:订阅 MQTT Topi,注意这里订阅的主题需要是你在云端已经配置好的主题,否则会失败,这里我们订阅主题名为 iot/esp32_dev1/user/test
    在这里插入图片描述

  5. 往主题发送数据

    AT+MQTTPUB=<LinkID>,<“topic”>,<“data”>,<qos>,<retain>

    上述指令内有关信息需要根据自己的设备信息进行修改,关于指令格式可以参考:发布 MQTT 消息(字符串)
    在这里插入图片描述

4. 补充说明

如果需要完成多个设备之间的通讯,多个设备可以订阅相同的主题,当然这些设备需要在一个实例下面,我们可以自己创建一个主题,由于我们的上位机 Mqtt.fx 和ESP32两个云端的设备都有这个主题,因此可以通过此主题实现上位机 Mqtt.fx 和ESP32的通讯,当然还可以使用规则引擎通过云端完成数据的转发等处理,以及在上述中我们往iot/esp32_dev1/user/test 主题发布一条消息,结果收到了两条消息,这都是于云平台有一定关系的,不同的云平台大体上相差不多,但是细节上有些许差异,大家可以通过查阅对应的平台文档进行查看,此外,遇到问题,还可以通过提交工单的方式,后台会有技术人员进行解决。

以上便是关于如何使用ESP32 AT指令的方式如何接入云平台了,希望本文章能真正帮助到有需要的人,在此过程中你可能遇到各种奇怪的问题,发挥你的主观能动性,通过各种方法总能找到解决方案,加油!

创作不易,转发请注明出处,点赞收藏+关注,找我不迷路!

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
### 回答1: 你好,关于esp8266接入云端AT指令的问题,我可以回答。首先,你需要将esp8266连接到Wi-Fi网络,然后使用AT指令将其连接到云端。具体的步骤可以参考esp8266的官方文档或者相关的教程。希望我的回答能够帮到你。 ### 回答2: ESP8266是一款Wi-Fi模块,使用AT指令可以实现将其接入云端。 首先,我们需要提前配置好ESP8266的Wi-Fi连接信息,包括SSID和密码。通过AT指令可以设置和查询这些信息。 其次,我们需要将ESP8266与云平台建立连接。这可以通过连接到云服务器的IP地址和端口号的方式实现。我们可以使用AT指令“AT+CIPSTART”来建立TCP连接,设置好云平台的IP和端口号。 然后,我们可以使用AT指令发送数据到云端。可以使用AT指令“AT+CIPSEND”来发送数据,先设置数据长度,然后通过“AT+CIPSEND”指令将数据发送出去。 另外,如果想要实现云端主动向ESP8266发送数据,则可以通过AT指令“AT+CIPMODE”将模块设置为透明传输模式。在透明传输模式下,云端可以将数据直接发送给ESP8266,ESP8266再将其转发给连接到它的设备。 最后,为了保证连接的稳定和可靠,我们可以设置一个心跳机制来监测与云端的连接状态。可以使用AT指令“AT+CIPSTO”来设置超时时间,当超过一定时间没有数据传输时,可以自动关闭连接。 总结起来,使用AT指令可以实现ESP8266接入云端。通过配置Wi-Fi连接信息、建立TCP连接、发送数据、设置透明传输模式以及设置心跳机制,可以实现ESP8266与云平台的稳定通信。 ### 回答3: ESP8266是一款广泛应用于联网行业的无线模块,能够通过Wi-Fi接入互联网。为了实现ESP8266与云端的连接,可以使用AT指令集。 首先,需要在ESP8266中加载适当的固件。这些固件包含了需要执行的AT指令。通常,固件的制造商会提供相应的固件文件,我们只需将其烧录到ESP8266模块中。 接下来,我们需要确保ESP8266能够与云服务器通信。我们需要知道云服务器的IP地址和端口号。然后,我们可以使用AT+CIPSTART指令建立与云服务器的TCP连接。该指令需要提供云服务器的IP地址和端口号。 连接建立后,我们可以使用AT+CIPSEND指令发送数据给云服务器。我们可以使用该指令将数据打包成适当的格式,并发送给云服务器。在发送前,我们需要使用AT+CIPSEND指令设置数据的长度。 云服务器接收到数据后,可以做相应的处理,并向ESP8266发送响应。ESP8266可以使用AT+CIPRECVDATA指令接收云服务器返回的数据。 最后,我们可以使用AT+CIPCLOSE指令关闭与云服务器的连接。这样,我们就完成了ESP8266与云端的连接。 需要注意的是,具体的AT指令集可能会因不同的ESP8266版本而有所不同。因此,在实际操作中,我们需查阅相关文档以确保正确地使用相应的指令。 总之,通过使用AT指令集,我们可以实现ESP8266与云端的连接,将数据发送到云服务器并接收云服务器的响应。这为联网应用提供了一种可行的解决方案。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱出名的狗腿子

你的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值