CATALOG

大家好!

最近在搞一个自助服务终端的项目,客户提了个挺有意思的需求:“这个机器能不能长张嘴?顾客操作到哪一步,它就给提示到哪一步。别让大家老盯着屏幕看,特别是那些眼神不太好的大爷大妈。”

这个需求其实很接地气。现在很多自助机(挂号机、点餐机、查询机)都只有冷冰冰的屏幕,交互全靠看。遇到操作复杂或者用户视力不好的情况,体验就很拉胯。

为了解决这个问题,我们找了一圈硬件,最后选了芯步的智能语音音箱。选择它的核心理由很简单粗暴:它不跟你玩私有协议,直接开放HTTP API接口。这意味着不管你后端是用Java、Python、Go还是PHP写的,只要能发HTTP请求,就能让它开口说话。

今天我就以这个方案为例,跟大家唠唠怎么在30分钟内,把你的自助服务终端变成一个会说话的“智能助理”。

第一步:硬件准备与“开箱配置”

我选的是那款30W的音柱,主要是考虑到大厅环境可能比较嘈杂,功率大一点吼得住(总不能让它轻声细语地被噪音盖过去吧)。

其实物理接线极其简单:

  1. 插电:给它通上电。

  2. 联网:这玩意儿支持WiFi或有线网口。在自助机内部,插根网线最稳当,保证网络畅通就行。

  3. 获取“身份证”:去芯步的后台注册一下,把设备添加进你的账号。这时候你会拿到两个关键数据:一个是 设备ID,另一个是你在后续代码里要用到的 AppIDAppSecret(相当于你家门禁的账号密码)

第二步:核心逻辑 —— 后端一句话的事儿

这一步是整个接入过程里最“爽”的部分。你不需要去研究底层的音频解码、不需要写驱动,就是调接口

核心逻辑就像发一条微信:你的后端服务器给芯步的云服务器发一条指令,云服务器再把指令推送给那台音箱。

我们拿 cURL 或者代码来举个例子。假设你的自助机用的是Java语言开发,对接流程如下:

1. 搞懂签名规则(为了安全,别裸奔)

为了不让别人随便让你的音箱喊“救命”,每次发命令都得带一个动态签名的。芯步的签名算法是 MD5(MD5(你的密码) + 当前时间戳)。虽然看着套了两层MD5,但其实代码也就几行。

2. 写代码让它“开口”

当用户扫码成功时,让它说“欢迎光临”;当用户等待超时时,让它说“请重试”。

这里直接用Java代码演示一下(用Unirest库比较方便):

就这么几行代码,你甚至不需要引入什么特殊的SDK,一个简单的HTTP POST请求,音箱就“开口”了

3. 常用指令集锦

除了干巴巴的“你好,欢迎光临”,它还支持很多骚操作,通过改 order 里的JSON串就行

  • 调整音量:用户离得远?调大点! {“volume”:“7”}

  • 换个声音:想用甜美女声还是磁性男声? {“voice”:“0”} (0是女声,1是男声)

  • 播放提示音:先“叮咚”一声吸引注意力,再说话。 {“play:gbk:16”:“[message_3]欢迎光临”} (这个 message_3 是内置的提示音)

第三步:场景联动 —— 怎么跟自助机业务结合?

光会发声没用,关键是要在对的时候对的声音

你的自助机程序里肯定有状态流转,我们在关键节点把“调接口”