CATALOG

一、场景痛点与需求分析

咱们先聊聊场景。现在很多共享茶室是24小时无人值守的,客人自己在线预订,到点扫码进门。但问题来了——客人进门后,虽然流程上没问题,总感觉“冷冰冰”的,没人招呼。

这时候,前台的20W网络音频壁挂音箱就派上用场了。理想的效果是:客人扫码开门的一瞬间,音箱自动播报“欢迎光临xx茶室,您预订的A包间已为您准备好,祝您品茗愉快”,客人一走,又能播“感谢您的光临,欢迎下次再来”。

这个场景的核心需求是:把音箱的播报能力,无缝嵌入到你们现有的订单/门禁系统里。不需要人工按按钮,全自动触发。

二、整体对接架构

说白了,就是“业务系统触发 → 云端接口调用 → 音箱播报”这么一条链路。

芯步的这款20W壁挂音箱,本质是一个联网的音频设备,走WiFi 2.4G,不需要额外网关。它开放了标准的HTTP接口,你只要会发HTTP请求,就能让它说话

三、准备工作:拿到两把“钥匙”

在写代码之前,需要先到芯步开放平台完成三件事:

  1. 注册开发者账号,创建一个应用。完成后你会拿到两个关键信息:AppID(应用ID)和 AppSecret(开发者密码)

  2. 添加设备:把买回来的20W壁挂音箱绑定到你的账号下,拿到音箱的 deviceID(设备ID),这个ID是唯一的,可以在控制台直接看到

  3. 确保音箱在线:给音箱通电、配网,在控制台看到设备状态是“在线”的,才能收到指令。

有个好消息:芯步的开放平台是永久免费的,接口调用不收费,这点对创业项目很友好

四、核心接口:一句话让音箱“开口”

这是最核心的部分。让音箱播报文字,本质上就是向设备下发一条“播放命令”。

接口信息

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

  • 请求方式:POST(推荐,参数较长时用POST)

  • Content-Typeapplication/json

核心参数

参数说明示例
device音箱的设备ID,在控制台可以找到"12345678"
order下发的命令,JSON格式。让音箱播报要用特定的格式{"play:gbk:16":"欢迎光临"}

这里 order 的格式稍微有点讲究:{"play:gbk:16":"你要播报的文字"},其中 gbk 是编码,16 是音量(范围一般是0-100),后面的字符串就是播报内容

签名计算(容易踩坑)

芯步的接口要求每次请求都要带签名,防止别人乱调用。计算规则是:

具体步骤:

  1. 先把 AppSecret 做一次MD5加密

  2. 把上一步的结果拼接上时间戳 ts(10位秒级时间戳)

  3. 对整个拼接后的字符串再做一次MD5

注意:ts 必须是中国时间的动态时间戳,不能写死

代码示例(Python版,好理解)

如果一切正常,返回结果里 code 是 200,代表平台已经收到指令并下发给音箱了

五、与茶室管理系统的集成:如何自动触发?

拿到接口调用能力后,下一步就是把它和你的业务系统“粘”在一起。共享茶室有几个典型的触发场景:

场景1:客人扫码开门/订单生效时

客人在门口扫码,门禁系统验证通过、打开门锁的那一刻,你的后端系统顺手调用一下上面的接口,让音箱播报欢迎语。

伪代码逻辑:

场景2:订单即将结束/超时提醒

提前5分钟,系统自动触发播报:“您的使用时间还剩5分钟,如需续费请扫码操作”。

场景3:客人离店

检测到客人扫码出门(或超时自动断电)后,播报“感谢光临,欢迎下次再来”。

场景4:多设备管理

如果你不止一家茶室,或者一个茶室有多个包间,每个包间前台都有一个音箱,就需要管理多个 deviceID。可以在数据库里建一张设备表,把房间/门店和音箱ID绑定起来。

芯步也支持分组控制,可以把同一家店的所有音箱放到一个分组里,一次性下发指令到整组设备

六、进阶玩法:让播报更“聪明”

以上是基础对接。如果想让体验更好,可以试试这些进阶功能:

1. 动态内容播报

不要只播固定文本。可以结合订单信息,生成个性化的播报内容。比如:

  • “欢迎张先生,您预订的VIP包间已就绪”

  • “A包间的客人已连续喝茶3小时,提醒休息”

音箱支持中文、数字、金额、手机号的智能读法,不用你额外处理

2. 调节音量和音色

你可以远程调节音箱的参数,不用跑去现场手动调。下发命令示例:

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

  • 切换音色:{"voice": 1}(一般0为女声,1为男声,具体看产品规格)

3. 播报前播放提示音

如果需要引起客人注意,可以先播放一声“叮”,再播正文。音箱内置了5种提示音和铃声

下发命令示例:

4. 异步反馈:确认音箱真的播了

上面说的接口返回200,只代表平台收到了指令,不代表音箱真的播出来了(比如音箱可能断网了)。如果业务上需要确认“客人确实听到了”,可以接入芯步的消息推送功能,设备执行成功后会异步通知你的服务器

七、常见坑点与避坑指南

根据经验,新手对接时容易踩这几个坑:

坑点表现解决方法
签名错误返回 5006 bad sign检查签名计算顺序:先对AppSecret做MD5,再拼上ts,再整体MD5。注意ts是字符串拼接
时间戳问题返回 5003 bad tsts必须是中国时间的10位秒级时间戳,不要用毫秒
设备不在线返回200但音箱不响检查音箱是否通电、WiFi是否正常。在控制台看设备状态
deviceID写错返回 502 设备不存在确认deviceID是从控制台复制出来的,不是自己编的
并发超限返回 5009 too many request单个设备访问限制1次/秒,不要在同一秒内发太多指令

八、总结

把芯步的20W网络音频壁挂音箱对接到共享茶室系统,整体并不复杂。核心就三步:

  1. 准备:拿到AppID、AppSecret、deviceID

  2. 调通接口:算签名、发POST请求、用 {"play:gbk:16":"文本"} 格式播报

  3. 嵌入业务:在订单确认、门禁开门、订单结束等关键节点自动触发播报

这样一来,你们的共享茶室就有了“前台小姐姐”般的语音接待能力,既提升了客人的体验,也保留了无人值守的便捷性。而且这套方案不限于茶室,剧本杀店、共享会议室、自助健身房,都能复用。

如果后续想扩展到多区域、多门店,可以考虑引入分组管理,或者把设备配置做成后台可配置的,这样运营同学就能自己调整播报内容,不用每次都找开发改代码了。