CATALOG

这款15W智能语音壁挂音箱通过HTTP接口对外提供控制能力,播放/暂停的核心指令是 stop 命令。以下从接口协议、签名算法到代码实现,梳理完整的接入方案。

解决方案:如何接入芯步智能语音壁挂音箱15W实现语音播放/暂停控制

1. 概述与环境准备

芯步智能语音壁挂音箱15W(型号:UNI-YY-YX-BG-15W)支持通过标准的HTTP接口进行远程控制。这意味着你可以通过任何后端服务(如Java、Python、PHP、Node.js)或支持HTTP请求的前端应用(需注意跨域问题)向设备下发指令。

核心控制逻辑:

  • 播放控制:通过向设备下发要播报的文本内容(TTS)来实现“播放”。

  • 暂停/停止控制:通过下发专用的停止指令来实现暂停或停止当前播放。

准备工作:

  1. 注册与登录:访问芯步官网并注册账号。

  2. 获取凭证:登录后,在工作台(控制台)获取 AppID(应用ID)和 AppSecret(开发者密码)

  3. 设备配网与ID获取

    • 确保音箱通电并处于配网状态(指示灯通常为闪烁状态)。

    • 使用微信小程序“芯步”或电脑后台,为设备配置现场的2.4G WiFi网络

    • 配网成功后,在后台的“设备列表”中查看并记录下该音箱的 Device ID(设备ID),这是后续API调用必须用到的唯一标识

2. 接口鉴权机制

芯步的API采用动态签名验证,所有请求都需要携带 signts 参数。

签名算法步骤:

  1. 获取当前Unix时间戳(秒),作为 ts

  2. AppSecret 进行第一次 MD5 加密,得到 secret_md5

  3. secret_md5ts 字符串拼接,得到 tmp_str = secret_md5 + ts

  4. tmp_str 进行第二次 MD5 加密,得到最终的签名 sign

公式:sign = MD5( MD5(AppSecret) + ts )

3. 核心控制指令详解

该设备的控制指令封装在JSON数据包中,通过HTTP POST请求发送至指定API地址。

  • API请求地址http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

  • 请求方式: POST

  • Content-Typeapplication/json

针对“播放暂停”需求,我们主要关注以下两个指令:

功能Order指令格式 (JSON)说明
开始/执行播放{"play:gbk:16": "要播放的文字内容"}设备收到后立即进行TTS语音合成并播放。若设备正在播放,新指令会打断当前播放并播报新内容
暂停/停止播放{"stop": ""}{"stop": "1"}强制停止当前正在播放的语音。这是实现“暂停”功能的关键指令

注:该设备不支持“从断点处恢复播放”的语义暂停,因为TTS是一次性合成的流播报。“暂停”在硬件层面通常表现为“停止播放”。

4. 具体编程实现步骤

以下以 PHPPython 为例,展示如何集成该控制逻辑。

4.1 PHP 实现示例
4.2 Python 实现示例

5. 实际应用场景与逻辑串联

在实际业务中,你可能只需调用上述API即可。例如:

  1. 场景A:公共广播系统

    • 触发:管理员在后台点击“播报通知”。

    • 动作:调用 play 接口,推送“今天下午三点会议室开会”。

    • 触发:管理员点击“关闭麦克风/暂停”。

    • 动作:调用 stop 接口,让音箱立即静音。

  2. 场景B:排队叫号系统

    • 触发:取号机出票。

    • 动作:调用 play 接口播放“请A001号顾客前往2号窗口”。

    • 触发:柜台呼叫下一个号时,如果上一个号码仍在重复播报,系统应自动调用 stop 停止当前语音,再播放下一个号码。

6. 常见问题和需要注意的点

  1. 网络延迟:HTTP控制基于Wi-Fi,通常延迟在80-120ms之间。如果需要毫秒级同步(如音乐节奏灯光),该方案不适用,但对于“播放/暂停”语音是完全无感的。

  2. 本地回环(局域网):该设备支持私有化部署和局域网控制。如果你的服务器和设备在同一局域网且网络层互通,可以将请求域名api.thingboot.com替换为设备的局域网IP进行直连,减少公网依赖。

  3. 远程音量控制:为了提高用户体验,在播放前或暂停恢复后通过 volume 指令调节音量,例如:{"volume": 80} 代表设置音量为80%

  4. 状态同步:该API是单向下发指令,不返回设备当前的“播放/停止”状态。如果需要获取当前状态,通常需要结合场景逻辑(如业务端维护一个播放状态锁)来管理。

通过以上步骤,你可以快速将15W智能语音壁挂音箱集成到你的OA、ERP或自定义工单系统中,实现灵活的语音播报与停播控制。