CATALOG

一、场景痛点与解决方案思路

先说说酒店前台的实际情况。客人走进来,尤其是高峰期,前台员工忙得抬不起头,客人不知道该排队还是该去自助机,场面经常有点乱。

传统的做法是放个立牌或者贴张纸,但说实话——根本没人看。如果有一台设备能在感应到客人靠近时主动“开口说话”,效果就完全不一样了:“欢迎光临XX酒店,请出示身份证,有序排队办理”或者“会员请直走右转,使用自助入住机”。

芯步的智能语音台卡刚好能解决这个问题。它的核心优势是开放HTTP接口,也就是说,不管你现有的系统是用Java、Python、PHP还是Node.js写的,都能轻松让它“开口说话”。

二、准备工作:先把设备“点亮”

在写代码之前,有几件事得先做完,不然接口调通了设备也不理你。

第一步:注册账号并创建应用

去芯步官网注册一个开发者账号,登录后进入控制台,创建一个“工作台”。系统会给你生成两个关键凭证:AppIDAppSecret——这俩相当于你账号的“用户名”和“密码”,调用接口的时候要用

第二步:给设备配网

智能语音台卡需要通过WiFi联网才能接收指令。配网方式有两种:

  • 电脑端:在物联网控制台里找到“网络配置”,录入酒店前台的WiFi名称和密码(注意必须是2.4G频段),然后选择“为设备配置此网络”

  • 小程序端:微信里搜索“芯步小程序”,登录同一账号后按指引操作

配网成功的标志是设备上的蓝色指示灯从“慢闪”变成“常灭”或偶尔闪一下。这时候你可以在控制台里看到这台设备,并且能拿到它的唯一标识——device(设备ID)。

三、核心对接:让设备“开口说话”

设备的控制接口非常简单,核心请求地址是:

这里有两个需要动态计算的东西:

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

  • sign:签名,计算公式是 md5(md5(AppSecret) + ts)

说白了就是拿你的AppSecret做一次MD5,然后拼上时间戳,再做一次MD5。这样做是为了防止接口被滥用。

控制播放语音的代码示例

以Java为例,核心代码大概是这样的:

这里面最关键的是order这个参数:

  • play:gbk:16play表示播报,gbk是文本编码格式,16是音量等级(范围0-16,数值越大越响)

  • 冒号后面的字符串就是要播报的内容

如果你只是想测试设备是否连通,也可以用简单指令先亮个灯试试,比如{"power":1}表示开灯

与PMS系统的对接思路

在实际酒店场景中,语音播报不应该是一个“手动触发”的动作,而是跟你的PMS或前台系统联动。几种常见的触发方式:

  1. 人体传感器联动:在前台区域部署人体存在传感器。当传感器检测到有人靠近时,你的后端服务收到事件,然后自动调用语音台卡的播报接口

  2. PMS事件触发:比如某个订单状态变更为“已到店”、或者排队系统里新增了客人时,自动触发欢迎语。

  3. 定时/空闲播报:没人办理的时候,可以播报一些促销信息:“现在办理会员卡,立享9折优惠”。

无论哪种方式,本质上就是在你业务系统的某个逻辑节点,调用这个HTTP接口。这种设计的好处是——语音提示不再是孤立的,而是融入到了你的业务流程里。

四、需要注意的几个坑

第一,签名有时效性。

每次请求都要用当前时间戳重新计算签名。时间戳跟服务器时间误差太大会失败,所以确保你的服务器时间是同步的。

第二,接口返回200不代表设备真的播放