四博 AI-S3 双目交互终端开发方案:ESP32-S3 + VB6824 + 双目动画 + 触控/姿态/震动闭环

四博 AI-S3 双目交互终端开发方案:ESP32-S3 + VB6824 + 双目动画 + 触控/姿态/震动闭环

1. 项目概述

四博 AI-S3 双目是一套面向 AI 桌面宠物、AI 陪伴机器人、AI 学习助手、AI 玩具和品牌 IP 互动终端的嵌入式 AI 硬件方案。它不是简单的"双屏显示眼睛",而是以 ESP32-S3 主控 + 双目 LCD + VB6824 语音芯片 + 四路触控 + 震动马达 + 姿态传感器 + 云端 AI 智能体 组成的一套完整交互系统。

从硬件资料看,四博 AI-S3 双目双屏方案采用 ESP32S3R8 + 16M Flash + VB6824 ,配备 1.28 寸 LCD 显示屏 ×2、主板、麦克风、喇叭和线材,可选小智、豆包、ChatGPT 等主流大模型,并支持全开源和二次开发。

四博 AI 开发宝典中也说明,AI-S3 双目硬件包含两块屏幕、主板、外壳等组件,主板内置小智智能体,支持 2.4G Wi-Fi,同时也可以扩展 4G 模组,屏幕支持 0.71 寸和 1.28 寸规格。

本文从工程实现角度,给出一套更接近量产项目的实现框架。


2. 整体硬件架构

复制代码

┌──────────────────────────────────────┐

│ 四博 AI-S3 双目终端 │

├──────────────────────────────────────┤

│ 主控:ESP32-S3R8 / ESPS3-32 N16R8 │

│ 显示:0.71 / 1.28 寸双目 LCD │

│ 语音:VB6824 离线唤醒 / AEC / 命令词 │

│ 交互:四路触控感应 │

│ 反馈:震动马达 │

│ 姿态:三轴加速度计 / 六轴 IMU 可选 │

│ 音频:麦克风 + 喇叭 + 功放 │

│ 联网:Wi-Fi + BLE,小程序配网 │

│ AI:小智 / 豆包 / ChatGPT / 私有大模型 │

└──────────────────────────────────────┘

四博模组选型手册中,ESPS3-32 系列包含 N4、N8、N8R2、N16R2、N16R8 等多个子型号,芯片覆盖 ESP32-S3、ESP32-S3R2、ESP32-S3R8,并兼容 ESP32-S3-WROOM-1 系列模组,适合做音视频和 AI 类硬件。


3. 软件架构设计

建议采用 事件驱动 + 状态机 + 独立任务 的结构,而不是把所有逻辑写在一个 while(1) 里。

复制代码

Application Layer

├── AI 对话

├── 表情状态机

├── 触摸交互

├── 姿态交互

├── 震动反馈

└── OTA / 小程序配置

Service Layer

├── Eye Engine

├── Touch Manager

├── IMU Manager

├── Haptic Manager

├── Voice Manager

├── AI WebSocket Client

└── Config Sync

Driver Layer

├── LCD Driver

├── GPIO Touch

├── LEDC Motor

├── I2C IMU

├── UART VB6824

└── Wi-Fi / BLE

工程目录建议:

复制代码

sibo_ai_s3_eye/

├── main/

│ ├── app_main.c

│ ├── board_config.h

│ ├── app_event.c

│ ├── app_event.h

│ ├── eye_engine.c

│ ├── eye_engine.h

│ ├── dual_lcd.c

│ ├── dual_lcd.h

│ ├── touch_manager.c

│ ├── touch_manager.h

│ ├── imu_manager.c

│ ├── imu_manager.h

│ ├── haptic_motor.c

│ ├── haptic_motor.h

│ ├── vb6824_voice.c

│ ├── vb6824_voice.h

│ ├── ai_ws_client.c

│ ├── ai_ws_client.h

│ ├── ai_protocol.c

│ ├── ai_protocol.h

│ └── ota_manager.c

├── components/

│ ├── lcd_driver/

│ ├── audio_player/

│ ├── json_helper/

│ └── storage/

├── partitions.csv

└── sdkconfig.defaults


4. board_config.h

复制代码

#pragma once

#include "driver/gpio.h"

#include "driver/uart.h"

#include "driver/i2c.h"

#include "driver/ledc.h"

#define PRODUCT_NAME "SIBO_AI_S3_EYE"

#define DEVICE_ID "SIBO_EYE_001122334455"

/* 屏幕规格 */

#define SCREEN_071 0

#define SCREEN_128 1

#define CONFIG_SCREEN_TYPE SCREEN_128

#if CONFIG_SCREEN_TYPE == SCREEN_128

#define EYE_LCD_WIDTH 240

#define EYE_LCD_HEIGHT 240

#else

#define EYE_LCD_WIDTH 160

#define EYE_LCD_HEIGHT 160

#endif

/* 左右眼 LCD */

#define LCD_LEFT_CS GPIO_NUM_10

#define LCD_LEFT_DC GPIO_NUM_11

#define LCD_LEFT_RST GPIO_NUM_12

#define LCD_LEFT_BL GPIO_NUM_13

#define LCD_RIGHT_CS GPIO_NUM_14

#define LCD_RIGHT_DC GPIO_NUM_15

#define LCD_RIGHT_RST GPIO_NUM_16

#define LCD_RIGHT_BL GPIO_NUM_17

#define LCD_SPI_MOSI GPIO_NUM_6

#define LCD_SPI_CLK GPIO_NUM_7

/* 四路触控 */

#define TOUCH_HEAD_GPIO GPIO_NUM_1

#define TOUCH_FACE_GPIO GPIO_NUM_2

#define TOUCH_CHAT_GPIO GPIO_NUM_3

#define TOUCH_BACK_GPIO GPIO_NUM_4

/* 震动马达 */

#define MOTOR_GPIO GPIO_NUM_5

#define MOTOR_PWM_TIMER LEDC_TIMER_0

#define MOTOR_PWM_CHANNEL LEDC_CHANNEL_0

#define MOTOR_PWM_FREQ 2000

/* IMU */

#define IMU_I2C_PORT I2C_NUM_0

#define IMU_I2C_SDA GPIO_NUM_8

#define IMU_I2C_SCL GPIO_NUM_9

/* VB6824 */

#define VB6824_UART UART_NUM_1

#define VB6824_TXD GPIO_NUM_18

#define VB6824_RXD GPIO_NUM_19

#define VB6824_BAUD 115200

/* AI Server */

#define AI_WS_URL "wss://ai.example.com/sibo/eye/ws"


5. 应用事件系统

AI 双目终端的输入源比较多,包括语音、触控、姿态、AI 返回、小程序配置等。统一事件总线可以让代码更清晰。

复制代码

typedef enum {

APP_EVT_NONE = 0,

APP_EVT_WIFI_READY,

APP_EVT_AI_CONNECTED,

APP_EVT_AI_JSON,

APP_EVT_VOICE_WAKEUP,

APP_EVT_VOICE_CHAT,

APP_EVT_VOICE_SLEEP,

APP_EVT_TOUCH_HEAD,

APP_EVT_TOUCH_FACE,

APP_EVT_TOUCH_CHAT,

APP_EVT_TOUCH_BACK,

APP_EVT_GESTURE_SHAKE,

APP_EVT_GESTURE_LEFT,

APP_EVT_GESTURE_RIGHT,

APP_EVT_GESTURE_PICKUP,

APP_EVT_EYE_IDLE,

APP_EVT_EYE_HAPPY,

APP_EVT_EYE_THINKING,

APP_EVT_EYE_SPEAKING,

APP_EVT_EYE_SLEEPY,

APP_EVT_HAPTIC_SHORT,

APP_EVT_HAPTIC_LONG,

APP_EVT_OTA_NOTIFY,

} app_evt_id_t;

typedef struct {

app_evt_id_t id;

void *data;

size_t len;

} app_evt_t;

复制代码

#include "freertos/FreeRTOS.h"

#include "freertos/queue.h"

static QueueHandle_t s_app_evt_queue;

void app_event_init(void)

{

s_app_evt_queue = xQueueCreate(32, sizeof(app_evt_t));

}

bool app_event_send(app_evt_id_t id, void *data, size_t len)

{

if (!s_app_evt_queue) {

return false;

}

app_evt_t evt = {

.id = id,

.data = data,

.len = len,

};

return xQueueSend(s_app_evt_queue, &evt, pdMS_TO_TICKS(20)) == pdTRUE;

}

QueueHandle_t app_event_queue(void)

{

return s_app_evt_queue;

}


6. 双目表情引擎

6.1 表情状态定义

复制代码

typedef enum {

EYE_IDLE = 0,

EYE_BLINK,

EYE_HAPPY,

EYE_THINKING,

EYE_SPEAKING,

EYE_SLEEPY,

EYE_ANGRY,

EYE_LISTENING,

} eye_state_t;

typedef struct {

eye_state_t state;

uint32_t frame;

bool mirror_right_eye;

TickType_t last_tick;

} eye_engine_t;

static eye_engine_t s_eye = {

.state = EYE_IDLE,

.frame = 0,

.mirror_right_eye = true,

};

6.2 表情切换接口

复制代码

void eye_engine_set_state(eye_state_t state)

{

s_eye.state = state;

s_eye.frame = 0;

s_eye.last_tick = xTaskGetTickCount();

}

eye_state_t eye_engine_get_state(void)

{

return s_eye.state;

}

6.3 动画帧选择

复制代码

static const uint16_t *eye_get_frame(eye_state_t state, uint32_t frame)

{

switch (state) {

case EYE_IDLE:

return eye_idle_frames[frame % EYE_IDLE_FRAME_COUNT];

case EYE_BLINK:

return eye_blink_frames[frame % EYE_BLINK_FRAME_COUNT];

case EYE_HAPPY:

return eye_happy_frames[frame % EYE_HAPPY_FRAME_COUNT];

case EYE_THINKING:

return eye_thinking_frames[frame % EYE_THINKING_FRAME_COUNT];

case EYE_SPEAKING:

return eye_speaking_frames[frame % EYE_SPEAKING_FRAME_COUNT];

case EYE_SLEEPY:

return eye_sleepy_frames[frame % EYE_SLEEPY_FRAME_COUNT];

default:

return eye_idle_frames[0];

}

}

6.4 30 FPS 双目刷新任务

复制代码

void eye_engine_task(void *arg)

{

while (1) {

const uint16_t *frame = eye_get_frame(s_eye.state, s_eye.frame);

dual_lcd_draw_left(frame, EYE_LCD_WIDTH, EYE_LCD_HEIGHT);

if (s_eye.mirror_right_eye) {

dual_lcd_draw_right_mirror(frame, EYE_LCD_WIDTH, EYE_LCD_HEIGHT);

} else {

dual_lcd_draw_right(frame, EYE_LCD_WIDTH, EYE_LCD_HEIGHT);

}

s_eye.frame++;

if (s_eye.state == EYE_IDLE && s_eye.frame % 90 == 0) {

eye_engine_set_state(EYE_BLINK);

}

if (s_eye.state == EYE_BLINK &&

s_eye.frame >= EYE_BLINK_FRAME_COUNT) {

eye_engine_set_state(EYE_IDLE);

}

vTaskDelay(pdMS_TO_TICKS(33));

}

}


7. 双屏绘制封装

复制代码

void dual_lcd_init(void)

{

lcd_spi_bus_init(LCD_SPI_MOSI, LCD_SPI_CLK);

lcd_panel_init(LCD_LEFT_CS, LCD_LEFT_DC, LCD_LEFT_RST, LCD_LEFT_BL);

lcd_panel_init(LCD_RIGHT_CS, LCD_RIGHT_DC, LCD_RIGHT_RST, LCD_RIGHT_BL);

lcd_backlight_set(LCD_LEFT_BL, 80);

lcd_backlight_set(LCD_RIGHT_BL, 80);

}

void dual_lcd_draw_left(const uint16_t *rgb565, int w, int h)

{

lcd_panel_draw_bitmap(LCD_LEFT_CS, 0, 0, w, h, rgb565);

}

void dual_lcd_draw_right(const uint16_t *rgb565, int w, int h)

{

lcd_panel_draw_bitmap(LCD_RIGHT_CS, 0, 0, w, h, rgb565);

}

void dual_lcd_draw_right_mirror(const uint16_t *rgb565, int w, int h)

{

static uint16_t *mirror_buf;

if (!mirror_buf) {

mirror_buf = heap_caps_malloc(

w * h * sizeof(uint16_t),

MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT

);

}

if (!mirror_buf) {

return;

}

for (int y = 0; y < h; y++) {

for (int x = 0; x < w; x++) {

mirror_buf[y * w + x] = rgb565[y * w + (w - 1 - x)];

}

}

lcd_panel_draw_bitmap(LCD_RIGHT_CS, 0, 0, w, h, mirror_buf);

}


8. 四路触控交互

四路触控可以设计成不同语义:

复制代码

触控 1:摸头,开心反馈

触控 2:切换表情 / 彩蛋互动

触控 3:开始 AI 对话

触控 4:返回待机

复制代码

typedef struct {

gpio_num_t gpio;

app_evt_id_t evt;

bool last_level;

TickType_t last_trigger;

} touch_item_t;

static touch_item_t s_touch_items[] = {

{TOUCH_HEAD_GPIO, APP_EVT_TOUCH_HEAD, true, 0},

{TOUCH_FACE_GPIO, APP_EVT_TOUCH_FACE, true, 0},

{TOUCH_CHAT_GPIO, APP_EVT_TOUCH_CHAT, true, 0},

{TOUCH_BACK_GPIO, APP_EVT_TOUCH_BACK, true, 0},

};

void touch_manager_init(void)

{

for (int i = 0; i < 4; i++) {

gpio_config_t cfg = {

.pin_bit_mask = 1ULL << s_touch_items[i].gpio,

.mode = GPIO_MODE_INPUT,

.pull_up_en = GPIO_PULLUP_ENABLE,

.pull_down_en = GPIO_PULLDOWN_DISABLE,

.intr_type = GPIO_INTR_DISABLE,

};

gpio_config(&cfg);

}

}

void touch_manager_task(void *arg)

{

while (1) {

TickType_t now = xTaskGetTickCount();

for (int i = 0; i < 4; i++) {

bool level = gpio_get_level(s_touch_items[i].gpio);

if (s_touch_items[i].last_level && !level) {

if (now - s_touch_items[i].last_trigger > pdMS_TO_TICKS(250)) {

app_event_send(s_touch_items[i].evt, NULL, 0);

s_touch_items[i].last_trigger = now;

}

}

s_touch_items[i].last_level = level;

}

vTaskDelay(pdMS_TO_TICKS(20));

}

}


9. 震动马达反馈

复制代码

void haptic_motor_init(void)

{

ledc_timer_config_t timer = {

.speed_mode = LEDC_LOW_SPEED_MODE,

.timer_num = MOTOR_PWM_TIMER,

.duty_resolution = LEDC_TIMER_10_BIT,

.freq_hz = MOTOR_PWM_FREQ,

.clk_cfg = LEDC_AUTO_CLK,

};

ledc_timer_config(&timer);

ledc_channel_config_t ch = {

.gpio_num = MOTOR_GPIO,

.speed_mode = LEDC_LOW_SPEED_MODE,

.channel = MOTOR_PWM_CHANNEL,

.timer_sel = MOTOR_PWM_TIMER,

.duty = 0,

.hpoint = 0,

};

ledc_channel_config(&ch);

}

static void haptic_set(uint32_t duty)

{

ledc_set_duty(LEDC_LOW_SPEED_MODE, MOTOR_PWM_CHANNEL, duty);

ledc_update_duty(LEDC_LOW_SPEED_MODE, MOTOR_PWM_CHANNEL);

}

void haptic_pulse(uint32_t duty, uint32_t ms)

{

haptic_set(duty);

vTaskDelay(pdMS_TO_TICKS(ms));

haptic_set(0);

}

void haptic_short(void)

{

haptic_pulse(700, 60);

}

void haptic_long(void)

{

haptic_pulse(850, 180);

}


10. 姿态传感器交互

内置三轴传感器后,可以做"拿起唤醒、摇一摇彩蛋、左右倾斜切表情"。

复制代码

typedef struct {

float ax;

float ay;

float az;

} imu_accel_t;

static bool imu_is_shake(const imu_accel_t *a)

{

float energy = a->ax * a->ax + a->ay * a->ay + a->az * a->az;

return energy > 4.0f;

}

static bool imu_is_left(const imu_accel_t *a)

{

return a->ax < -0.55f;

}

static bool imu_is_right(const imu_accel_t *a)

{

return a->ax > 0.55f;

}

void imu_manager_task(void *arg)

{

imu_accel_t acc;

TickType_t last_evt = 0;

while (1) {

if (imu_read_accel(&acc) == ESP_OK) {

TickType_t now = xTaskGetTickCount();

if (now - last_evt > pdMS_TO_TICKS(600)) {

if (imu_is_shake(&acc)) {

app_event_send(APP_EVT_GESTURE_SHAKE, NULL, 0);

last_evt = now;

} else if (imu_is_left(&acc)) {

app_event_send(APP_EVT_GESTURE_LEFT, NULL, 0);

last_evt = now;

} else if (imu_is_right(&acc)) {

app_event_send(APP_EVT_GESTURE_RIGHT, NULL, 0);

last_evt = now;

}

}

}

vTaskDelay(pdMS_TO_TICKS(50));

}

}


11. VB6824 语音接入

四博 AI 方案中提到,ESP32-C2/C3/S3 + VB6824 语音方案已经应用于电子吧唧、S3 双目、S3 拍学机、地球仪、拍拍灯等场景;VB6824 负责音频编解码、AEC、语音唤醒和唤醒词修改,让主控专注通信和 UI。

复制代码

typedef enum {

VB_CMD_WAKEUP = 0x01,

VB_CMD_CHAT = 0x02,

VB_CMD_SLEEP = 0x03,

VB_CMD_HAPPY = 0x04,

VB_CMD_STOP = 0x05,

} vb_cmd_t;

static void vb6824_dispatch(uint8_t cmd)

{

switch (cmd) {

case VB_CMD_WAKEUP:

app_event_send(APP_EVT_VOICE_WAKEUP, NULL, 0);

break;

case VB_CMD_CHAT:

app_event_send(APP_EVT_VOICE_CHAT, NULL, 0);

break;

case VB_CMD_SLEEP:

app_event_send(APP_EVT_VOICE_SLEEP, NULL, 0);

break;

case VB_CMD_HAPPY:

app_event_send(APP_EVT_EYE_HAPPY, NULL, 0);

break;

case VB_CMD_STOP:

app_event_send(APP_EVT_EYE_IDLE, NULL, 0);

break;

default:

break;

}

}

串口解析:

复制代码

void vb6824_voice_task(void *arg)

{

uint8_t buf[64];

while (1) {

int len = uart_read_bytes(VB6824_UART, buf, sizeof(buf), pdMS_TO_TICKS(100));

if (len >= 5 && buf[0] == 0xAA && buf[1] == 0x55) {

uint8_t cmd = buf[3];

vb6824_dispatch(cmd);

}

}

}


12. AI 协议与四博小助手能力

四博小助手可实现 AI 对话、声音克隆、知识库接入、MCP 扩展能力,以及素材与固件在线更新等能力。

设备上线时可以把自身能力上报给云端:

复制代码

{

"type": "hello",

"device_id": "SIBO_EYE_001122334455",

"product": "SIBO_AI_S3_EYE",

"screen": "1.28_dual",

"capability": {

"dual_eye": true,

"touch_keys": 4,

"haptic": true,

"imu": true,

"voice_clone": true,

"knowledge_base": true,

"mcp": true

}

}

AI 对话请求:

复制代码

{

"type": "chat",

"session_id": "eye_session_0001",

"text": "给我讲一个关于太空的小故事",

"emotion": "happy",

"tts": true

}

AI 返回:

复制代码

{

"type": "ai_result",

"text": "当然可以,我给你讲一个小星星去月球旅行的故事。",

"tts_url": "https://cdn.example.com/tts/eye_001.mp3",

"emotion": "happy",

"haptic": "short"

}


13. AI 返回解析:文字、表情、TTS、震动联动

复制代码

void ai_protocol_parse(const char *json)

{

cJSON *root = cJSON_Parse(json);

if (!root) {

return;

}

cJSON *type = cJSON_GetObjectItem(root, "type");

if (cJSON_IsString(type) &&

strcmp(type->valuestring, "ai_result") == 0) {

cJSON *text = cJSON_GetObjectItem(root, "text");

cJSON *tts = cJSON_GetObjectItem(root, "tts_url");

cJSON *emotion = cJSON_GetObjectItem(root, "emotion");

cJSON *haptic = cJSON_GetObjectItem(root, "haptic");

if (cJSON_IsString(text)) {

ui_show_subtitle(text->valuestring);

}

if (cJSON_IsString(emotion)) {

if (strcmp(emotion->valuestring, "happy") == 0) {

eye_engine_set_state(EYE_HAPPY);

} else if (strcmp(emotion->valuestring, "thinking") == 0) {

eye_engine_set_state(EYE_THINKING);

} else if (strcmp(emotion->valuestring, "sleepy") == 0) {

eye_engine_set_state(EYE_SLEEPY);

} else {

eye_engine_set_state(EYE_IDLE);

}

}

if (cJSON_IsString(tts)) {

eye_engine_set_state(EYE_SPEAKING);

audio_player_play_url(tts->valuestring);

}

if (cJSON_IsString(haptic)) {

if (strcmp(haptic->valuestring, "short") == 0) {

app_event_send(APP_EVT_HAPTIC_SHORT, NULL, 0);

} else if (strcmp(haptic->valuestring, "long") == 0) {

app_event_send(APP_EVT_HAPTIC_LONG, NULL, 0);

}

}

}

cJSON_Delete(root);

}


14. 应用事件分发

复制代码

static void app_handle_event(app_evt_t *evt)

{

switch (evt->id) {

case APP_EVT_VOICE_WAKEUP:

eye_engine_set_state(EYE_LISTENING);

haptic_short();

ui_show_subtitle("我在,请说");

break;

case APP_EVT_VOICE_CHAT:

eye_engine_set_state(EYE_THINKING);

ai_ws_send_chat("用户发起语音对话");

break;

case APP_EVT_TOUCH_HEAD:

eye_engine_set_state(EYE_HAPPY);

haptic_short();

break;

case APP_EVT_TOUCH_FACE:

eye_engine_set_state(EYE_THINKING);

ai_ws_send_chat("用户摸了一下设备,请生成一个有趣回应");

break;

case APP_EVT_TOUCH_CHAT:

eye_engine_set_state(EYE_LISTENING);

ai_ws_send_chat("用户开始对话");

break;

case APP_EVT_TOUCH_BACK:

eye_engine_set_state(EYE_IDLE);

ui_show_subtitle("已返回待机");

break;

case APP_EVT_GESTURE_SHAKE:

eye_engine_set_state(EYE_HAPPY);

haptic_long();

ai_ws_send_chat("用户摇了摇你,请给一个惊喜互动");

break;

case APP_EVT_GESTURE_LEFT:

eye_engine_set_state(EYE_SLEEPY);

break;

case APP_EVT_GESTURE_RIGHT:

eye_engine_set_state(EYE_HAPPY);

break;

case APP_EVT_AI_JSON:

ai_protocol_parse((const char *)evt->data);

free(evt->data);

break;

case APP_EVT_HAPTIC_SHORT:

haptic_short();

break;

case APP_EVT_HAPTIC_LONG:

haptic_long();

break;

default:

break;

}

}

void app_dispatch_task(void *arg)

{

app_evt_t evt;

QueueHandle_t q = app_event_queue();

while (1) {

if (xQueueReceive(q, &evt, portMAX_DELAY) == pdTRUE) {

app_handle_event(&evt);

}

}

}


15. app_main.c

复制代码

void app_main(void)

{

nvs_flash_init();

app_event_init();

dual_lcd_init();

touch_manager_init();

haptic_motor_init();

imu_manager_init();

vb6824_voice_init();

ai_ws_client_init();

eye_engine_set_state(EYE_IDLE);

xTaskCreate(eye_engine_task, "eye_engine", 8192, NULL, 6, NULL);

xTaskCreate(touch_manager_task, "touch", 4096, NULL, 5, NULL);

xTaskCreate(imu_manager_task, "imu", 4096, NULL, 5, NULL);

xTaskCreate(vb6824_voice_task, "vb6824", 4096, NULL, 7, NULL);

xTaskCreate(app_dispatch_task, "app_dispatch", 8192, NULL, 8, NULL);

wifi_manager_start();

ai_ws_client_start();

ui_show_subtitle("四博 AI-S3 双目启动完成");

}


16. 总结

四博 AI-S3 双目方案的重点不是单纯"双屏显示",而是把 视觉表情、触摸输入、姿态识别、震动反馈、语音唤醒、AI 对话、小程序配置 组合成一个完整闭环。

复制代码

双目屏幕:负责情绪表达

四路触控:负责主动交互

三轴传感器:负责姿态识别

震动马达:负责触觉反馈

VB6824:负责唤醒、AEC、离线语音

ESP32-S3:负责 UI、网络、AI 协议和任务调度

四博小助手:负责配网、声音克隆、知识库、MCP 和 OTA

这套方案适合 AI 桌面宠物、AI 陪伴机器人、AI 学习助手、AI 玩具和品牌 IP 互动终端。

相关推荐
陈嘿萌1 小时前
学术速递|2026年4月 arXiv 图像融合论文汇总(04.01–04.30)10 篇最新成果
人工智能·机器学习·计算机视觉·图像融合·arxiv
小新同学^O^1 小时前
简单学习 --> 数据标注
人工智能·python·学习·数据标注
2601_949499941 小时前
芯瑞科技推出的400G VR4 OSFP,是专门针对智算中心,为其实现“冷静”算力而精心打造的,属于散热方面的优选产品。
人工智能·科技
智慧景区与市集主理人1 小时前
5A景区智慧建设|突破转型瓶颈!巨有科技打造高标准智慧文旅标杆
大数据·人工智能·科技
北京领雁科技1 小时前
领雁科技助力某商业银行企业手机银行数智化升级
大数据·人工智能·科技
Black蜡笔小新1 小时前
企业私有化AI训练推理一体工作站/自动化AI算法训练服务器DLTM让企业AI自主可控
服务器·人工智能·自动化
qcx231 小时前
开源首发:DocCenter — AI 时代的 HTML工作台深度解析
人工智能·开源·html
怪祝浙1 小时前
Docker和Dify下载安装
人工智能
qq_411262421 小时前
四博AI双目智能音箱方案:会说话、会眨眼、会互动,还能接入客户自己的小程序和后端
人工智能·智能音箱