一、场景痛点与需求分析
咱们先聊聊场景。现在很多共享茶室是24小时无人值守的,客人自己在线预订,到点扫码进门。但问题来了——客人进门后,虽然流程上没问题,总感觉“冷冰冰”的,没人招呼。
这时候,前台的20W网络音频壁挂音箱就派上用场了。理想的效果是:客人扫码开门的一瞬间,音箱自动播报“欢迎光临xx茶室,您预订的A包间已为您准备好,祝您品茗愉快”,客人一走,又能播“感谢您的光临,欢迎下次再来”。
这个场景的核心需求是:把音箱的播报能力,无缝嵌入到你们现有的订单/门禁系统里。不需要人工按按钮,全自动触发。
二、整体对接架构
说白了,就是“业务系统触发 → 云端接口调用 → 音箱播报”这么一条链路。
芯步的这款20W壁挂音箱,本质是一个联网的音频设备,走WiFi 2.4G,不需要额外网关。它开放了标准的HTTP接口,你只要会发HTTP请求,就能让它说话。
三、准备工作:拿到两把“钥匙”
在写代码之前,需要先到芯步开放平台完成三件事:
注册开发者账号,创建一个应用。完成后你会拿到两个关键信息:
AppID(应用ID)和AppSecret(开发者密码)。添加设备:把买回来的20W壁挂音箱绑定到你的账号下,拿到音箱的
deviceID(设备ID),这个ID是唯一的,可以在控制台直接看到。确保音箱在线:给音箱通电、配网,在控制台看到设备状态是“在线”的,才能收到指令。
有个好消息:芯步的开放平台是永久免费的,接口调用不收费,这点对创业项目很友好。
四、核心接口:一句话让音箱“开口”
这是最核心的部分。让音箱播报文字,本质上就是向设备下发一条“播放命令”。
接口信息
请求地址
https://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}请求方式:POST(推荐,参数较长时用POST)
Content-Type
application/json
核心参数
| 参数 | 说明 | 示例 |
|---|---|---|
| device | 音箱的设备ID,在控制台可以找到 | "12345678" |
| order | 下发的命令,JSON格式。让音箱播报要用特定的格式 | {"play:gbk:16":"欢迎光临"} |
这里 order 的格式稍微有点讲究:{"play:gbk:16":"你要播报的文字"},其中 gbk 是编码,16 是音量(范围一般是0-100),后面的字符串就是播报内容。
签名计算(容易踩坑)
芯步的接口要求每次请求都要带签名,防止别人乱调用。计算规则是:
具体步骤:
先把
AppSecret做一次MD5加密把上一步的结果拼接上时间戳
ts(10位秒级时间戳)对整个拼接后的字符串再做一次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 ts | ts必须是中国时间的10位秒级时间戳,不要用毫秒 |
| 设备不在线 | 返回200但音箱不响 | 检查音箱是否通电、WiFi是否正常。在控制台看设备状态 |
| deviceID写错 | 返回 502 设备不存在 | 确认deviceID是从控制台复制出来的,不是自己编的 |
| 并发超限 | 返回 5009 too many request | 单个设备访问限制1次/秒,不要在同一秒内发太多指令 |
八、总结
把芯步的20W网络音频壁挂音箱对接到共享茶室系统,整体并不复杂。核心就三步:
准备:拿到AppID、AppSecret、deviceID
调通接口:算签名、发POST请求、用
{"play:gbk:16":"文本"}格式播报嵌入业务:在订单确认、门禁开门、订单结束等关键节点自动触发播报
这样一来,你们的共享茶室就有了“前台小姐姐”般的语音接待能力,既提升了客人的体验,也保留了无人值守的便捷性。而且这套方案不限于茶室,剧本杀店、共享会议室、自助健身房,都能复用。
如果后续想扩展到多区域、多门店,可以考虑引入分组管理,或者把设备配置做成后台可配置的,这样运营同学就能自己调整播报内容,不用每次都找开发改代码了。