CATALOG

门店订单语音播报这个需求其实很直接:来订单了,音柱立马喊出来,别漏单、别延迟。芯步这套方案走的是HTTP接口推送文本的方式,不用提前录音,用代码直接往音柱丢文字就行。下面我会讲清楚从硬件选型到代码对接的全过程。

一、 选哪个“喇叭”?—— 认准 20W 智能语音音柱

首先,咱们得确认一下硬件。既然你点名了 20W 云语音播报音柱,那在芯步的产品线里,对应的就是 智能语音音柱 系列(20W/30W/40W/60W 可选,你要的 20W 通常是指 20W 的规格或者近似功率的设备)

这个东西长得很像那种公园里放广场舞的音响,但它是防水的(户外用没问题),而且最关键的是,它不需要插音频线,连上 WiFi 或者插上网线就行。

二、 核心原理:说“人话”给硬件听

传统做法:有订单 -> 生成音频文件 -> 推流 -> 播放。芯步的做法:有订单 -> 把订单详情写成一段话(JSON 格式)-> 发给音柱 -> 音柱自己合成语音

这个过程极快,大概 80-120 毫秒 延迟。你完全不用担心服务器要装什么音频解码库,也不用操心录音文件怎么存。

三、 动手对接:详细的“填坑”步骤

这一步咱们要写代码了。别慌,其实就是“调个接口”的事儿。为了让你能听懂,我直接用 PHPPython 的思路来描述,你用任何后端语言都同理。

第一步:准备工作(拿钥匙)

在开始之前,你需要登录芯步的开放平台后台,找到三样东西:

  1. AppID:相当于你的用户名。

  2. AppSecret:相当于你的密码(这个密码要藏好,别泄露)。

  3. Device ID:就是那台音柱的身份证号。你要把它贴在脑门上记下来,或者通过“获取设备详情”的接口拉下来

第二步:加密签名(这是唯一的门槛)

很多朋友在这里会卡住,其实没那么复杂。芯步的接口要求每次发指令都得带上一个签名,防止别人乱喊你的喇叭。

签名的生成规则是md5( md5(AppSecret) + ts )

  • ts 是当前的时间戳(秒级)。

  • + 在这里是拼接字符串的意思。

举个栗子(伪代码):

第三步:发送“开吼”指令(重头戏)

拿到签名后,咱们就可以向下面这个地址发送 POST 请求了:

请求地址:http(s)://api.thingboot.com/{你的AppID}/device/control/?sign={你的签名}&ts={时间戳}

请求体 (Body):格式必须是 JSON。

四、 实战场景:门店来了新订单!

假设你的系统里,用户刚刚下单了一份“鱼香肉丝”,备注“加辣,送到302桌”。你需要在代码里把这段文本拼接出来,然后塞进上面的 play:gbk:16 字段里。

你的后端代码逻辑应该是这样的:

效果: 厨房或者前台的那个白色盒子,会用标准的TTS(Text To Speech)人声,字正腔圆地喊出来:“新订单!302桌点了鱼香肉丝,备注加辣,请及时处理。”

五、 提升体验的“骚操作”

光喊话是不够的,为了不漏单,你还可以加一些特效。

  1. 加个提示音:在播报文字前加个“叮咚”,提醒员工注意。

    • 命令里改成:"play:gbk:16": "[message_1]新订单来了!"

    • message_1message_5 是系统内置的各种提示音

  2. 控制音量和语速如果觉得老板娘嗓门太大,可以在 order 里加上音量控制。

    甚至还能切换男声/女声,如果你喜欢林志玲的腔调还是郭德纲的腔调,都可以调

  3. 处理长文本和多音字如果遇到“重庆市银行”这种容易读错的词,接口支持在文本里加特定标记来指定发音,不过一般餐饮场景很少用到,除非你的菜名特别生僻

六、 常见排雷(FAQ)

  1. 网络问题:音柱必须和你服务器时间同步。

    • 那个 ts 时间戳一定要是秒级(10位),不要写成毫秒级(13位),否则会报签名错误

  2. 没声音?

    • 先检查音柱灯是不是亮的,是不是连上网了。

    • 在后台先手动“测试”一下播报,如果能响,说明硬件没问题;如果不能,检查代码里 play:gbk:16 的写法,标点符号必须是英文的。

  3. 并发排队

    • 放心,如果一秒钟来了10个订单,音柱会排队依次播放,不会出现“大合唱”糊成一片的情况。

    • 如果你想在播报“欢迎光临”时,紧急插播“有贵宾到!”(打断当前播报),可以用 stop 命令先停止当前,再发新的

总结一下架构图

只要你后端能发 HTTP 请求,哪怕是拿 Excel 的 VBA 都能让它响起来。这玩意对接起来,比你连家里的蓝牙音箱简单多了,因为蓝牙有距离限制,这个只要音柱插着电、连着网,哪怕在中国最北边的漠河,你在海南的三亚也能远程让它喊起来。