本方案演示了如何通过乐鑫 ESP32-S3 Korvo-2 V3 开发板和移动端应用模拟一个典型的视频呼叫场景,可以演示设备按呼叫键呼叫移动端应用,移动端接听;或移动端应用实时查看设备的摄像头画面。
参考以下步骤,使用声网提供的预编译设备端固件与客户端应用构建视频门铃场景。
你需要根据以下内容准备开发环境。
硬件环境
软件环境
将 示例项目 仓库克隆到本地。
git clone git@github.com:AgoraIO-Community/ag-iot-device-demo-esp32
在电脑上安装以下软件:
cd $IDF_PATH
git checkout release/v4.4
git pull
git submodule update --init --recursive
cd $IDF_PATH
git apply $ADF_PATH/idf_patches/idf_v4.4_freertos.patch
你可以直接下载本方案预编译的固件,配合从灵隼物联网平台应用配置页面扫码获取的 Android 和 iOS 客户端 Demo,验证门铃场景效果。
对于 Linux 操作系统,你需要运行以下命令:
esptool.py --chip esp32s3 \
--port PORT—baud 921600 \
--before default_reset \
--after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect \
0x0 ./firmware/bootloader.bin \
0x8000 ./firmware/partition-table.bin \
0x10000 ./firmware/ag_videodoorbell_esp32.bin
从灵隼物联网平台应用配置页面扫码获取 Android 和 iOS Demo。
"Agora: Press [REC] key to ring the doorbell ..."
。"Agora: Press [REC] key to ring the doorbell ..."
。参考以下步骤,使用你自行编译的设备端固件与客户端示例项目构建自定义视频门铃场景。
详见开通并配置声网灵隼服务。
设备端 SDK 通过 License 对设备鉴权。License 与设备绑定,一个 License 在同一时间只能绑定一个设备。
声网为每位开发者发放 10 个有效期 6 个月的免费测试 License,你需要联系 sales@agora.io 申请免费 License,或直接购买商业 License。
你可以使用自定义参数配置示例项目。
在项目源码中,修改 main/app_config.h
中的以下参数。参考开通并配置声网灵隼物联网服务从声网灵隼控制台的应用配置>>开发者选项页面获取所需参数。
// 声网灵隼控制台的应用配置>>开发者选项中的 App ID
#define CONFIG_AGORA_APP_ID "4b31f****************************3037"
// 声网灵隼控制台的应用配置>>开发者选项中的 RESTful API Customer ID
#define CONFIG_CUSTOMER_KEY "8620f******************************7363"
// 声网灵隼控制台的应用配置>>开发者选项中的 RESTful API Customer Secret
#define CONFIG_CUSTOMER_SECRET "492c1****************************e802"
// 用户名。你需要自行设置。
#define CONFIG_USER_ID "6875*********3440"
// 设备 ID。你需要自行设置。
#define CONFIG_DEVICE_ID "mydoorbell"
// 声网灵隼控制台的应用配置>>开发者选项中的 Master Server URL
#define CONFIG_MASTER_SERVER_URL "https://app.agoralink-iot-cn.sd-rtn.com"
// 声网灵隼控制台的应用配置>>开发者选项中的 Slave Server URL
#define CONFIG_SLAVE_SERVER_URL "https://api.agora.io/agoralink/cn/api"
// 声网灵隼控制台的应用配置>>开发者选项中的 Product Key
#define CONFIG_PRODUCT_KEY "EJIJ**********5lI4"
以下步骤以 macOS 或 Linux 电脑为例:
将示例项目中的 AG-VideoDoorbell-esp32
目录复制到 ~/esp
目录下。执行以下命令编译项目:
cd ~/esp/agora-demo-for-esp32
idf.py set-target esp32s3
# 在 menuconfig 界面中配置 WiFi SSID 和 WiFi Password
idf.py menuconfig
# 编译项目
idf.py build
将固件烧录到设备。对于 Linux 操作系统,方法如下:
idf.py -p PORT flash
PORT 即为对应的串口设备名称。
如果遇到 PORT 端口权限问题,执行以下命令,然后重新登录。
sudo usermod -a -G dialout $USER
下载成功后,设备会自动运行,待初始化完成后,可以看到串口打印:"Agora: Press [REC] key to ring the doorbell ..."
。此时设备处在低功耗保活状态。
你可以参考以下开发者指南文档: