CATALOG

芯步30W音柱支持内置铃声、提示音、警示音各5种,通过HTTP接口的order字段即可直接调用。以下是完整的二次开发方案,涵盖签名计算、命令格式和代码示例。

一、 解决概述

芯步的智能语音音柱提供了标准化的HTTP API接口,允许开发者通过发送POST请求来控制设备。要实现内置铃声的播放,不需要进行复杂的音频文件上传或下载,只需在请求的order参数中指定对应的铃声ID即可。

核心逻辑:你的业务系统(OA/ERP/App) -> 触发事件(如订单到达) -> 调用HTTP API(携带设备ID和播放命令) -> 芯步云平台 -> 下发指令至30W音柱 -> 音柱播放指定铃声。

二、 准备工作:接口鉴权与地址

在开始编码前,需要从芯步控制台获取以下三个核心凭证,用于构造请求签名:

  1. AppID:应用唯一标识。

  2. AppSecret:开发者密码,用于签名加密。

  3. Device ID:设备的唯一ID(30W音柱的ID)。

接口详情

  • 请求地址https://api.thingboot.com/{AppID}/device/control/

  • 请求方式POST

  • Content-Typeapplication/json

签名算法(Sign)

为了防止接口被恶意调用,所有请求都需要携带动态签名。签名算法规则如下(经搜索结果证实):sign = md5( md5(AppSecret) + ts )

  • Step 1:将 AppSecret 进行MD5加密,得到字符串 S1

  • Step 2:将 S1 与当前的时间戳 ts(秒级,如 1715224194)进行字符串拼接,得到 S2

  • Step 3:将 S2 再次进行MD5加密,得到最终的 sign

三、 实现内置铃声播放的核心命令

根据芯步的指令集规范,30W音柱支持多种内置提示音。

在HTTP请求的order字段中,你可以通过以下三种Key来播放不同的内置音效:

音效类型Key名称取值 (1-5)适用场景备注
普通提示音message1, 2, 3, 4, 5新订单提醒、扫码成功、门铃短促、清脆、意在引起注意
铃声ring1, 2, 3, 4, 5上下班打卡、来电提醒、整点报时根据测试,值越大可能节奏越长
警示音alert1, 2, 3, 4, 5故障报警、安全提醒、异常警告音调较高,声音更急促

组合播放策略:通常在实际业务中,需要将音效语音播报结合起来。例如:“叮咚”一声(提示音)后播放“您有新的订单”。

你可以在同一指令中组合命令,只需将order构造成一个JSON对象,同时包含messageplay:gbk:16字段即可

四、 代码实战示例

以下提供几种语言的二次开发核心代码片段,演示如何调用接口让音柱播放编号为3的内置提示音。

1. Java 实现

利用 Unirest 库和 Apache Commons Codec 进行签名计算。

2. JavaScript (适用于Web前端 或 Node.js后端)

如果是微信小程序或浏览器环境,请注意签名暴露的风险,在后端计算Sign;本地测试可使用如下逻辑:

3. HTTP原生请求 (Curl/命令行)

如果你使用Postman或Linux命令行进行联调:

五、 高级应用:自定义组合场景

在实际二次开发中,为了提升用户体验,通常不会只播放一个“嘀”声,而是播放“提示音 + 语音内容”。

场景:仓库出库校验成功

  • 需求:播放“滴”的一声(提示音),接着播报“出库成功,请装车”。

  • 实现:构建如下order结构。

场景:产线故障紧急停机

  • 需求:即使音柱当前在播放其他内容,也要强行打断并播放高优先级警报,且要求重复播放

  • 实现:先发送停止指令,再发送警示音指令。

六、 注意事项与排查

  1. 音柱型号确认:此方案明确适用于芯步30W HTTP接口语音音柱。请确认你的设备型号支持message/ring/alert这三个指令集。

  2. 声音大小:如果听不到铃声,请检查音量设置。你可以发送 {"volume":"7"} 来调整音量(0-9级,9最大)

  3. 时间戳有效期:签名中的ts是Unix时间戳(秒)。服务器通常会校验时间戳的有效性,若设备与服务器时间相差过大(如超过5分钟),签名会失效。

  4. 音频格式play:gbk:16 中的 gbk 代表编码格式,16 代表音量(0-16)。如果中文出现乱码,请确保你的开发环境编码与接口编码一致(使用UTF-8GBK转换)

  5. 网络隔离:请确保你的服务器能够正常访问 api.thingboot.com(出网权限)。

通过上述步骤,你可以快速将芯步的语音音柱集成到自己的系统中,利用内置铃声实现低延迟、高稳定性的语音提醒功能。