一、写在前面
大家好,这篇文章我们一起来聊聊如何把芯步那款 20W 壁挂远程控制语音音箱 接入你们自己的云平台,实现远程语音推送。说白了,就是让你的系统能随时随地对指定音箱说:“嘿,现在给我播报这段话!”
整个过程其实没那么复杂,芯步的开放接口设计得还是比较清爽的,主要走 HTTP 请求就行,支持任何编程语言——Java、Python、PHP、Node.js 都随便你。下面我们就一步步来。
二、准备工作:拿到你的“身份证”
在开始写代码之前,需要先拿到几样东西,就像进门需要钥匙一样:
| 准备项 | 说明 | 在哪里找 |
|---|---|---|
| AppID | 你的应用ID | 登录芯步控制台 → 开发设置页面 |
| AppSecret | 开发者密码(请妥善保管) | 同上,如果没有就点“设置”生成一个 |
| Device ID | 音箱的设备ID | 设备外壳上的标签,或者控制台的设备列表里都能找到 |
拿到这三个东西,就可以开工了。对了,芯步的开放平台是永久免费的,这块不用担心费用问题。
三、核心接口:怎么给音箱下命令
3.1 接口地址
3.2 签名怎么算
这个稍微有点绕,但照着做就行:
公式写出来就是:sign = md5( md5(AppSecret) + ts )
小提示:ts 是秒级时间戳,不是毫秒级的。Java里用
System.currentTimeMillis() / 1000就行。
3.3 请求体长什么样
device 就是音箱的设备ID,order 里放你要下发的命令。上面的例子是让音箱播报一段文字,这也是我们最常用的场景。
四、实战:让音箱开口说话
4.1 文字播报——最核心的功能
想让音箱把一段文字念出来,用 play:gbk:16 这个命令就行:
音箱收到后就会立刻用内置的语音引擎把这段话念出来,支持中英文混读、数字智能识别,比如“10086”会读成“幺零零八六”而不是“一万零八十六”。
4.2 调节音量、音色、语速
有时候环境比较吵,或者需要特定的播报风格,可以先把参数调好再播报:
如果你只是想单独调音量,也可以只发 {"volume":"7"},音箱自己会记住这个设置。
4.3 播放内置提示音
音箱自带了几种提示音和铃声,适合做“订单来了”“报警触发”这类场景:
甚至可以先放提示音再接文字播报,比如这样:
4.4 批量控制多个音箱
如果你有好几个音箱要同时播报——比如商场的多个楼层同时广播——可以一次发下去:
一次最多支持 100台 设备同时下发。
五、代码示例(Java版)
以 Java 为例,用 OkHttp 来实现: