Skip to content

EmbeddedCamerata/esp-box-lite-bfans-tts

Repository files navigation

ESP32-S3-BOX-Lite Bfans TTS

基于ESP32-S3-BOX-Lite,使用esp-idf开发,连接WiFi并发出HTTPS请求,返回B站用户数据信息,再使用cJSON完成json数据解析,得到用户粉丝数,最后通过TTS实现语音合成与播报。

📦 Prerequisites

开发环境 esp-idf v4.4.4esp-box v0.3.0

🛠️ How to run

  1. 修改 ./CMakeLists.txtEXTRA_COMPONENT_DIRS 为实际路径

    set(EXTRA_COMPONENT_DIRS ../esp-box/components)
  2. 修改 main/CMakeLists.txtvoice_data_image 为实际路径:

    set(voice_data_image ${PROJECT_DIR}/../esp-box/components/esp-sr/esp-tts/esp_tts_chinese/esp_tts_voice_data_xiaole.dat)
  3. 如果是对 api.bilibili.com 发出HTTPS请求,可直接使用 server_root_cert.pem,否则需要按照 main/src/https_req.c 内50~58行所述生成 server_root_cert.pem 文件。确保 main/component.mkCOMPONENT_EMBED_TXTFILESmain/CMakeLists.txtEMBED_TXTFILES 指向 server_root_cert.pem 文件。

    // In main/component.mk
    COMPONENT_EMBED_TXTFILES := ../resources/server_root_cert.pem
    
    // In main/CMakeLists.txt
    idf_component_register(
        SRCS ${srcs}
        INCLUDE_DIRS ${include_dirs}
        EMBED_TXTFILES ${PROJECT_DIR}/resources/server_root_cert.pem)
  4. 修改 main/include/config.h

    #define BILIBILI_VMID   "Bilibili UID"
    #define WIFI_SSID       "WIFI SSID"
    #define WIFI_PASSWORD   "WIFI PASSWORD"
  5. 进入idf环境,并编译

    idf.py build

📜 Documentation

⚙️ Workflow

系统工作流程

📽️ More details

  1. 项目详细说明,CSDN:基于ESP32-S3-BOX-Lite的语音合成与播报系统(esp-idf+WiFi+HTTPS+TTS)
  2. 项目效果演示,B站:基于ESP32-S3-BOX-Lite的语音合成与播报系统