espressif / esp-qcloud

基于 ESP-IDF 原生开发接入腾讯 IoT Explorer,支持 ESP32/ESP32S2,快速实现腾讯连连控制。
Apache License 2.0
68 stars 34 forks source link
cloud

ESP32 设备对接腾讯云指南

目录

  1. 介绍
  2. 硬件准备
  3. IDF环境搭建
  4. 构建&烧录&运行工程
  5. 调试工具
  6. 相关资源

0. 介绍

esp-qcloud 是由 乐鑫官方 推出接入 腾讯物联网开发平台 (IoT Explorer) 的开发套件 。该套件依据 IoT Explorer 通信协议而设计,相对于 腾讯云物联 IoT C-SDK,该套件将云平台配置、配网操作封装成接口,简化了整体流程,只需完成简单的调用,即可完成配网、连云操作。同时,该套件提供了丰富的调试工具、示例代码、量产工具供你快速完成产品开发。

当前 IDF 支持情况如下表:

ESP-IDF
Release/v3.3
ESP-IDF
Release/v4.0
ESP-IDF
Release/v4.1
ESP-IDF
Release/v4.2
ESP-IDF
Release/v4.3
ESP-IDF
Release/v4.4
ESP-IDF
Master
esp-qcloud
Master

1.硬件准备

2. IDF 环境搭建

3. 构建&烧录&运行工程

  1. 提取项目文件

    你可以直接在 examples 目录下提取文件,也可以通过将 esp-qcloud 作为 git 子模块进行开发。

    1. 直接提取开发

      #Copy example
      cp -r ./examples/led_light ./examples/my_project
      
      #Delete unnecessary files
      cd ./examples/my_project
      idf.py fullclean
    2. 通过 git 管理开发

      esp-qcloud 作为 git 子模块进行开发,无需在此项目中复制或编辑任何文件,可更方便的维护和更新本项目。

      #Copy example
      cp -r ./examples/led_light ~/my_project
      cd ~/my_project
      
      #Register submodule
      git init
      mkdir -p components
      
      #Choice 1
      git submodule add https://github.com/espressif/esp-qcloud.git components/qcloud
      #Choice 2
      git submodule add https://gitee.com/espressifsystems/esp-qcloud.git components/qcloud
      
      #Delete unnecessary files
      idf.py fullclean
  2. 配置芯片

    不同的芯片会加载不同的 sdkconfig 默认文件,位于 config 目录下。默认的 sdkconfig 文件会加载 4MB分区表 (partitions) 。如果芯片 flash 小于 4MB ,需要将其更改为 2MB 的分区表。下述几个命令将帮助你快速配置芯片。

    • 查看当前芯片信息

      $IDF_PATH/components/esptool_py/esptool/esptool.py flash_id
    • 设置编译时目标芯片

      #choose esp32
      idf.py set-target esp32 
      
      #choose esp32s2
      idf.py set-target esp32s2
      
      #choose esp32c3
      idf.py set-target esp32c3
    • 更改 Partition

      1. 进入 menuconfig 配置界面

        idf.py menuconfig
      2. 选择 Partition Table

        Partition Table (Custom partition table CSV)  --->
        (${QCLOUD_PATH}/config/partition_table/partitions_4MB.csv) Custom partition CSV file
        (0xc000) Offset of partition table
        [*] Generate an MD5 checksum for the partition table
        • Custom partition CSV file 中即可编辑 CSV 文件。
  3. 烧录认证信息[可选]

    当使用云平台时,你需要在 IoT Explorer 获取认证信息,认证信息通常为 产品 ID (PRODUCT_ID)设备名称 (DEVICE_NAME)设备密钥 (DEVICE_SECRET),可参考 智能灯文档烧录认证信息IoT Explorer 官方文档 进行平台参数设置、获取。获取到认证信息时,可以选择下述任意一种方式烧录。

    • 通过 menuconfig 配置

      1. 进入 menuconfig 配置界面

        idf.py menuconfig
      2. 选择 ESP QCloud Config 选项

        [ ] ESP QCloud Mass Manufacture
        (PRODUCT_ID) Product ID
        (DEVICE_NAME) Device Name
        (DEVICE_SECRET) Device Secret
        ESP QCloud OTA Config  --->
        ESP QCloud utils  --->
        ESP QCloud Log Config  --->
        UART for console input (UART0)  --->
        • 不开启 ESP QCloud Mass Manufacture 选项。
      3. 填入你的信息

        填写 产品 ID (PRODUCT_ID)设备名称 (DEVICE_NAME)设备密钥 (DEVICE_SECRET)

    • 通过量产工具配置

      请参考量产工具目录下的 文档 ,另外需要 开启 ESP QCloud Mass Manufacture 选项。

  4. 构建项目

    当完成配置,下述命令将帮助快速构建。

    • 构建工程
    idf.py build
    • 清理工程
    idf.py fullclean
    • 性能选择

      通过在编译时传递 PERF 定义来决定开启的性能。未指定参数时将使用 defaults 配置,关于性能的说明,请参考 性能说明文档

    #high performance
    idf.py menuconfig -D PERF="hight_perf"
    
    #low performance
    idf.py menuconfig -D PERF="low_perf"
  5. 运行项目

    • 下载、运行工程
    idf.py flash monitor
    • 擦除 Flash
    idf.py erase_flash

4. 调试工具

5. 相关资源