5.2 KiB
ESP 设备对接Fastbee物联网云平台指南
目录
1.目的
本项目基于esp-aliyun SDK进行修改,介绍 ESP 设备对接Fastbee物联网云平台,阿里云平台的具体流程。 主要实现的功能:
- 支持 <Fastbee物联网云平台> 配网&接入&控制
- 支持 <云智能> APP 一键配网
- 支持 <云智能> APP 控制设备
- 支持 <天猫精灵智能音箱> 控制设备
- 支持 <天猫精灵智能音箱> 配网并控制设备
- 支持 LED 控制(开关,颜色等)
- 支持 OTA 升级
2.硬件准备
- linux 环境
用来编译 & 烧写 & 运行等操作的必须环境。
windows 用户可安装虚拟机,在虚拟机中安装 linux。
3.云平台准备
4.环境搭建
如果您熟悉 ESP 开发环境,可以很顺利理解下面步骤; 如果您不熟悉某个部分,比如编译,烧录,需要您结合官方的相关文档来理解。如您需阅读 ESP-IDF 编程指南文档等。
4.1 编译器环境搭建
toolchain 设置参考 ESP-IDF 编程指南。
4.2 烧录工具/下载工具获取
- ESP8266 平台:烧录工具位于 ESP8266_RTOS_SDK 下
./components/esptool_py/esptool/esptool.py - ESP32 & ESP32S2 平台:烧录工具位于 esp-idf 下
./components/esptool_py/esptool/esptool.py
esptool 功能参考:
$ ./components/esptool_py/esptool/esptool.py --help
5.SDK 准备
- esp-aliyun SDK, 通过该 SDK 可实现使用 MQTT 协议,连接 ESP 设备到阿里云。
- Espressif SDK
- ESP32 & ESP32S2 平台: ESP-IDF
- ESP8266 平台: ESP8266_RTOS_SDK
Espressif SDK 下载好后:
ESP-IDF: 请切换到 v4.2 分支:git checkout v4.2如果需要使用 ESP32S2 模组,请切换到 v4.2 版本:git checkout v4.2ESP8266_RTOS_SDK: 请切换到 v3.3 分支:git checkout v3.3
6.编译 & 烧写 & 运行
6.1 编译
6.1.1 导出编译器
参考 工具链的设置
6.1.2 编译 demo 示例
由于 esp32 和 esp8266 将会采用不同的 sdkconfig.defaults 和对应的 partitions.csv,在对应的 make 命令中加入了对应的芯片选项,如 chip=esp32 或 chip=esp8266。
当 chip=esp32 时将默认使用 sdkconfig_esp32.defaults 以及 partitions_esp32.csv。
当 chip=esp8266 时将默认使用 sdkconfig_esp8266.defaults 以及 partitions_esp8266.csv。
当使用 esp32s2 时,将默认使用 sdkconfig.defaults ,sdkconfig.defaults.esp32s2 以及 partitions_esp32s2.csv,编译方式与 8266 & 32 都不一样,需要使用 cmake 进行编译。
以上需要特别注意。
在 esp-aliyun 目录下执行:
cd fastbee\sdk\ESP-IDF\esp-aliyun
make chip=esp32 defconfig
make menuconfig
如果需要编译esp32s2版本, 请按照如下步骤编译:
在 esp-aliyun 目录下执行:
cd fastbee\sdk\ESP-IDF\esp-aliyun
idf.py set-target esp32s2
idf.py menuconfig
- 配置烧写串口
- 配置
WIFI_SSID,WIFI_PASSWORD
如果需要编译esp32s3版本, 请按照如下步骤编译:
在 esp-aliyun 目录下执行:
cd fastbee\sdk\ESP-IDF\esp-aliyun
idf.py set-target esp32s3
idf.py menuconfig
2.生成最终 bin
make -j8
使用 esp32s2/esp32s3 生成 bin
idf.py build
6.2 擦除 & 编译烧写 & 下载固件 & 查看 log
将 USB 线连接好 ESP 设备和 PC,确保烧写端口正确。
6.2.1[可选] 擦除 flash
make erase_flash
注:无需每次擦除,擦除后需要重做 6.2.3。
6.2.2 烧录程序
make flash
使用 esp32s2/esp32s3 擦除 flash
idf.py -p (PORT) erase_flash
6.2.3 烧录三元组信息
参考 量产说明 文档烧录三元组 NVS 分区。
6.2.4 运行
make monitor
也可执行
make flash monitor来编译烧写和查看 log。