码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • ESP32 AT指令模式连接百度云天工物接入


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

    文章目录

    • ESP32 AT指令模式连接百度云天工物接入
      • 1. 前言
      • 2. 芯片介绍及资料说明
      • 3. 连接云平台
        • 3.1 下载AT固件
        • 3.2 AT指令测试
      • 3.3 连接网络
      • 3.4 配置云平台
      • 3.5 配置MQTT连接云平台
        • 3.5.1 MQTT.fx 连接云平台
        • 3.5.2 ESP32 连接云平台
      • 4. 补充说明

    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”>,,1

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

    4. 订阅主题

      AT+MQTTSUB=,,

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

    5. 往主题发送数据

      AT+MQTTPUB=,<“topic”>,<“data”>,,

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

    4. 补充说明

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

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

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

    ​

    ​

  • 相关阅读:
    ADS Circuit Design Cookbook
    【HCIE】跨域MPLS-VPN Option C 方式一
    VMware上安装Centos7
    SLAM从入门到精通(lidar数据的采集)
    ElementUI的Form表单使用slot-scope=“scope“获取当前表格行数据实现数据回显、修改表单操作
    数据库幻读的理解
    .net core 上传文件大小限制
    最新堆叠查询注入攻击和注入代码分析技术
    linux学习实操计划0102-查看系统配置和版本
    第二章 关系数据库
  • 原文地址:https://blog.csdn.net/qq_43332314/article/details/127040499
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号