# 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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
管理系统是一种通过计算机技术实现的用于组织、监控和控制各种活动的软件系统。这些系统通常被设计用来提高效率、减少错误、加强安全性,同时提供数据和信息支持。以下是一些常见类型的管理系统: 学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等。学校管理系统帮助提高学校的组织效率和信息管理水平。 人力资源管理系统(HRM): 用于处理组织内的人事信息,包括员工招聘、培训记录、薪资管理、绩效评估等。HRM系统有助于企业更有效地管理人力资源,提高员工的工作效率和满意度。 库存管理系统: 用于追踪和管理商品或原材料的库存。这种系统可以帮助企业避免库存过剩或不足的问题,提高供应链的效率。 客户关系管理系统(CRM): 用于管理与客户之间的关系,包括客户信息、沟通记录、销售机会跟踪等。CRM系统有助于企业更好地理解客户需求,提高客户满意度和保留率。 医院管理系统: 用于管理医院或医疗机构的患者信息、医生排班、药品库存等。这种系统可以提高医疗服务的质量和效率。 财务管理系统: 用于记录和管理组织的财务信息,包括会计凭证、财务报表、预算管理等。财务管理系统
资源推荐
资源详情
资源评论
收起资源包目录
ESP32物联网Oled人机交互界面鱼缸管理系统.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
资源评论
JJJ69
- 粉丝: 6222
- 资源: 5780
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功