CATALOG

芯步智能语音壁挂音箱(30W)提供标准HTTP接口,支持通过文本转语音(TTS)实现远程语音播报,无需预录音频。对接的核心是利用签名机制调用/device/control接口,即可完成文本推送、音量/语速调节、铃声播放及播放列表管理等操作。

1. 背景与需求分析

在智慧办公、智慧工厂或智慧零售场景中,经常需要通过广播系统播放迎宾语、工单指令、报警通知等多种类型的内容。传统方法需要现场录音或更换U盘,管理效率低下。

核心需求:

  • 远程内容更新:无需前往设备现场,通过网络更新播放内容。

  • 列表化调度:针对不同场景(如早、中、晚)或不同优先级(报警 > 通知 > 背景音乐)建立播放列表。

  • 状态可感知:实时获知设备是否在线及播放状态。

2. 核心技术原理

本次对接的 智能语音壁挂音箱(30W) 利用 WiFi 2.4G 直连网络,无需网关。芯步开放了基于 HTTP协议 的API接口,核心逻辑是通过 MD5签名 进行身份验证,以 JSON 格式下发指令

  • TTS引擎:设备内置语音合成芯片,接收 play:gbk:16 指令中的文本即可直接发声,支持数字、多音字智能识别。

  • 指令集:支持独立的音量调节(volume)、语速调节(speed)以及铃声/提示音(ring/message)。

3. 对接准备

在开始开发前,请完成以下准备工作:

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

  2. 获取凭证:进入控制台的“开发设置”,获取 AppIDAppSecret(开发者密码)

  3. 设备配网:使用“芯步小程序”或控制台的“网络配置”功能,将音箱连接至现场的2.4G WiFi网络

  4. 获取Device ID:在控制台的设备列表中,查看并记录下这台“智能语音壁挂音箱”的唯一ID

4. 接口对接与签名机制详解

所有控制指令的请求地址均为:https://api.thingboot.com/{AppID}/device/control/

4.1 签名计算规则(PHP示例)

为了安全,每次请求必须携带动态生成的签名(sign)和时间戳(ts)。签名生成规则为:md5( md5(AppSecret) + ts )

4.2 请求参数结构

请求方式为 POSTContent-Typeapplication/json。Body 中包含 deviceorder 两个字段

5. “远程播放列表管理”功能的实现逻辑

由于设备本身主要响应单次指令,我们需要在服务端(你的服务器) 上实现“列表管理”的逻辑,将列表条目转化为设备能识别的连续指令,实现类似轮播或定点播报的功能。

5.1 列表数据结构设计

在你的后端数据库中,设计一个播放列表配置表,示例如下:

场景 ID播放顺序指令类型 (Type)内容 (Content)延时 (Delay)
11tts欢迎光临XX商场0
12tts请至二楼办理会员2
13audio[ring_1] (内置门铃声)0

5.2 关键接口命令详解(Order)

要实现列表中的单条内容播放,你需要下发以下具体的 order JSON 数据:

1. 文本播报 (TTS)

  • 场景:播放欢迎语、工单指令、天气预报。

  • 代码{“play:gbk:16”:“你需要播报的文本内容”}

  • 注意:文本长度控制在50字符以内,长文本分段发送,并增加间隔时间

2. 音效与提示音

  • 场景:播放特定铃声吸引注意力。

  • 铃声{“ring”:“1”} (支持1-5号不同铃声)

  • 提示音{“message”:“3”}

3. 音量与语速调节

  • 场景:夜间调低音量,或为了清晰播报调节语速。

  • 音量(0-9){“volume”:“5”}

  • 语速(0-9){“speed”:“5”}

  • 音色(0女/1男){“voice”:“1”}

5.3 调度逻辑流程

要在早上9点播放“车间生产日报”,可参考以下集成流程:

  1. 定时触发:你的业务服务器接收到定时任务。

  2. 调节音量:先发送 {“volume”:“7”} 确保音量足够。

  3. 发送正文:发送 {“play:gbk:16”:“车间今日生产计划已更新,请查看大屏”}

  4. 发送完成指令(可选):若需停止长时间循环,可发送 {“stop”:“1”}

6. 多语言代码示例

Java 实现 (使用 Unirest)

Python 实现

cURL 命令行测试

你可以直接在命令行测试设备连通性:

7. 高级功能与优化

  1. 局域网与私有化部署如果你的音频内容涉密或网络环境要求高,该音箱支持私有化部署。在控制台配置自建消息服务器IP即可,API调用路径也相应修改为内网地址

  2. 多播组网如果有多个音箱(如覆盖不同车间),可以在 device 字段中用英文逗号 , 拼接多个Device ID,实现“一呼百应”的全厂广播

  3. 停止与打断在播放高优通知(如紧急停电)前,先下发 {“stop”:“1”} 清空当前播放队列,再下发新内容

8. 总结

通过对接芯步的开放HTTP接口,你可以为传统的30W壁挂音箱赋予“大脑”。虽然音箱本身不存储播放列表,但通过结合你的业务后端逻辑,利用 play:gbk:16 接口下发动态文本,完全可以实现高度灵活的远程内容管理和自动化语音播报系统。该方案实施简单,仅需几行代码即可完成原型验证。