CATALOG

30W云音响通常指户外音柱或吸顶音箱,对接的核心是调用芯步开放平台的设备控制接口,通过签名认证后推送文本进行语音播报。以下是完整的技术方案:

1. 解决概述

1.1 背景与需求

对于拥有30W云音响(如户外防水音柱、大功率吸顶喇叭)的集成商或开发者,经常需要在无人值守或远距离开现场时景下,实时推送文本并进行语音播报(例如:停车场余位提醒、生产线工单呼叫、园区警报)。芯步提供的开放接口允许开发者绕过复杂的音频编码,直接通过HTTP 接口发送中文字符串,设备端内置的TTS(文本转语音)引擎将自动将其转换为自然语音输出

1.2 核心技术原理

  • 通讯协议:HTTPS(推荐)或 HTTP POST。

  • 数据格式:JSON 或 Form表单。

  • 鉴权方式:动态MD5签名(Sign)。平台通过 AppID 和动态计算的 Sign 值来确保接口调用的安全性,防止非法推送

  • 指令类型:针对云音响,主要通过 order 字段下发特定 TTS 播报指令。

2. 准备工作与设备参数

在开始对接前,请确认您使用的设备型号属于“云音响/语音播报类”产品(如芯步的“智能语音音柱|30W”、“智能语音喇叭3”或“吸顶音箱”)。此类设备支持以下关键参数调节

  • 播报优先级:支持打断播放或排队播放。

  • 音质特性:支持数字金额、手机号的智能读法优化(避免将“100元”读成“壹零零元”)。

  • 设备功率:30W 通常对应户外音柱或吸顶喇叭,适用于较大面积的覆盖。

3. 接口对接详细流程

3.1 API 请求地址

POST https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}
  • {AppID}:您的应用唯一标识(在芯步控制台获取)

  • {sign}:动态生成的签名。

  • {ts}:Unix 时间戳(秒级)。

3.2 签名生成规则(核心安全步骤)

为了防止接口被恶意调用或重放攻击,芯步采用了双层MD5加密机制。计算公式如下:sign = md5( md5(AppSecret) + ts )

具体实现逻辑:

  1. 提取 AppSecret:从控制台获取您的开发者密码(AppSecret)。

  2. 第一层MD5:对 AppSecret 原文进行 MD5 加密,得到 EncryptedSecret

  3. 拼接时间戳:将上述得到的 EncryptedSecret 与秒级时间戳 ts 进行字符串拼接(注意:是直接拼接,不需要连接符)。

  4. 第二层MD5:对新拼接的字符串再次进行 MD5 加密,得到的值即为 sign

注:时间戳 ts 的有效期通常在合理的时间差内(如前后5分钟),以防止请求被拦截后伪造。

3.3 请求体构造(重点:文本推送)

根据您的业务需求,构造 deviceorder 参数。对于30W云音响的文本播报,order 字段需按特定格式构造:

核心播报指令示例:

参数解析:

  • play:gbk:16:这是针对语音播报设备的专属命令格式。

    • play:动作,表示播报。

    • gbk:编码格式(通常支持中文)。

    • 16:音量等级(取值范围通常是 0-15 或 0-100,具体需参考设备手册,30W设备通常设为较高音量以覆盖广域)

  • Value(文本):您想要播报的具体内容,支持中英文、数字混合。

其他常用控制指令(可选):除了播报文本,还可以在同一个请求中或单独下发调节指令:

  • 音量调节{"volume":"10"} (调节整体设备音量)

  • 切换音色{"voice":"1"} (0女声/1男声)

3.4 关于并发与批量推送

如果您需要一次性向30台设备推送相同的内容(例如全厂区警报),接口支持批量下发。

  • 操作方式:在 device 字段中,使用英文逗号 , 或竖线 | 连接多个设备ID。

  • 限制:根据接口文档,一次请求最多支持100台设备。因此,向30台设备推送,理论上一次 HTTP 请求即可完成,无需循环调用。

  • 注意:文档中提到,批量下发时,这些设备必须属于同一类产品(即都支持 play:gbk 指令)且指令相同

4. 代码实现示例(以通用伪代码/Java为例)

由于需要处理签名逻辑,以下以 Java 为例展示核心逻辑

5. 注意事项与常见坑点

5.1 返回码 200 不等于设备已播报

这是对接过程中最容易误解的地方。接口返回 {"code":200} 仅代表平台已接收指令并下发给设备。如果设备断电、断网或离线,依然返回200。因此,对于需要确认是否播报成功的场景(如支付到账提醒),必须开启异步消息推送功能(通过配置回调URL),接收设备返回的执行结果

5.2 文本长度与编码

  • 虽然接口支持长文本,但30W设备通常内置TTS引擎,过长的文本(超过200字)会导致播报延迟或卡顿。将文本控制在100字以内,或者截断后分批次发送

  • 确保请求端编码为 UTF-8,避免gbk参数与实际编码不匹配导致乱码。

5.3 网络规划

  • 30W云音响通常位于信号较弱的环境(如地下停车场、钢结构厂房)。对接前请确保 WiFi Rssi 信号强度在 -60dBm 以上,否则平台下发的指令可能会因为设备网络丢包而丢失

6. 总结

对接芯步30W云音响实现文本推送,本质上是调用标准的 device/control 接口。开发者只需按照规则处理好 “签名鉴权” ,并将 order 参数格式封装为 {"play:gbk:X":"文本"} ,即可实现向30台设备的高并发推送。这种方案极大地降低了硬件开发的门槛,让后端工程师能够通过几行代码快速实现语音能力的集成。