【电子DIY作品】不想当Ai助手的音响不是好对讲机+Ai-WV01-32S #19
AmateurNoobDog
started this conversation in
DIY
Replies: 2 comments
|
nice~ |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
一、创作思路
1.1 项目起源
AiPi-PalChatV1 原本是一款 AI 语音助手开发板,板载了 VB6824 音频编解码芯片、麦克风、扬声器和 WiFi 模组,核心算力由 BL602 提供。这些硬件天然具备语音采集、编码、传输和播放的完整链路,非常适合实现互联网对讲机这一经典应用场景。
刚好手上有两块 AiPi-PalChatV1 开发板,便有了这个想法:把它们改造成一对无需依赖公网云服务、完全自主可控的互联网对讲机。
1.2 主要用途
1.3 设计理念
1.4 创新点
二、硬件选型与引脚连接
2.1 核心硬件清单
2.2 系统架构框图
flowchart TB subgraph HW["AiPi-PalChatV1 硬件"] direction LR MIC["麦克风 (MEMS)"] -->|ADC 采集| VB6824["VB6824 音频编解码"] VB6824 -->|编码| BL602["BL602 主控"] BL602 -->|解码| VB6824 VB6824 -->|DAC 播放| SPK["扬声器 (2W/8Ω)"] PTT["PTT 按键"] --> BL602 LED["板载 LED"] --> BL602 end subgraph SRV["中继服务器 (自建)"] WS["intercom_server.py<br/>Python + websockets"] end BL602 -->|"WiFi (WSS)"| WS WS --> CH1["频道 1"] WS --> CH2["频道 2"] WS --> CH3["… 频道 16"]三、功能特性
四、系统架构(通信流程)
sequenceDiagram participant A as 设备A(说话方) participant S as 中继服务器 participant B as 设备B(收听方) A->>S: 1. WebSocket 连接 A->>S: 2. 注册到频道 1 B->>S: 3. WebSocket 连接 B->>S: 4. 注册到频道 1 A->>S: 5. 按住 PTT,采集语音<br/>(Opus 编码,分片发送) S->>B: 6. 转发至频道 1 所有设备 Note over B: ◀── 实时播放 A->>S: 7. 松开 PTT,结束发射 S->>B: 8. 转发结束通知通信协议说明
{"type":"register","channel":1}{"type":"audio","data":"<base64>"}{"type":"start_talking"}{"type":"stop_talking"}{"type":"audio","data":"<base64>","from":"xx"}五、源码与仓库
5.1 源码仓库
https://gitee.com/amateur-dog/aipi-palchatv1-ptt
项目已开源,包含完整的对讲机客户端与中继服务器源码:
5.2 依赖说明
六、服务器部署指南
6.1 安装与启动
正常启动日志:
6.2 设备端配置
编辑
aipi-palchatv1/intercom_config.h:INTERCOM_MODE1=对讲机模式,0=AI 语音助手模式INTERCOM_SERVER_HOSTINTERCOM_SERVER_PORTINTERCOM_DEFAULT_CHANNEL七、使用方法
7.1 开机启动
开发板上电后,串口日志(115200 baud)应显示:
7.2 PTT 通话操作
7.3 LED 状态指示
八、成品展示
8.1 实物照片
8.2 语音交互演示视频
All reactions