CATALOG

芯步智能语音台卡2开放了HTTP接口,你完全可以通过二次开发来实现自定义语音模板功能。简单来说,就是把语音内容存在你的服务器上,然后通过API调用让设备“读”出来。下面一步步说。

一、我们要解决什么问题?

现状:台卡自带的管理后台,语音播报内容是固定的,比如“你好,欢迎光临”。需求:你想把它变得更灵活,比如:

  • 根据不同的客户(VIP、普通客户)播报不同的话术。

  • 根据不同场景(A柜台推销咖啡、B柜台推销奶茶)随时切换语音内容。

  • 结合你的业务系统(比如接入了天气API,就播报“今天有雨,记得带伞”)。

核心思路:甩开官方固定的后台,直接接管设备的播报指令

二、拿到“钥匙”:看懂开放接口

根据芯步的技术文档,智能语音台卡2的核心控制方式是 HTTP API。这就像是你可以通过发一个“网页链接请求”(URL)来控制它说话。

准备工作:

  1. 注册/登录芯步控制台,找到你的 AppIDAppSecret(相当于账号密码)。

  2. 拿到你台卡的 设备ID(Device ID)

核心命令格式:

要让台卡说话,关键就是这个 order 参数:

  • play:gbk:16:这是固定的命令字,告诉设备“要开始朗读了”,用的是GBK编码的中文。

  • 后面的字符串:就是你自定义的语音模板内容

三、动手实现“自定义模板”

我们不需要特别复杂的代码,用Python写一个脚本,或者集成到你的Web后端里就行。

第1步:搞定签名算法

芯步的API需要验证身份,必须算一个签名(Sign),否则发命令会被拒绝。算法是:md5( md5(AppSecret) + 当前时间戳 )

第2步:编写核心代码

假设你的业务系统里有变量,比如 {user_name}{product_name},我们把它替换掉。

Python 示例代码:

第3步:让模板真正“活”起来

上面的代码只是个基础。你要做二次开发的关键是把“模板”存在你的数据库里,并且通过界面让用户(比如店长)能自己配置。

设计数据库表(思路):

ID场景名称语音模板内容关联设备ID
1咖啡取餐“请{座位号}号的顾客取餐”1878
2欢迎光临“尊贵的{等级}会员,欢迎光临”1879

业务逻辑(怎么用):

  1. 可视化编辑:做个简单的后台页面,让用户输入模板文字,支持自定义变量(比如{name})。

  2. 触发机制

    • Webhook触发:当你的ERP系统里有新订单时,自动触发这个脚本,传参进去。

    • 手动触发:后台点一下按钮。

    • 定时任务:每天早上10点,自动播报“上午好,现在开始营业”。

四、进阶玩法:不仅仅是文字播报

既然开放了接口,你还可以顺便调一下其他参数,让体验更好:

  • 调节音量{"volume": 80} (范围0-100)

  • 改变音色{"voice": 1} (0为女声,1为男声,具体看手册)

  • 切换语速{"speed": 50}

你可以在发送播报命令前,先发一组设置命令:

五、避坑指南

  1. 编码问题:注意 play:gbk:16 这里用了 gbk,如果你的代码环境是UTF-8,传中文时不需要额外转码,requests库通常处理得好,但如果乱码,记得 encode('gbk')

  2. 网络环境:台卡必须连接2.4G WiFi。如果发命令没反应,检查一下设备和你的服务器网络是否通。

  3. 签名时效:时间戳 ts 不能与服务器时间相差太大,否则会报错。

  4. 私有化部署:如果你是做项目交付,芯步支持私有化部署,意味着可以把API部署在客户内网,离线运行

总结

这套方案的核心就是:把“文本”参数化。你不需要去改台卡的固件,只需要在你的业务系统(或云函数)里,把原本写死的“你好”,改成拼接字符串 “你好” + 变量,然后通过HTTP接口扔给设备就行了。