智能语音台卡的核心价值在于开放接口,让收款播报不再局限于固定模板。通过芯步的HTTP API,你可以将业务系统中的订单信息实时转化为语音,实现“订单来了——动态生成文案——设备播报”的全自动链路。以下是具体实现方案。
1. 概述
本方案的目标是指导开发者或系统集成商,利用芯步“智能语音台卡”系列产品的开放式 HTTP 接口,对接现有的业务系统(如收银系统、外卖平台、支付接口),实现自定义收款语音模板的即时设置与播报。
通过本方案,企业可以根据不同场景(如会员日、特定商品促销、大额收款)动态生成差异化的收款提示音,而不再局限于设备自带的固定语音。
核心逻辑:业务系统产生订单 → 后台拼接语音文本(TTS模板) → 调用芯步API → 设备即时播报。
2. 准备工作
在进行开发前,请完成以下基础准备:
硬件设备:一台已通电并联网的“智能语音台卡2”或同系列产品 。
平台账号:注册芯步官网账号,登录物联网控制台 。
获取密钥:在控制台的“开发设置”中获取
AppID(应用ID)和AppSecret(开发者密码) 。设备ID:在控制台的设备列表或设备外壳上找到
device(设备唯一ID) 。网络环境:确保台卡已连接至 2.4G WiFi 网络 。
3. 接口对接核心逻辑
芯步的设备采用 HTTP API 下发指令机制。实现自定义语音的核心在于 order 参数中的 TTS(Text To Speech,文本转语音) 指令。
3.1 接口地址与鉴权
请求地址
http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}鉴权算法
sign = md5( md5(AppSecret) + ts )步骤:先将
AppSecret进行 MD5 加密得到字符串 A,再将 字符串A 与当前时间戳ts拼接,最后对拼接后的字符串再次进行 MD5 加密 。
请求方式:POST(推荐,参数较长时使用)
Content-Type
application/json
3.2 核心参数(自定义模板的关键)
在请求 Body 中,关键参数如下:
| 参数 | 类型 | 描述 | 示例值 |
|---|---|---|---|
device | String | 目标设备ID,可在控制台查看 | "1878" |
order | JSON Object | 指令集。包含具体的播报内容、音量、音色等。 | {"play:gbk:16":"...", "vol": 7} |
3.3 自定义模板示例
“智能语音台卡”支持丰富的语音参数调节,不仅仅是文字转语音
基础播报
{"play:gbk:16":"微信支付收款{}元"}高级设置(模板化) :可以通过
vol(音量)、speed(语速)、voice(音色)实现多维度定制。
| 指令字段 | 功能说明 | 可选值/备注 |
|---|---|---|
play:gbk:16 | 核心TTS指令(指定字符编码为GBK) | 后面跟要朗读的字符串 |
vol | 设置音量 | 0-9级(9为最大) |
speed | 设置语速 | 0-9级 |
voice | 设置音色 | 男声 / 女声 |
ring | 播报前播放铃声 | 内置5种提示音 |
stop | 停止当前播报 | 用于打断 |
4. 实现自定义模板的步骤
第一步:拼接动态语音文本
在业务后端(如PHP, Java, Python, Node.js)中,根据订单信息动态构造语音字符串。
/ 普通场景 /
模板:恭喜发财,微信收款{}元。
替换:恭喜发财,微信收款{}元。
/ 促销场景 /
模板:{}号桌的客人,您的酸菜鱼做好了,请享用。
替换:{}号桌的客人,您的酸菜鱼做好了,请享用。
/ 特殊金额 /
模板:请注意,您有一笔大额订单入账,金额为{}元。第二步:构造 API 请求
这里的技巧是,将第一步构造好的文本放入 order 对象中。如果需要对多设备批量下发,device 参数可用 | 或 , 连接多个ID 。
第三步:发送请求
系统向芯步服务器发起 POST 请求。如果返回结果中 code 为 200,代表指令已成功下发给设备 。
第四步:设备响应与播报
设备接收到指令后,会立即将文本合成为语音并进行播报(延时约80-120ms)。
5. 实战代码演练
以下以 Node.js 和 PHP 为例,演示如何发送一个“包含金额和商品名的自定义模板”:
场景假设
用户购买了“珍珠奶茶”,花费{}元。要播报:“叮咚,有新的外卖订单,珍珠奶茶一份,请及时处理,收款{}元。”
Node.js 示例
PHP 示例
6. 进阶场景与优化
6.1 增加“防抖”与队列机制
由于收银场景可能短时间内密集出单,为避免设备“忙”导致丢词,在业务层做简单队列处理,或者利用 stop 命令实现“新订单打断旧订单”的逻辑 。
6.2 利用 extra 字段做异步回调匹配
在 order 中可携带 extra 字段(如订单号)。当设备播报完成(需配合消息推送功能),云端会原样返回该字段,方便你确认哪笔订单已成功播报 。
6.3 局域网私有化部署
如果对数据安全和网络延迟有比较高要求,芯步支持私有化部署。此时 API 地址将变为你本地服务器的地址,所有数据传输仅在局域网内完成 。
7. 总结
通过芯步提供的开放 HTTP 接口,接入“智能语音台卡”实现自定义收款模板是一项低门槛、高回报的开发工作。开发者仅需掌握基础的 HTTP 请求 与 MD5 签名 计算,即可将传统的“哑巴”收款码升级为具备营销能力的“语音交互终端”,结合 TTS 技术实现精准、个性化的语音播报服务。