CATALOG

芯步40W音柱提供完整的HTTP API接口,核心是签名鉴权+JSON命令结构。以下方案涵盖设备准备、签名算法、播报命令封装及多场景集成示例。

解决方案:基于芯步40W云语音播报音柱的二次开发(语音提醒发送)

1. 概述

芯步的 40W 智能语音音柱 是一款支持HTTP协议完全开放的播报设备。它不需要传统的录音上传,而是通过芯片级 TTS 技术,在设备端即时将文本合成为语音

本方案的目标是指导开发者如何利用该产品的开放接口,将其集成到现有的业务系统(如订单系统、监控中心、工控系统)中,实现实时的、自动化的语音提醒发送。

2. 二次开发准备

在开始编码之前,请确保完成以下硬件与平台配置:

准备项说明状态/要求
硬件设备40W 云语音播报音柱 (型号:UNI-YY-YZ-40W)确保通电并联网
网络环境支持 2.4G WiFi 或 有线网络设备需与服务器互通
开发者账户注册 芯步 官方平台获取 API 权限
关键凭证AppID, AppSecret用于签名计算
设备唯一标识Device ID (设备ID)指定接收指令的设备

在芯步控制台中,开发者需要获取以下三个核心参数:

  • AppID: 应用的唯一标识。

  • AppSecret: 用于加密签名的密钥。

  • Device ID: 40W音柱的设备编号(可在控制台查看或通过接口拉取)

3. 接口鉴权与请求机制

所有二次开发均通过标准的 HTTP POST 请求完成。芯步的接口设计遵循无状态原则,每次请求都需要携带动态签名以确保安全性。

请求地址结构:

https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

签名算法(核心安全机制):为了防止接口被恶意调用,系统采用双重MD5加密机制。

  1. 获取当前 Unix 时间戳(秒级),例如:1747212640

  2. AppSecret 进行一次 MD5 加密。

  3. 将上述加密结果与时间戳拼接(字符串连接)。

  4. 对拼接后的字符串再次进行 MD5 加密,得到最终的 sign

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

Header设置:

  • Content-Type: application/json

4. 核心功能开发:实现语音提醒发送

这是二次开发中最核心的部分。开发者只需要向设备下发一个包含文本内容的 JSON 指令,音柱即可立即发声。

命令结构:请求 Body 包含两个主要字段:device(设备ID)和 order(指令对象)。针对语音播报,order 对象中的 Key 为 play:gbk:16,Value 为你要播报的文本。

基础播报示例(JSON):

5. 进阶功能与控制

除了简单的文本播报,40W音柱还支持丰富的控制指令,开发者可以通过修改 order 对象来实现更复杂的场景。

5.1 带提示音的播报在实际应用中,单纯的语音可能不足以引起注意,前置一个提示音。

  • 命令示例{"play:gbk:16":"[message_3]欢迎光临"}

  • 效果: 设备会先播放一个短促的提示音,然后再播放“欢迎光临”。

  • 提示音列表[message_1][message_5] 对应5种不同的内置提示音

5.2 音量与音色调节在不同的时间段或环境(如夜晚的车间 vs 嘈杂的广场),需要动态调整音量。

  • 设置音量{"volume":"5"} (范围 0-9,9为最大)。

  • 切换男声{"voice":"1"} (0 为女声,1 为男声)。

  • 设置语速{"speed":"6"} (范围 0-9)。

5.3 高级播报(数字与多音字)通用 TTS 在处理“123.45”或“3000元”时可能读法不专业。该设备接口支持语义增强。

  • 金额读法: 直接发送 “消费 199.9 元”,设备会读作“一百九十九点九元”。

  • 手机号读法: 发送 “来电号码 13812345678”,设备会自动以手机号码节奏播报

5.4 紧急停止当发生误报或不需要继续播报长文本时,可以发送停止指令。

  • 停止当前{"stop":"0"}

  • 全部停止{"stop":"1"}

6. 代码开发示例

理论上任何支持HTTP协议的语言都可以对接,以下提供 JavaShell 两个典型环境的示例。

Java 实现(使用 Unirest 库):

注:代码参考自芯步官方及社区实践

Linux Shell 实现(使用 CURL):对于运维脚本或简单的集成测试,使用 CURL 是最快的方式

7. 集成架构

为了达到最佳实践,将二次开发模块设计为消息中间件模式

  1. 业务解耦: 业务系统(如ERP、CRM)只需发送一条MQ消息(如“播报:订单号XXX已超时”),不需要直接调用音柱接口。

  2. 语音服务层: 开发一个独立的微服务,负责监听MQ消息、计算签名、排队调用芯步API。

  3. 优势: 这样可以避免业务高峰期时,大量并发请求直接冲击音柱设备或触发API限流,同时方便管理不同设备的播报优先级。

8. 总结

通过对芯步40W云语音播报音柱的二次开发,您可以实现:

  1. 快速集成: 无需硬件底层知识,仅需HTTP协议即可完成。

  2. 实时性: 从调用到发声延迟通常在毫秒级。

  3. 可控性: 支持远程调节音量、音色,甚至可以针对特殊数字进行优化读法。

利用上述接口和代码示例,开发团队可以在短时间内将语音提醒能力赋予任何现有的软件系统。