CATALOG

芯步40W语音音柱的开放接口采用标准HTTP协议,核心是将文本通过API推送即触发设备端TTS合成,无需预录音频。以下方案涵盖接口鉴权、播报命令、参数调优及异常处理,可直接集成到各类业务系统中。

1. 接口对接核心流程

整个对接过程基于HTTP POST请求,业务系统将文本内容发送至芯步云端API,云端再将指令下发给音柱设备。

  • 流程说明

    1. 签名计算:使用 AppID、AppSecret 和当前时间戳,按照约定的MD5规则生成签名(Sign)。

    2. 构建请求:组装JSON格式的请求体,包含设备ID(Device)和播报命令(Order)。

    3. 发起请求:向 https://api.thingboot.com/{AppId}/device/control/ 地址发送POST请求。

    4. 执行播报:云端校验通过后,音柱立即进行语音合成并播报。

2. 鉴权与请求构建

API调用需携带签名以确保安全性,签名生成逻辑如下。

参数说明
AppId平台生成的唯一应用ID,用于标识开发者身份。
AppSecret平台生成的密钥,用于加密签名,请勿泄露
ts当前Unix时间戳(秒),用于防止请求重放攻击。
Sign签名值,计算公式:Sign = md5( md5(AppSecret) + ts )

签名计算示例(概念)假设 AppSecret = "abc123"ts = 1704067200

  • 第一步:encode1 = md5("abc123") -> 结果假设为 e99a18c4...

  • 第二步:Sign = md5("e99a18c4...1704067200") -> 最终签名。

请求地址

POST https://api.thingboot.com/{Your_AppId}/device/control/?sign={Your_Sign}&ts={Current_ts}

请求头

请求体(Body)

3. 高阶播报与参数设置

除了基础播报,接口还支持动态调整音量和语速,并内置了多种提示音,无需预录音频文件。

进阶请求示例

3.1 数字与多音字智能处理

接口支持在文本中标记数字读法和多音字,以应对专业场景。

场景原始文本写法播报效果
金额/数值"警报值:{12345,amount}"“警报值:一万两千三百四十五元”
手机号"回拨电话:{13812345678,mobile}"“回拨电话:幺三八 幺二三四 五六七八”
多音字"银行{行,xing}长来到{行,hang}内检查"“银行行长来到行内检查”
短停顿"请注意{1}火车马上就要来了"“请注意(停顿0.5秒)火车...”
长停顿"倒计时{2}3{2}2{2}1"“倒计时(停顿1秒)3(停顿1秒)2...”

3.2 内置音频使用

直接使用内置铃声或提示音,避免生成TTS语音。

4. 代码集成示例

以下是使用 PythonJava 实现该接口的代码片段。

4.1 Python 示例

4.2 Java 示例

5. 解决方案架构与异常处理

5.1 推荐架构

采用异步队列 + 重试机制。业务系统(如订单系统)触发播报事件后,将其写入消息队列(如RabbitMQ/Kafka),由独立的Worker服务消费队列调用芯步接口。这样做可以有效应对瞬间高并发播报请求,削峰填谷,且队列未消费消息支持持久化重试,防止因网络抖动导致播报丢失。

5.2 常见错误码与处理

现象可能原因处理
签名错误AppSecret错误、ts格式不对、MD5计算顺序错误。核对控制台密钥,检查ts是否为10位数字。
设备离线 (1002)音柱未联网或断电。检查设备电源及WiFi/网线连接。
设备不存在 (1004)设备ID输入错误,或设备未添加到该AppId下。核对控制台设备列表中的ID。
播报延迟高/丢包本地网络到云端延迟高,或设备WiFi信号差。音柱靠近路由器,或使用有线网口版本

5.3 网络部署

  • 公网模式:标准方案,依赖互联网连接,适用于分布在各处的独立场景(如连锁门店)。

  • 局域网/私有化部署:若您的服务器与音柱处于同一局域网(如工厂车间内网),且不允许外网访问,可联系芯步技术支持获取私有化SDK本地消息中间件(M2M)。此时API请求将发送至本地服务器,不经过公网,保障数据隐私与更低延迟。

通过上述方案,开发者可以快速、稳定地将“智能语音音柱|40W”集成到任何支持HTTP的软件系统中,实现高效的云端文本转语音播报。