news 2026/4/27 19:16:24

四博大黄蜂 AI 智能音箱方案:云端音乐、SD 卡播放、蓝牙音箱、AI 对讲一体化智能终端

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
四博大黄蜂 AI 智能音箱方案:云端音乐、SD 卡播放、蓝牙音箱、AI 对讲一体化智能终端

四博大黄蜂 AI 智能音箱方案:云端音乐、SD 卡播放、蓝牙音箱、AI 对讲一体化智能终端

AI 音箱的价值,不只是“能聊天”。真正适合量产落地的智能音箱,应该同时具备AI 对话、音乐播放、本地存储播放、蓝牙音频、外接蓝牙音箱、双向对讲、小程序控制、OTA 升级和二次开发能力

四博大黄蜂 AI 智能音箱方案,可以理解为一套面向家庭、儿童陪伴、学习娱乐、户外便携、智能家居和品牌定制市场的 AIoT 音频终端方案。

四博大黄蜂 AI 智能音箱 = ESP32-S3 / ESP32-C5 AI 主控 + 云端音乐播放 + SD 卡本地音乐播放 + 蓝牙音箱模式 + 外接蓝牙音箱播放 + AI 双向对讲 + 麦克风拾音 + 喇叭播放 + 小程序控制 + MCP 工具调用 + OTA 在线升级

四博 AI 开发宝典中,AI-S3 标准开发板为全开源方案,带 240×240 分辨率 1.3 寸屏幕,支持“四博小助手”小程序、声音克隆、知识库、自建大模型和 MCP 能力;开发宝典也包含 ESP-IDF 环境搭建、DOIT_AI 编译烧录、设备配网、实时打断固件和 VB6824 自定义唤醒词等内容,适合客户做二次开发和量产验证。


一、产品定位

四博大黄蜂 AI 智能音箱不是传统蓝牙音箱,而是一个“多音源 + AI 对话 + 小程序管理 + 可扩展控制”的智能音频平台。

它可以覆盖以下场景:

1. 云端音乐:通过 Wi-Fi/4G 播放在线音乐、故事、儿歌、课程音频 2. SD 卡音乐:无网环境播放本地 MP3/WAV 文件 3. 蓝牙音箱:手机连接设备,把设备当普通蓝牙音箱使用 4. 蓝牙外放:设备连接外部蓝牙音箱,把 AI 回复或音乐转发出去 5. AI 对讲:小程序与设备、设备与设备之间实现语音对讲 6. 学习陪伴:儿童故事、英语跟读、古诗背诵、口算训练 7. 智能控制:通过 MCP 控制灯光、插座、窗帘、场景模式 8. 小程序管理:配网、绑定、音量、播放列表、模式切换、OTA

四博 AI 硬件选型表中已经展示了 AI-智能音响、AI-语音机器人、AI-智能小夜灯、AI-S3 双目双屏等多种硬件形态,说明四博 AI 方案不局限于单一音箱,而是可以扩展到多种 AI 音频和智能终端产品。


二、系统总体架构

用户语音 / 小程序 / 手机蓝牙 / SD卡 / 云端音乐 ↓ 输入层:麦克风 / BLE / Wi-Fi / SDMMC / Bluetooth A2DP ↓ ESP32-S3 / ESP32-C5 主控 ↓ 音频路由管理 Audio Router ↓ 播放链路:I2S Codec / Class-D 功放 / 蓝牙外放 ↓ AI 服务:ASR / LLM / TTS / MCP / 对讲服务器 ↓ 小程序:配网 / 控制 / 对讲 / 播放列表 / OTA

设备端主要负责:

1. Wi-Fi / BLE / 4G 联网 2. 蓝牙 A2DP Sink / Source 3. SD 卡文件扫描和播放 4. 云端音乐流媒体播放 5. 麦克风录音和 AI 对讲 6. TTS 音频播放 7. 音频源优先级调度 8. 小程序控制协议 9. OTA 固件和资源升级

云端主要负责:

1. ASR 语音识别 2. LLM 大模型理解 3. TTS 语音合成 4. 云端音乐资源管理 5. 对讲消息转发 6. 用户账号和设备绑定 7. 播放列表管理 8. MCP 工具调度

三、推荐硬件配置

模块推荐配置
主控ESP32-S3R8 / ESP32-C5
存储16MB Flash + 8MB PSRAM
音频输入I2S 数字麦克风 / 双麦
音频输出I2S Codec + Class-D 功放
喇叭4Ω 3W / 8Ω 2W
本地存储Micro SD 卡,支持 MP3/WAV
蓝牙A2DP Sink / A2DP Source / BLE 控制
网络Wi-Fi,4G 可选
显示1.3 寸 / 1.54 寸 LCD 可选
电池锂电池可选
控制按键 / 小程序 / 语音
升级HTTPS OTA / 小程序触发 OTA

开发宝典中提到,AI 系统硬件设备的开源代码可以在 VSCode 中通过 ESP-IDF 扩展和编译工具进行开发、编译和烧录,ESP-IDF 环境配置、烧录波特率和监视串口配置也有完整流程说明。


四、软件模块设计

推荐工程目录:

doit_ai_bumblebee_speaker/ ├── main/ │ ├── app_main.c │ ├── board_config.h │ ├── wifi_manager.c │ ├── ble_config.c │ ├── audio_router.c │ ├── audio_player.c │ ├── audio_capture.c │ ├── cloud_music.c │ ├── sd_music.c │ ├── bt_a2dp_sink.c │ ├── bt_a2dp_source.c │ ├── intercom_service.c │ ├── miniapp_protocol.c │ ├── ai_ws_client.c │ ├── mcp_service.c │ ├── lcd_ui.c │ └── ota_service.c ├── components/ │ ├── codec/ │ ├── mp3_decoder/ │ ├── sdcard/ │ ├── bt_audio/ │ └── lcd_driver/ ├── partitions_ota.csv └── sdkconfig.defaults

系统状态机:

typedef enum { SYS_STATE_BOOT = 0, SYS_STATE_WIFI_CONFIG, SYS_STATE_IDLE, SYS_STATE_CLOUD_MUSIC, SYS_STATE_SD_MUSIC, SYS_STATE_BT_SPEAKER, SYS_STATE_BT_OUTPUT, SYS_STATE_AI_CHAT, SYS_STATE_INTERCOM, SYS_STATE_OTA, SYS_STATE_ERROR } system_state_t; static volatile system_state_t g_sys_state = SYS_STATE_BOOT;

五、音频源管理:云端音乐、SD 卡、蓝牙、AI、对讲统一调度

大黄蜂音箱最核心的是“多音源管理”。

音频源可以定义为:

typedef enum { AUDIO_SRC_NONE = 0, AUDIO_SRC_CLOUD_MUSIC, AUDIO_SRC_SD_MUSIC, AUDIO_SRC_BT_A2DP, AUDIO_SRC_AI_TTS, AUDIO_SRC_INTERCOM, AUDIO_SRC_PROMPT } audio_source_t; typedef struct { audio_source_t current; int volume; int muted; int playing; } audio_router_t; static audio_router_t g_audio_router = { .current = AUDIO_SRC_NONE, .volume = 70, .muted = 0, .playing = 0, };

音频源优先级建议:

最高优先级:系统提示音 / 报警音 第二优先级:AI 对讲 第三优先级:AI TTS 回复 第四优先级:蓝牙音箱输入 第五优先级:云端音乐 第六优先级:SD 卡音乐

切换音源:

void audio_router_switch(audio_source_t src) { if (g_audio_router.current == src) { return; } audio_player_stop(); g_audio_router.current = src; g_audio_router.playing = 0; switch (src) { case AUDIO_SRC_CLOUD_MUSIC: lcd_ui_show_status("云端音乐"); break; case AUDIO_SRC_SD_MUSIC: lcd_ui_show_status("SD卡音乐"); break; case AUDIO_SRC_BT_A2DP: lcd_ui_show_status("蓝牙音箱模式"); break; case AUDIO_SRC_AI_TTS: lcd_ui_show_status("AI正在回答"); break; case AUDIO_SRC_INTERCOM: lcd_ui_show_status("AI对讲中"); break; default: lcd_ui_show_status("待机"); break; } }

六、云端音乐播放设计

云端音乐适合播放故事、课程、儿歌、白噪声、助眠音乐、品牌内容库等。

云端音乐播放请求:

{ "type": "music.play", "source": "cloud", "url": "https://cdn.example.com/music/story_001.mp3", "title": "睡前故事", "album": "儿童故事" }

云端音乐结构:

typedef struct { char url[256]; char title[64]; char album[64]; int duration_sec; } cloud_music_item_t;

播放云端音乐:

esp_err_t cloud_music_play(const cloud_music_item_t *item) { if (!item || strlen(item->url) == 0) { return ESP_FAIL; } audio_router_switch(AUDIO_SRC_CLOUD_MUSIC); lcd_ui_show_title(item->title); lcd_ui_show_status("正在播放云端音乐"); /* * 实际项目中: * 1. HTTP 拉取 MP3/AAC 流 * 2. 解码为 PCM * 3. 送入 I2S Codec 或蓝牙外放 */ return audio_player_play_url(item->url); }

小程序下发播放命令:

void miniapp_handle_cloud_music(cJSON *root) { cJSON *url = cJSON_GetObjectItem(root, "url"); cJSON *title = cJSON_GetObjectItem(root, "title"); if (!cJSON_IsString(url)) { return; } cloud_music_item_t item = {0}; strncpy(item.url, url->valuestring, sizeof(item.url) - 1); if (cJSON_IsString(title)) { strncpy(item.title, title->valuestring, sizeof(item.title) - 1); } else { strcpy(item.title, "云端音乐"); } cloud_music_play(&item); }

七、SD 卡本地音乐播放

SD 卡音乐适合无网场景,比如户外、儿童故事机、工厂预置内容、离线课程包。

SD 卡初始化:

#include "driver/sdmmc_host.h" #include "sdmmc_cmd.h" #include "esp_vfs_fat.h" #define SD_MOUNT_POINT "/sdcard" esp_err_t sdcard_init(void) { sdmmc_host_t host = SDMMC_HOST_DEFAULT(); sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT(); esp_vfs_fat_sdmmc_mount_config_t mount_config = { .format_if_mount_failed = false, .max_files = 8, .allocation_unit_size = 16 * 1024, }; sdmmc_card_t *card = NULL; esp_err_t ret = esp_vfs_fat_sdmmc_mount( SD_MOUNT_POINT, &host, &slot_config, &mount_config, &card ); if (ret == ESP_OK) { lcd_ui_show_status("SD卡已挂载"); } else { lcd_ui_show_status("SD卡挂载失败"); } return ret; }

扫描音乐文件:

#include <dirent.h> #include <string.h> #define MAX_MUSIC_FILES 128 typedef struct { char path[128]; char name[64]; } sd_music_file_t; static sd_music_file_t g_sd_music_list[MAX_MUSIC_FILES]; static int g_sd_music_count = 0; void sd_music_scan(const char *dir_path) { DIR *dir = opendir(dir_path); if (!dir) { return; } struct dirent *entry; while ((entry = readdir(dir)) != NULL && g_sd_music_count < MAX_MUSIC_FILES) { if (strstr(entry->d_name, ".mp3") || strstr(entry->d_name, ".wav")) { snprintf(g_sd_music_list[g_sd_music_count].path, sizeof(g_sd_music_list[g_sd_music_count].path), "%s/%s", dir_path, entry->d_name); strncpy(g_sd_music_list[g_sd_music_count].name, entry->d_name, sizeof(g_sd_music_list[g_sd_music_count].name) - 1); g_sd_music_count++; } } closedir(dir); }

播放 SD 卡音乐:

esp_err_t sd_music_play_index(int index) { if (index < 0 || index >= g_sd_music_count) { return ESP_FAIL; } audio_router_switch(AUDIO_SRC_SD_MUSIC); lcd_ui_show_title(g_sd_music_list[index].name); lcd_ui_show_status("正在播放SD卡音乐"); return audio_player_play_file(g_sd_music_list[index].path); }

上一首 / 下一首:

static int g_sd_music_index = 0; void sd_music_next(void) { if (g_sd_music_count == 0) { return; } g_sd_music_index++; if (g_sd_music_index >= g_sd_music_count) { g_sd_music_index = 0; } sd_music_play_index(g_sd_music_index); } void sd_music_prev(void) { if (g_sd_music_count == 0) { return; } g_sd_music_index--; if (g_sd_music_index < 0) { g_sd_music_index = g_sd_music_count - 1; } sd_music_play_index(g_sd_music_index); }

八、蓝牙音箱模式:手机连接大黄蜂播放音乐

蓝牙音箱模式本质上是Bluetooth A2DP Sink。手机作为音源,大黄蜂作为蓝牙音箱播放。

状态定义:

typedef enum { BT_SINK_STATE_IDLE = 0, BT_SINK_STATE_DISCOVERABLE, BT_SINK_STATE_CONNECTED, BT_SINK_STATE_PLAYING } bt_sink_state_t; static bt_sink_state_t g_bt_sink_state = BT_SINK_STATE_IDLE;

进入蓝牙音箱模式:

void bt_speaker_mode_start(void) { audio_router_switch(AUDIO_SRC_BT_A2DP); /* * 实际项目中初始化 Classic Bluetooth A2DP Sink。 */ bt_a2dp_sink_init("Bumblebee Speaker"); g_bt_sink_state = BT_SINK_STATE_DISCOVERABLE; lcd_ui_show_status("蓝牙音箱模式"); }

A2DP 音频数据回调:

void bt_a2dp_sink_audio_data_cb(const uint8_t *data, uint32_t len) { if (g_audio_router.current != AUDIO_SRC_BT_A2DP) { return; } /* * data 通常为解码后的 PCM 或 SBC 解码后的数据, * 具体取决于蓝牙协议栈封装。 */ audio_player_write_pcm(data, len); }

蓝牙连接状态:

void bt_a2dp_sink_event_cb(bt_sink_state_t state) { g_bt_sink_state = state; switch (state) { case BT_SINK_STATE_CONNECTED: lcd_ui_show_status("手机蓝牙已连接"); break; case BT_SINK_STATE_PLAYING: lcd_ui_show_status("手机音乐播放中"); break; default: lcd_ui_show_status("等待蓝牙连接"); break; } }

九、连接外部蓝牙音箱:设备作为蓝牙音源输出

“大黄蜂可以连接蓝牙音箱”意味着设备可以作为Bluetooth A2DP Source,把 AI TTS、云端音乐、SD 卡音乐推送到外部蓝牙音箱播放。

输出设备结构:

typedef struct { char name[64]; uint8_t mac[6]; int connected; } bt_output_device_t; static bt_output_device_t g_bt_output;

连接外部蓝牙音箱:

esp_err_t bt_output_connect(const uint8_t mac[6], const char *name) { memcpy(g_bt_output.mac, mac, 6); if (name) { strncpy(g_bt_output.name, name, sizeof(g_bt_output.name) - 1); } lcd_ui_show_status("正在连接外部蓝牙音箱"); /* * 实际项目中: * 1. 扫描 A2DP Sink 设备 * 2. 建立连接 * 3. 将 PCM 编码为 SBC 后发送 */ esp_err_t ret = bt_a2dp_source_connect(mac); if (ret == ESP_OK) { g_bt_output.connected = 1; lcd_ui_show_status("外部蓝牙音箱已连接"); } else { lcd_ui_show_status("蓝牙音箱连接失败"); } return ret; }

统一输出接口:

esp_err_t audio_output_write(const uint8_t *pcm, size_t len) { if (g_bt_output.connected) { return bt_a2dp_source_send_pcm(pcm, len); } return i2s_audio_write(pcm, len); }

这样就可以实现:

手机 → 大黄蜂蓝牙音箱 → 本机喇叭 云端音乐 → 大黄蜂 → 本机喇叭 SD卡音乐 → 大黄蜂 → 本机喇叭 AI TTS → 大黄蜂 → 外部蓝牙音箱 云端音乐 → 大黄蜂 → 外部蓝牙音箱

十、AI 对讲 / 双向对讲设计

“A 对讲”可以设计成小程序与设备对讲设备与设备对讲

对讲建议采用:

小程序录音 → 云端对讲服务器 → 设备播放 设备录音 → 云端对讲服务器 → 小程序播放

对讲消息结构:

typedef enum { INTERCOM_IDLE = 0, INTERCOM_RECORDING, INTERCOM_UPLOADING, INTERCOM_PLAYING } intercom_state_t; static intercom_state_t g_intercom_state = INTERCOM_IDLE;

开始对讲:

void intercom_start_record(void) { audio_router_switch(AUDIO_SRC_INTERCOM); g_intercom_state = INTERCOM_RECORDING; audio_capture_start(); lcd_ui_show_status("对讲录音中"); }

上传对讲音频:

void intercom_upload_audio(const uint8_t *pcm, size_t len) { if (g_intercom_state != INTERCOM_RECORDING) { return; } /* * 可使用 WebSocket 二进制帧上传 PCM/OPUS 数据。 */ ai_ws_send_binary("intercom_audio", pcm, len); }

收到小程序对讲音频:

void intercom_on_receive_audio(const uint8_t *audio, size_t len) { audio_router_switch(AUDIO_SRC_INTERCOM); g_intercom_state = INTERCOM_PLAYING; lcd_ui_show_status("收到对讲消息"); audio_player_write_pcm(audio, len); }

对讲控制消息:

{ "type": "intercom.start", "from": "miniapp", "to": "device_001", "codec": "opus", "sample_rate": 16000 }

十一、小程序控制协议

专属小程序可以承担以下功能:

1. 设备配网 2. 设备绑定 3. 播放云端音乐 4. 管理 SD 卡音乐列表 5. 切换蓝牙音箱模式 6. 连接外部蓝牙音箱 7. 发起 AI 对讲 8. 调节音量 9. 修改唤醒词 10. OTA 升级

小程序命令格式:

{ "type": "miniapp.cmd", "cmd": "music.play", "source": "cloud", "payload": { "url": "https://cdn.example.com/story001.mp3", "title": "睡前故事" } }

设备端解析:

void miniapp_protocol_handle(const char *json) { cJSON *root = cJSON_Parse(json); if (!root) { return; } cJSON *cmd = cJSON_GetObjectItem(root, "cmd"); cJSON *payload = cJSON_GetObjectItem(root, "payload"); if (!cJSON_IsString(cmd)) { cJSON_Delete(root); return; } if (strcmp(cmd->valuestring, "music.play") == 0) { miniapp_handle_music_play(payload); } else if (strcmp(cmd->valuestring, "music.pause") == 0) { audio_player_pause(); } else if (strcmp(cmd->valuestring, "music.next") == 0) { sd_music_next(); } else if (strcmp(cmd->valuestring, "bt.speaker.start") == 0) { bt_speaker_mode_start(); } else if (strcmp(cmd->valuestring, "bt.output.connect") == 0) { miniapp_handle_bt_output_connect(payload); } else if (strcmp(cmd->valuestring, "intercom.start") == 0) { intercom_start_record(); } else if (strcmp(cmd->valuestring, "volume.set") == 0) { miniapp_handle_volume_set(payload); } else if (strcmp(cmd->valuestring, "ota.check") == 0) { ota_check_update(); } cJSON_Delete(root); }

音量控制:

void miniapp_handle_volume_set(cJSON *payload) { cJSON *vol = cJSON_GetObjectItem(payload, "volume"); if (!cJSON_IsNumber(vol)) { return; } int volume = vol->valueint; if (volume < 0) volume = 0; if (volume > 100) volume = 100; g_audio_router.volume = volume; audio_player_set_volume(volume); lcd_ui_show_volume(volume); }

十二、AI 对话和 MCP 工具调用

大黄蜂不仅能播音乐,也可以做 AI 对话和智能控制。

用户说:

播放儿童故事 下一首 打开蓝牙音箱模式 连接客厅蓝牙音箱 开始对讲 打开客厅灯 进入睡眠音乐模式

AI 后端可以返回 MCP 工具调用:

{ "type": "tool_call", "tool": "speaker.music.play", "arguments": { "source": "cloud", "url": "https://cdn.example.com/story001.mp3", "title": "儿童故事" } }

MCP 工具定义:

typedef enum { MCP_TOOL_MUSIC_PLAY = 0, MCP_TOOL_MUSIC_STOP, MCP_TOOL_BT_SPEAKER, MCP_TOOL_BT_OUTPUT, MCP_TOOL_INTERCOM, MCP_TOOL_VOLUME_SET, MCP_TOOL_HOME_CONTROL, MCP_TOOL_UNKNOWN } mcp_tool_id_t; typedef struct { const char *name; mcp_tool_id_t id; } mcp_tool_map_t; static const mcp_tool_map_t g_mcp_tools[] = { {"speaker.music.play", MCP_TOOL_MUSIC_PLAY}, {"speaker.music.stop", MCP_TOOL_MUSIC_STOP}, {"speaker.bt.speaker", MCP_TOOL_BT_SPEAKER}, {"speaker.bt.output", MCP_TOOL_BT_OUTPUT}, {"speaker.intercom.start", MCP_TOOL_INTERCOM}, {"speaker.volume.set", MCP_TOOL_VOLUME_SET}, {"home.device.control", MCP_TOOL_HOME_CONTROL}, };

MCP 分发:

void mcp_service_handle(cJSON *root) { cJSON *tool = cJSON_GetObjectItem(root, "tool"); cJSON *args = cJSON_GetObjectItem(root, "arguments"); if (!cJSON_IsString(tool) || !cJSON_IsObject(args)) { return; } switch (mcp_get_tool_id(tool->valuestring)) { case MCP_TOOL_MUSIC_PLAY: mcp_handle_music_play(args); break; case MCP_TOOL_BT_SPEAKER: bt_speaker_mode_start(); break; case MCP_TOOL_BT_OUTPUT: mcp_handle_bt_output(args); break; case MCP_TOOL_INTERCOM: intercom_start_record(); break; case MCP_TOOL_VOLUME_SET: mcp_handle_volume_set(args); break; case MCP_TOOL_HOME_CONTROL: mcp_handle_home_control(args); break; default: lcd_ui_show_status("未知MCP工具"); break; } }

播放音乐工具:

void mcp_handle_music_play(cJSON *args) { cJSON *source = cJSON_GetObjectItem(args, "source"); if (!cJSON_IsString(source)) { return; } if (strcmp(source->valuestring, "cloud") == 0) { cJSON *url = cJSON_GetObjectItem(args, "url"); cJSON *title = cJSON_GetObjectItem(args, "title"); if (!cJSON_IsString(url)) { return; } cloud_music_item_t item = {0}; strncpy(item.url, url->valuestring, sizeof(item.url) - 1); if (cJSON_IsString(title)) { strncpy(item.title, title->valuestring, sizeof(item.title) - 1); } cloud_music_play(&item); } else if (strcmp(source->valuestring, "sdcard") == 0) { sd_music_play_index(g_sd_music_index); } }

十三、OTA 和资源更新

大黄蜂音箱 OTA 不只是升级主固件,还可以更新:

1. 云端音乐资源地址 2. 提示音资源 3. 小程序协议 4. 蓝牙兼容策略 5. 对讲协议 6. AI 后端地址 7. MCP 工具列表 8. SD 卡扫描策略 9. UI 资源 10. 语音唤醒词

OTA 版本文件:

{ "project": "doit_ai_bumblebee_speaker", "version": "1.0.3", "chip": "esp32s3", "url": "https://ota.customer.com/bumblebee_v1.0.3.bin", "asset_url": "https://ota.customer.com/assets/bumblebee_assets_v3.bin", "md5": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "force": false, "note": "新增SD卡音乐、蓝牙外放、AI对讲和小程序播放列表" }

OTA 执行:

void ota_check_update(void) { esp_http_client_config_t http_config = { .url = "https://ota.customer.com/bumblebee/latest.bin", .timeout_ms = 10000, .keep_alive_enable = true, }; esp_https_ota_config_t ota_config = { .http_config = &http_config, }; lcd_ui_show_status("正在升级,请勿断电"); esp_err_t ret = esp_https_ota(&ota_config); if (ret == ESP_OK) { lcd_ui_show_status("升级成功,正在重启"); esp_restart(); } else { lcd_ui_show_status("升级失败"); } }

分区表示例:

# Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x6000, otadata, data, ota, 0xf000, 0x2000, phy_init, data, phy, 0x11000, 0x1000, factory, app, factory, 0x20000, 0x300000, ota_0, app, ota_0, , 0x300000, ota_1, app, ota_1, , 0x300000, assets, data, spiffs, , 0x200000, storage, data, spiffs, , 0x100000,

十四、方案核心价值

四博大黄蜂 AI 智能音箱方案的核心价值,不是单纯增加几个播放功能,而是把AI 对话、音乐播放、蓝牙音频、本地存储、小程序控制和双向对讲整合成一个完整产品平台。

1. 支持云端音乐,适合故事、课程、儿歌、助眠内容 2. 支持 SD 卡音乐,无网环境也能播放 3. 可作为蓝牙音箱,手机直接连接播放 4. 可连接外部蓝牙音箱,实现无线外放 5. 支持 AI 对讲,小程序与设备可双向语音 6. 支持专属小程序,完成配网、控制、播放列表和 OTA 7. 支持 AI 对话和 MCP 工具调用 8. 支持 Wi-Fi / BLE / 4G 扩展 9. 支持二次开发和客户系统接入 10. 支持 OTA,量产后可持续迭代

一句话总结:

四博大黄蜂不是普通蓝牙音箱, 也不是简单 AI 播放器, 而是一个集云端音乐、SD 卡播放、蓝牙音箱、蓝牙外放、 AI 对讲、小程序控制和智能语音交互于一体的 AI 智能音频终端。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 19:15:34

抽象类及其运用

抽象类特点&#xff1a; 不能new这个抽象类&#xff0c;只能靠子类去实现它&#xff1a;约束&#xff01;抽象类中可以写普通的方法抽象方法必须在抽象类中 //abstract 抽象类&#xff1a;类 extends:单继承 &#xff08;接口可以多继承&#xff09; public abstract cl…

作者头像 李华
网站建设 2026/4/27 18:53:32

小爱音箱自定义固件终极指南:解锁开源智能语音助手

小爱音箱自定义固件终极指南&#xff1a;解锁开源智能语音助手 【免费下载链接】xiaoai-patch Patching for XiaoAi Speakers (小爱音箱), add custom binaries and open source software. Tested on LX06, LX01, LX05, L09A 项目地址: https://gitcode.com/gh_mirrors/xia/x…

作者头像 李华
网站建设 2026/4/27 18:51:52

基于Agent4Edu框架构建教育智能体:从LLM到专业教学助手的实践指南

1. 项目概述与核心价值最近在开源社区里&#xff0c;一个名为“Agent4Edu”的项目引起了我的注意。这个项目来自bigdata-ustc&#xff0c;从名字就能看出&#xff0c;它瞄准的是“教育智能体”这个方向。简单来说&#xff0c;它试图利用大语言模型&#xff08;LLM&#xff09;和…

作者头像 李华