CATALOG

芯步的智能语音音柱开放了标准的HTTP接口,对接起来其实就是一个“发请求”的事。我下面梳理了一个完整的对接方案,从签名计算到代码示例都涵盖了,你可以直接拿去参考。

一、 准备工作:先拿到“钥匙”和“门牌号”

在写代码之前,你需要先去芯步的后台拿到三样东西,这就好比你要发快递,得知道收件地址和联系方式:

  1. AppID(应用ID):这是你项目的唯一标识。

  2. AppSecret(开发者密码):这相当于你的密码,千万别把它写在网页前端代码里,只放在后端用。

  3. Device ID(设备ID):就是你买的那台30W音柱的身份证,一般在设备外壳的标签上或者后台的设备列表里能看到。

稍微说一嘴,芯步的接口是完全免费的,不管是公有云还是私有化部署,都不额外收接口费

二、 核心步骤:怎么写代码让它“开口说话”?

对于30W的音柱,最核心的功能就是 TTS(文字转语音) 。你要做的就是把你想要它念出来的文字,通过HTTP请求扔给它的云端服务器。

芯步用的是 HTTP POST 请求,接口地址格式如下:http(s)://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}

虽然看着地址有点长,但其实真正关键的参数只有两个放在Body里:

  • device:就是你的设备ID。

  • order:这里就是下达指令的核心了。

关键指令:让它开始播报

对于30W音柱,播报文本的命令是 play:gbk:16假设你想让它喊“【注意】仓库A区,有车辆正在倒车,请注意安全”,或者“您好,欢迎光临”,你的order字段就要写成这样:

除了播报,这几个命令也很有用:

  • 调节音量{"volume": 80} (范围一般是0到100)

  • 切换男/女声{"voice": 0} (0通常是女声,1是男声,具体可以查一下手册

  • 停止播报{"stop": "now"} (如果你发现念错了,可以用这个让它闭嘴)

三、 实战代码:复制粘贴就能用(Python示例)

为了让你看得更明白,这里直接用Python写一个简单的脚本。唯一稍微复杂点的就是签名(sign)的计算,芯步的规则是:sign = md5( md5(AppSecret) + ts ) 。先对自己的密钥做一次MD5,再把结果拼上时间戳,整体再做一次MD5。

假设你刚点完外卖,用户来取餐了,你想让音柱喊“贵客,您的餐品已备好,请取餐”。

四、 几个容易踩坑的地方(经验之谈)

  1. 编码问题play:gbk:16里的gbk代表编码格式,如果播出来是乱码,试试把gbk改成utf-8,或者检查一下你代码文件的编码格式。

  2. 网络要求:30W音柱通常只支持2.4G WiFi或者有线网络。配网的时候,记得别连上5G的那个WiFi信号,不然它死活连不上

  3. 获取执行结果:上面的代码只保证了云端收到了指令。如果你需要确认“音柱到底念了没”,需要配置消息推送功能,设备执行成功后,云端会回调你的服务器,告诉一声“任务完成了”

  4. 多音字:如果遇到人名、地名念错了,比如“重庆”念成了“重qing”,可以尝试在文本里加注音,或者调整tone(语调)参数,大多数情况下更换音色(voice)能解决这个问题

五、 总结一下这个方案

如果你的业务系统(比如ERP、排队叫号系统、或者自动警告系统)想对接这个30W音柱,流程就是:业务触发(比如有人按了门铃) -> 后端计算签名 -> 请求接口 -> 音柱立刻发声。

这套方案的好处是开发量极小,不管你用的是PHP、Java还是Go,逻辑都跟上面Python代码一模一样,只需要改一下语法就行了