Skip to content

Commit f704231

Browse files
committed
Merge branch 'main' into feat-sscma_camera
* main: 增加LilyGo T-CameraPlus-S3的摄像头红外过滤功能 (78#766) 增加ottoRobot和electronBot的支持 (78#757) Update related projects fix: 长按切换到点按后,无法唤醒的问题 修复T-CameraPlus-S3_V1.2板子摄像头不能正常使用问题 (78#758) fix(esp-hi): fix can not wake up (78#754) Bump to 1.7.0 修复屏幕条纹 (78#748) Add tools/call stack size for HTTPS upload v1.6.8: Move partition CSV files into a folder
2 parents 8f1aaa1 + b18dda3 commit f704231

File tree

80 files changed

+3939
-80
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+3939
-80
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# CMakeLists in this exact order for cmake to work correctly
55
cmake_minimum_required(VERSION 3.16)
66

7-
set(PROJECT_VER "1.6.6")
7+
set(PROJECT_VER "1.7.0")
88

99
# Add this line to disable the specific warning
1010
add_compile_options(-Wno-missing-field-initializers)

README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
- OLED / LCD 显示屏,支持表情显示
3434
- 电量显示与电源管理
3535
- 支持多语言(中文、英文、日文)
36-
- 支持ESP32-C3、ESP32-S3、ESP32-P4芯片平台
37-
- 通过设备端 MCP 实现设备控制(音量、灯光、电机、GPIO等
36+
- 支持 ESP32-C3、ESP32-S3、ESP32-P4 芯片平台
37+
- 通过设备端 MCP 实现设备控制(音量、灯光、电机、GPIO 等
3838
- 通过云端 MCP 扩展大模型能力(智能家居控制、PC桌面操作、知识搜索、邮件收发等)
3939

4040
## 硬件
@@ -122,7 +122,7 @@
122122

123123
### 开发者文档
124124

125-
- [自定义开发板指南](main/boards/README.md) - 学习如何为小智AI创建自定义开发板
125+
- [自定义开发板指南](main/boards/README.md) - 学习如何为小智 AI 创建自定义开发板
126126
- [MCP 协议物联网控制用法说明](docs/mcp-usage.md) - 了解如何通过 MCP 协议控制物联网设备
127127
- [MCP 协议交互流程](docs/mcp-protocol.md) - 设备端 MCP 协议的实现方式
128128
- [一份详细的 WebSocket 通信协议文档](docs/websocket.md)
@@ -135,16 +135,19 @@
135135

136136
## 相关开源项目
137137

138-
在个人电脑上部署服务器,可以参考以下开源的项目
138+
在个人电脑上部署服务器,可以参考以下第三方开源的项目
139139

140140
- [xinnan-tech/xiaozhi-esp32-server](https://github.com/xinnan-tech/xiaozhi-esp32-server) Python 服务器
141141
- [joey-zhou/xiaozhi-esp32-server-java](https://github.com/joey-zhou/xiaozhi-esp32-server-java) Java 服务器
142142
- [AnimeAIChat/xiaozhi-server-go](https://github.com/AnimeAIChat/xiaozhi-server-go) Golang 服务器
143143

144-
使用小智通信协议的其他客户端项目
144+
使用小智通信协议的第三方客户端项目
145145

146146
- [huangjunsen0406/py-xiaozhi](https://github.com/huangjunsen0406/py-xiaozhi) Python 客户端
147147
- [TOM88812/xiaozhi-android-client](https://github.com/TOM88812/xiaozhi-android-client) Android 客户端
148+
- [100askTeam/xiaozhi-linux](http://github.com/100askTeam/xiaozhi-linux) 百问科技提供的 Linux 客户端
149+
- [78/xiaozhi-sf32](https://github.com/78/xiaozhi-sf32) 思澈科技的蓝牙芯片固件
150+
- [QuecPython/solution-xiaozhiAI](https://github.com/QuecPython/solution-xiaozhiAI) 移远提供的 QuecPython 固件
148151

149152
## Star History
150153

docs/v1/electron-bot.png

20.7 KB
Loading

docs/v1/otto-robot.png

26.8 KB
Loading

main/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,10 @@ elseif(CONFIG_BOARD_TYPE_ESP32_S3_1_54_MUMA)
186186
set(BOARD_TYPE "sp-esp32-s3-1.54-muma")
187187
elseif(CONFIG_BOARD_TYPE_ESP32_S3_1_28_BOX)
188188
set(BOARD_TYPE "sp-esp32-s3-1.28-box")
189+
elseif(CONFIG_BOARD_TYPE_OTTO_ROBOT)
190+
set(BOARD_TYPE "otto-robot")
191+
elseif(CONFIG_BOARD_TYPE_ELECTRON_BOT)
192+
set(BOARD_TYPE "electron-bot")
189193
endif()
190194
file(GLOB BOARD_SOURCES
191195
${CMAKE_CURRENT_SOURCE_DIR}/boards/${BOARD_TYPE}/*.cc

main/Kconfig.projbuild

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,16 @@ choice BOARD_TYPE
253253
config BOARD_TYPE_ESP32_S3_1_28_BOX
254254
bool "Spotpear ESP32-S3-1.28-BOX"
255255
depends on IDF_TARGET_ESP32S3
256+
config BOARD_TYPE_OTTO_ROBOT
257+
bool "ottoRobot"
258+
depends on IDF_TARGET_ESP32S3
259+
select LV_USE_GIF
260+
select LV_GIF_CACHE_DECODE_DATA
261+
config BOARD_TYPE_ELECTRON_BOT
262+
bool "electronBot"
263+
depends on IDF_TARGET_ESP32S3
264+
select LV_USE_GIF
265+
select LV_GIF_CACHE_DECODE_DATA
256266
endchoice
257267

258268
choice ESP_S3_LCD_EV_Board_Version_TYPE

main/application.cc

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -302,9 +302,11 @@ void Application::ToggleChatState() {
302302

303303
if (device_state_ == kDeviceStateIdle) {
304304
Schedule([this]() {
305-
SetDeviceState(kDeviceStateConnecting);
306-
if (!protocol_->OpenAudioChannel()) {
307-
return;
305+
if (!protocol_->IsAudioChannelOpened()) {
306+
SetDeviceState(kDeviceStateConnecting);
307+
if (!protocol_->OpenAudioChannel()) {
308+
return;
309+
}
308310
}
309311

310312
SetListeningMode(aec_mode_ == kAecOff ? kListeningModeAutoStop : kListeningModeRealtime);

main/audio_processing/no_wake_word.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,5 @@ bool NoWakeWord::GetWakeWordOpus(std::vector<uint8_t>& opus) {
4141
}
4242

4343
const std::string& NoWakeWord::GetLastDetectedWakeWord() const {
44-
return ""; // No wake word detected
44+
return last_detected_wake_word_;
4545
}

main/audio_processing/no_wake_word.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class NoWakeWord : public WakeWord {
2626

2727
private:
2828
AudioCodec* codec_ = nullptr;
29+
std::string last_detected_wake_word_;
2930
};
3031

3132
#endif

main/boards/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 自定义开发板指南
22

3-
本指南介绍如何为小智AI语音聊天机器人项目定制一个新的开发板初始化程序。小智AI支持50多种ESP32系列开发板,每个开发板的初始化代码都放在对应的目录下。
3+
本指南介绍如何为小智AI语音聊天机器人项目定制一个新的开发板初始化程序。小智AI支持70多种ESP32系列开发板,每个开发板的初始化代码都放在对应的目录下。
44

55
## 重要提示
66

@@ -98,7 +98,7 @@ mkdir main/boards/my-custom-board
9898
"sdkconfig_append": [
9999
// 额外需要的编译配置
100100
"CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y",
101-
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions_8M.csv\""
101+
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v1/8m.csv\""
102102
]
103103
}
104104
]

0 commit comments

Comments
 (0)