芯步的30W户外音柱支持通过HTTP接口直接推送文本进行TTS播报,无需预先录音。以下是完整的接入方案,涵盖鉴权、接口调用和参数配置。
1. 概述
本方案的目标是指导开发者如何利用芯步开放平台的HTTP API,将30W远程控制户外防水音柱集成到现有的软件系统(如ERP、OA、工单系统或监控平台)中。
核心能力:通过简单的 HTTP POST 请求,将文字推送到音柱,音柱立即通过芯片级TTS(Text-To-Speech,文本转语音)将文字转化为高保真语音进行播放 。
适用场景:停车场语音提示、车间工位呼叫、公园/校园广播、安防警报联动、订单播报等。
硬件规格:IP66级防水防尘(适用户外)、30W大功率输出(覆盖面积大)。
2. 接入准备
在开始开发前,请确保完成以下三项准备工作:
硬件就绪:确认30W音柱已通电并联网(通过芯步平台注册上线),获取唯一的 Device ID。
平台凭证:登录[芯步开放平台],在“开发设置”中获取 AppID 和 AppSecret(开发者密码),这是调用接口的身份凭证 。
网络环境:确保服务器或客户端能访问公网API或已配置私有化部署。
3. 接口鉴权与交互流程
芯步的接口采用标准的HTTP POST请求,数据格式为JSON。核心交互流程如下:
动态生成签名:客户端根据AppSecret和当前时间戳计算MD5签名。
发起控制请求:携带签名向API地址发送包含“设备ID”和“播报命令”的请求。
设备响应:云端下发指令,音柱在约 80-120ms 内响应并开始播报 。
3.1 签名计算规则
为了保证接口调用的安全性,每次请求都需要携带 sign 参数,计算方式为:sign = MD5( MD5(AppSecret) + ts )
AppSecret:控制台获取的密钥。ts:Unix 时间戳(秒级)。+:字符串拼接。
3.2 请求地址
POST https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}4. 远程TTS语音播报实现
这是最关键的部分,通过构造不同的 order 参数,可以实现文本播报、音量调节、音色切换等操作。
4.1 核心播报命令
要让音柱说话,请使用 play:gbk:16 命令。该命令会立刻打断当前播放内容,优先播报新的文本。
请求示例(JSON Body):
4.2 高级控制参数
为了让播报更符合实际环境需求,在播报前或结合播报对音柱进行配置:
| 功能 | 参数Key | 说明与示例值 | 适用场景 |
|---|---|---|---|
| 音量调节 | volume | 范围 0-9。{"volume":"7"} | 夜间调低音量,避免扰民;白天调高音量,覆盖嘈杂环境。 |
| 音色切换 | voice | 0:女声(默认),1:男声。{"voice":"1"} | 区分不同类型的通知(如警报用男声,温馨提醒用女声)。 |
| 语速/语调 | speed/tone | 范围 0-9。{"speed":"5","tone":"5"} | 调整播报节奏,适应不同听觉习惯。 |
| 前置提示音 | play:gbk:16 | 在文本前加标记。"[message_1]车辆已识别" | 吸引注意力,内置1-5种提示音(message_1至message_5)。 |
| 停止播报 | stop | 0:停止当前,1:全部停止。{"stop":"1"} | 紧急情况或需要重置播报队列时使用 。 |
4.3 组合命令技巧
虽然每次只能发送一个 order 对象,但可以通过程序逻辑实现“先调音量,再播报”。在系统初始化或定时任务中设置音量。
代码逻辑示例:
// 1. 设置音柱音量为 8(较大音量)
POST -> {"device":"YZ3001", "order":{"volume":"8"}}
// 2. 等待 100ms(接口响应极快)
// 3. 发送播报文本
POST -> {"device":"YZ3001", "order":{"play:gbk:16":"[message_3]应急演练已结束"}}5. 代码集成示例
无论后端用什么语言,只需支持HTTP请求即可。以下是一些核心语言的逻辑示例(基于搜索到的资料整理):
Python 示例
Java 示例
利用 Unirest 或 OkHttp。核心逻辑同样是生成 MD5 签名,然后发起 POST 请求。注意 order 参数内部的 JSON 字符串格式 。
6. 常见问题和需要注意的点
中文字符乱码请一定要确保HTTP请求的
Content-Type设置为application/json; charset=utf-8。TTS引擎对UTF-8编码的中文支持最佳。特殊数字读法如果需要播报手机号或金额,请在文本中自行格式化或利用API的增强功能。
示例
“您的验证码是一二三,四五”(将数字转为汉字)或 SDK 中支持的金额读法标记 。
长文本截断虽然音柱支持长文本,但将播报内容控制在 120字以内,以获得最佳的用户体验和即时响应。
私有化部署如果服务器在局域网且音柱也在同一局域网,芯步支持私有化部署方案,此时请求地址需替换为本地服务器地址 。
通过以上步骤,您可以快速将户外防水音柱集成到您的业务系统中,实现稳定、实时的远程语音播报能力。