CATALOG

要把芯步的20W云远程语音音柱接入到自己的项目里,其实比想象中要简单。这玩意儿本质上就是通过网络接收指令然后发声,核心就是调它的开放HTTP接口。下面咱们就来聊聊具体的对接步骤,争取让你看完就能上手。

一、准备工作:先把硬件“连上网”

在写代码之前,得先把那台20W的音柱拿过来,让它连上WiFi。这步搞定了,后面的就水到渠成了。

  1. 注册与创建:去芯步的官网注册个账号,进入控制台,创建一个“工作台”。这相当于给你的项目开个独立空间

  2. 配网操作

    • 在控制台里找到“网络配置”,把现场WiFi的名称和密码登记上去(注意:必须是2.4G频段的WiFi)

    • 音柱通电后,用手机App或者小程序扫描设备上的二维码,按照提示把刚才登记的WiFi推给音柱。

    • 听到语音提示“网络连接成功”,或者看到指示灯不再狂闪,就说明它已经“上网”成功了

二、实战对接:三分钟让音柱“开口说话”

连上网之后,就要进入正题了——怎么在代码里指挥它。整个过程就是发一个HTTP请求的事儿。

1. 拿钥匙(获取AppID和AppSecret)

在你的控制台里,找到“开发设置”,你会看到两个字符串:AppID(像是你的“用户名”)和AppSecret(像是你的“密码”)。这两个要保管好,待会儿签名要用

2. 拼链接(计算签名Sign)

芯步的接口为了安全,要求每次请求都要带一个动态的签名(Sign)。虽然听起来有点技术宅,但其实就是一个固定的公式(MD5加密),很多编程语言都有现成的库,一行代码就搞定了。

  • 算法规则sign = md5(md5(AppSecret) + ts)

    • AppSecret:刚才拿到的密码。

    • ts:当前的时间戳(比如:1715308800)。

举个例子,就像是你每次开门都要把钥匙(AppSecret)和当前时间(ts)混在一起重新拧一下,门锁才能识别。

3. 核心指令(下发播放命令)

这是最关键的一步,你需要向这个地址发一个POST请求:

  • 请求地址https://api.thingboot.com/{你的AppID}/device/control/?sign={计算好的签名}&ts={当前时间戳}

  • 请求体内容(Body)

    • device:就是贴在音柱身上的那一串数字ID

    • order:这里就是重点了。"play:gbk:16" 可以拆解来看:play是让设备播放,gbk是编码(中文不乱码),16是音量(范围一般是0-15,16属于音量拉满了)。把文字换成你想播报的内容就行

4. 效果升级(动态控制音量和语调)

如果觉得声音太机械,或者音量太大怕扰民,你还可以在代码里随时调整参数。

  • 设置音色{"voice":"xiaoyan"} (换个女声试试)

  • 调整语速{"speed":80} (数字越大越快,太快的播广告容易听不清,适中)

  • 播放铃声{"ring":1} (有时候结账前“叮”一声,体验会更好)

三、分语言代码片段(实战填空)

不管你是用什么语言写后端,逻辑都是一样的。这里给两段最常见的示例,基本上复制过去,把参数填进去就能跑通。

1. Java 版本 (使用 Unirest 库)

2. 通用 POST 请求 (命令行/任意语言)

四、进阶技巧和需要注意的点

  1. 关于反馈机制:当你发完请求,如果收到 code:200只代表平台收到了指令,不代表音柱真的响了(万一它离线了呢?)。如果你的场景很重要(比如安防警报),开启消息推送功能,让音柱执行成功后给你一个“回执”,这样最稳妥。

  2. 广播模式:如果你开的是连锁超市,可以买多个音柱。在 device 字段里用英文逗号 , 把多个设备ID串起来,一条命令就能让所有分店同时响起“鸡蛋大促销”,非常方便

  3. 音质与体验:20W的音柱在超市环境下,把音量设置在 12-15 之间。文字尽量简洁,因为有远端播放,背景噪音大,长句子后面容易听不清。

  4. 私有化部署:芯步这套接口是支持局域网和私有化部署的。如果你的超市内网不想连外网,可以把服务部署在本地电脑上,延迟会更低(大概80-120毫秒),几乎感觉不到卡顿

总的来说,对接这个云音柱就像是在调一个“能说话的传感器”,只需要调一下HTTP接口,你的业务系统(比如收银系统)每当产生订单,就能自动触发音柱喊一声“来单了”。