# ESP32 设备对接腾讯云指南
# 目录
0. [介绍](#Introduction)
1. [硬件准备](#hardwareprepare)
2. [IDF环境搭建](#compileprepare)
3. [构建&烧录&运行工程](#makefile)
4. [调试工具](#debugtool)
5. [相关资源](#faq)
# <span id = "Introduction">0. 介绍</span>
`esp-qcloud` 是由 [乐鑫官方](https://www.espressif.com) 推出接入 [腾讯物联网开发平台 (IoT Explorer)](https://console.cloud.tencent.com/iotexplorer) 的开发套件 。该套件依据 `IoT Explorer` 通信协议而设计,相对于 [腾讯云物联 IoT C-SDK](https://github.com/tencentyun/qcloud-iot-sdk-embedded-c),该套件将云平台配置、配网操作封装成接口,简化了整体流程,只需完成简单的调用,即可完成配网、连云操作。同时,该套件提供了丰富的调试工具、示例代码、量产工具供你快速完成产品开发。
- **配网方式**
- [x] softap
- [x] airkiss
- [x] esp-touch v1
- [x] ble
- [x] provisioning softap
- [ ] esp-touch v2
- **认证方式**
- [x] 密钥认证
- [x] 证书认证
- [ ] 动态注册
- **业务功能**
- [x] 状态上报与下发
- [x] OTA升级
- [x] 事件上报
- [ ] 网关
- **调试功能**
- [x] 日志上报云平台
- [x] 日志本地存储
- [x] 串口调试
- **生产工具**
- [x] 单一/批量 bin 生成
- [ ] 加密
# <span id = "hardwareprepare">1.硬件准备</span>
- **模组**
- ESP32
- ESP32-S2
- ESP32-C3
# <span id = "compileprepare">2. IDF 环境搭建</span>
- 可以参考 [ESP-IDF编程指南-快速入门](https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html#get-started-setup-toolchain) 快速完成工具链与环境的搭建
- 构建工程之前需将 `ESP-IDF` 切换到 `release/v4.3 分支`。
```shell
cd $IDF_PATH
git checkout release/v4.3
git submodule update --init --recursive
```
# <span id = "makefile">3. 构建&烧录&运行工程</span>
0. **提取项目文件**
你可以直接在 `examples` 目录下提取文件,也可以通过将 `esp-qcloud` 作为 `git` 子模块进行开发。
1. 直接提取开发
```shell
#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` 子模块进行开发,无需在此项目中复制或编辑任何文件,可更方便的维护和更新本项目。
```shell
#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
```
1. **配置芯片**
不同的芯片会加载不同的 `sdkconfig` 默认文件,位于 [config](./config/sdkconfig_defaults) 目录下。默认的 `sdkconfig` 文件会加载 `4MB` 的 `分区表 (partitions)` 。如果芯片 `flash` <b>小于</b> `4MB` ,需要将其更改为 `2MB` 的分区表。下述几个命令将帮助你快速配置芯片。
- **查看当前芯片信息**
```shell
$IDF_PATH/components/esptool_py/esptool/esptool.py flash_id
```
- **设置编译时目标芯片**
```shell
#choose esp32
idf.py set-target esp32
#choose esp32s2
idf.py set-target esp32s2
#choose esp32c3
idf.py set-target esp32c3
```
- **更改 `Partition`**
1. **进入 `menuconfig` 配置界面**
```shell
idf.py menuconfig
```
2. **选择 `Partition Table`**
```shell
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` 文件。
2. **烧录认证信息[可选]**
当使用云平台时,你需要在 [IoT Explorer](https://console.cloud.tencent.com/iotexplorer) 获取认证信息,认证信息通常为 `产品 ID (PRODUCT_ID)` 、 `设备名称 (DEVICE_NAME) `、 `设备密钥 (DEVICE_SECRET) `,可参考 [智能灯文档](./examples/led_light/README.md) 中 `烧录认证信息` 或 [IoT Explorer 官方文档](https://cloud.tencent.com/document/product/1081/34739) 进行平台参数设置、获取。获取到认证信息时,可以选择下述任意一种方式烧录。
- **通过 `menuconfig` 配置**
1. **进入 `menuconfig` 配置界面**
```shell
idf.py menuconfig
```
2. **选择 `ESP QCloud Config` 选项**
```shell
[ ] 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) --->
```
- <b>不开启</b> `ESP QCloud Mass Manufacture` 选项。
3. **填入你的信息**
填写 `产品 ID (PRODUCT_ID) `、 `设备名称 (DEVICE_NAME) `、 `设备密钥 (DEVICE_SECRET) `。
- **通过量产工具配置**
请参考量产工具目录下的 [文档](./config/mass_mfg/README.md) ,另外需要 <b>开启</b> `ESP QCloud Mass Manufacture` 选项。
3. **构建项目**
当完成配置,下述命令将帮助快速构建。
- **构建工程**
```shell
idf.py build
```
- **清理工程**
```shell
idf.py fullclean
```
- **性能选择**
通过在编译时传递 `PERF` 定义来决定开启的性能。未指定参数时将使用 `defaults` 配置,关于性能的说明,请参考 [性能说明文档](./docs/ESP32PerformanceOptions.md)。
```shell
#high performance
idf.py menuconfig -D PERF="hight_perf"
#low performance
idf.py menuconfig -D PERF="low_perf"
```
3. **运行项目**
- **下载、运行工程**
```shell
idf.py flash monitor
```
- **擦除 Flash**
```shell
idf.py erase_flash
```
# <span id = "debugtool">4. 调试工具</span>
- **串口调试**
串口调试允许通过串口查看当前设备信息,开启方法如下:
1. **进入 `menuconfig` 配置界面**
```shell
idf.py menuconfig
```
2. **选择 `ESP QCloud Example Configuration`**
```shell
Light development board selection --->
Light provisioning network selection --->
(5) More than this number of continuous uninterrupted restarts triggers a reset of the device
[*] The device will be in debug mode
```
- <b>开启</b> `The device will be in debug mode` 选项。
3. **查看调试信息**
- 下述为 `led_light` 中的打印信息。
```
I (31091) esp_qcloud_utils: System information sta_mac: 24:6f:28:80:3f:14, channel: [10/2], rssi: -40, free_heap: 181128, minimum_heap: 161540
```
- 通过 `shell` 输入指令可查看相关信息,例如执行 `heap` 指令,将打印系统运行状态,更多指令可通过 `help` 查询。
```shell
esp32> heap
I (15360) esp_qcloud_mem: (714) <esp_qcloud_log: 159> ptr: 0x3ffbd1c4, size: 16
I (15361) esp_qcloud_mem: (716) <es
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
资源推荐
资源详情
资源评论
收起资源包目录
基于ESP32设计的物联网鱼缸管理系统.zip(毕设/课设/竞赛/实训/项目开发) (129个子文件)
app_function.c 200KB
OLEDDisplayFonts.c 103KB
OLEDDisplay.c 52KB
qrcodegen.c 45KB
esp_qcloud_iothub.c 33KB
app_main.c 27KB
light_driver.c 25KB
led_pwm.c 19KB
ds18b20.c 17KB
rotary_encoder.c 13KB
button.c 13KB
esp_qcloud_log_flash.c 13KB
ds1302.c 12KB
esp_qcloud_commands.c 12KB
esp_qcloud_ota.c 12KB
esp_qcloud_device.c 11KB
esp_qcloud_prov_tencent.c 11KB
esp_qcloud_prov_ble.c 11KB
at24c.c 8KB
esp_qcloud_mqtt.c 8KB
esp_qcloud_mem.c 6KB
esp_qcloud_console.c 6KB
esp_qcloud_log.c 6KB
led_strip_rmt_ws2812.c 6KB
esp_qcloud_reboot.c 6KB
esp_qcloud_prov_softapconfig.c 5KB
esp_qcloud_log_iothub.c 5KB
esp_qcloud_storage.c 4KB
esp_qcloud_wifi.c 4KB
esp_qcloud_prov_smartconfig.c 3KB
qrcode.c 3KB
esp_qcloud_timesync.c 3KB
esp_qcloud_utils.c 2KB
qcloud_root_cert.crt 1KB
dev_cert.crt 93B
partitions_4MB.csv 638B
partitions_2MB.csv 635B
multipule_mfg_values.csv 175B
single_mfg_config.csv 157B
multipule_mfg_config.csv 95B
sdkconfig.hight_perf.esp32 2KB
sdkconfig.low_perf.esp32 2KB
sdkconfig.defaults.esp32 1KB
sdkconfig.hight_perf.esp32c3 2KB
sdkconfig.low_perf.esp32c3 2KB
sdkconfig.defaults.esp32c3 1KB
sdkconfig.hight_perf.esp32s2 2KB
sdkconfig.defaults.esp32s2 2KB
sdkconfig.low_perf.esp32s2 2KB
.gitignore 714B
OledChineseSimpleWord.h 26KB
OLEDDisplay.h 21KB
app_function.h 18KB
esp_qcloud_iothub.h 15KB
qrcodegen.h 14KB
rotary_encoder.h 9KB
light_driver.h 9KB
button.h 7KB
led_pwm.h 6KB
esp_qcloud_mem.h 5KB
esp_qcloud_utils.h 5KB
ds1302.h 5KB
esp_qcloud_prov.h 4KB
esp_qcloud_log.h 4KB
led_strip.h 3KB
esp_qcloud_mqtt.h 3KB
ds18b20.h 3KB
esp_qcloud_storage.h 3KB
esp_qcloud_log_flash.h 2KB
esp_qcloud_prov_tencent.h 2KB
esp_qcloud_console.h 2KB
at24c.h 1KB
qrcode.h 1KB
esp_qcloud_log_iothub.h 1KB
OLEDDisplayFonts.h 300B
app_ble_01.jpg 127KB
app_softap_01.jpg 124KB
app_smartconfig_02.jpg 116KB
app_smartconfig_01.jpg 101KB
app_softap_02.jpg 80KB
app_03.jpg 72KB
app_ble_02.jpg 64KB
app_04.jpg 63KB
app_02.jpg 48KB
app_06.jpg 46KB
app_05.jpg 38KB
app_01.jpg 36KB
data_template_light.json 1KB
c_cpp_properties.json 510B
settings.json 435B
settings.json 328B
Kconfig 146B
dev_private.key 85B
LICENSE 11KB
README.md 11KB
README.md 4KB
ESP32PerformanceOptions.md 3KB
README.md 1KB
README.md 1KB
DS18B20.pdf 383KB
共 129 条
- 1
- 2
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2303
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功