芯步智能语音音柱开放HTTP接口,支持通过API远程调节音量、音色、语速等参数。以下方案涵盖接口协议、签名算法及多语言代码示例,帮助你快速完成二次开发集成。
解决方案:基于芯步开放接口的智能60W音柱二次开发
一、 背景与概述
芯步推出的智能60W云控制语音音柱(型号:UNI-YY-YZ-PRO-60W / UNI-YY-YZ-60W)是一款支持WiFi联网的工业级语音设备。设备开放了标准的HTTP API接口,允许开发者通过任何编程语言(Java, Python, Node.js, PHP等)进行二次开发。
本方案的目标是解决开发者如何通过调用API,实现对音柱的音量调节、音色(男/女声)切换及音效的远程控制。
二、 核心技术原理
音柱采用“设备直连”模式,无需网关,直接通过WiFi 2.4G连接云端。
通信协议:HTTPS
请求方法:POST
数据格式:JSON
鉴权方式:签名验证 (MD5)
核心逻辑:开发者的服务器通过调用芯步的API,向指定设备ID下发包含“动作指令”的JSON字符串,设备执行指令并返回结果。
三、 接口准备与鉴权签名
在开始开发前,请登录芯步物联网控制台,获取以下关键凭证:
AppID:应用唯一标识。
AppSecret:开发者密码(用于加密签名)。
Device ID:目标音柱的设备编号。
为避免接口被恶意调用,每次请求必须携带动态生成的签名(Sign)。
签名算法Sign = MD5( MD5(AppSecret) + ts )
步骤1:将
AppSecret进行MD5加密得到字符串S1。步骤2:将
S1与当前时间戳ts(秒级)拼接成字符串S1ts。步骤3:将
S1ts再次进行MD5加密,得到最终的Sign。
注意:时间戳
ts需同时作为URL参数传递,服务器会校验时间戳的有效性(通常为5分钟内)。
四、 功能实现:音量与音色调节
要实现“云控制语音音色调节”,核心在于 order 参数的构建。针对音柱类设备,芯步的指令集通常包含以下扩展参数:
1. 音量调节
你可以通过下发指令来改变音柱的音量大小,通常范围是 0-20(视具体固件而定,部分为0-100)。
命令示例:将音量设置为 80%。
JSON参数
2. 音色/音效调节
该设备支持“真人发声”,并允许切换男声和女声。此外,可调节语速和语调。
命令示例:切换为女声,并将语速调快。
JSON参数
3. 组合指令与播报
通常情况下,你会将“调节参数”与“播报内容”结合。你可以先设置音色,再让音柱说话;也可以通过特定的 play 指令直接调用预设的文本转语音功能。
播报指令:以指定的音量(15级)和音色(女声)播报文本“设备启动成功”。
JSON参数
注:
play:gbk:15中的15可能指代不同的音色ID或音量级,具体请参考产品手册中的编码表。
五、 代码实现示例
以下提供三种主流语言的实现逻辑。
1. Python 3 实现利用 requests 库进行请求。
2. Java 实现利用 Unirest 或 OkHttp 库。
3. Node.js 实现利用 axios 或原生 http 模块。
六、 常见问题与调试
返回“签名错误”:请检查时间戳是否为秒级(例如
Java的System.currentTimeMillis()/1000),并确保拼接字符串的顺序是MD5(AppSecret) + ts后再做MD5。设备不在线:60W音柱仅支持 WiFi 2.4G 网络。请确保设备通电且网络信号良好。设备支持设定5组WiFi,会自动选择信号最强的连接。
关于文本编码:在播报中文时,若出现乱码,请检查
order中的编码设置,通常使用play:gbk:16或类似指令来处理中文字符。音色不生效:请确认当前固件版本支持音色切换。部分早期型号或特定版本(如中英文版)可能仅支持女声,查阅产品对应手册获最取新指令集。
七、 总结
通过芯步提供的标准 HTTP 接口,开发者可以极其方便地将 60W 云控制音柱集成到现有的 OA、ERP 或自定义 SaaS 平台中。通过构建包含 volume(音量)、voice(音色)和 speed(语速)等参数的 JSON 命令,并附加动态 MD5 签名鉴权,即可实现对硬件设备的毫秒级远程控制。