CATALOG

门店语音播报这事儿,其实没有想象中复杂。芯步的智能语音硬件开放了HTTP接口,只要能发网络请求就能调用它。下面我一步步说清楚怎么把人体感应音箱接到你的项目里。

一、 核心思路:其实就是在“发请求”

我们需要把人体感应语音播报这两个动作串起来。

  • 以前:有人进门 -> 你喊“欢迎光临”。

  • 现在:有人进门 -> 传感器告诉电脑 -> 电脑发个HTTP请求给音箱 -> 音箱响。

芯步这个产品的核心逻辑很简单:你给它发一个包含文字的请求,它就把文字说出来

二、 准备阶段:先搞定这三样东西

动手之前,先把这三样东西拿到手:

  1. 硬件到位

    • 智能语音喇叭Mini(插墙上就行,即插即用,推荐这款)

    • 人体红外传感器(这个需要根据你的项目选,可以是门店自己的安防传感器,也可以是单独的Wi-Fi/有线传感器,只要能给电脑发信号就行)。

  2. 网络环境:给喇叭连上Wi-Fi(通过官方App或配置工具配网)。

  3. 后台钥匙:登录芯步控制后台,拿到两个关键字符串:

    • AppID:相当于你在芯步这边的“账号ID”。

    • AppSecret:相当于你的“密码”,千万别泄露,调用接口时要用来加密。

    • Device ID:就是这个喇叭的身份证号。

三、 技术对接:核心代码怎么写

不管你是用Java写后端,还是用Python搭服务,或者干脆用Node-RED这类低代码工具,本质都是调用这个地址的API。

1. 接口地址

2. 鉴权机制(小白也能懂的版)这个接口为了防止被人乱刷,加了个签名(Sign)。计算规则虽然看起来是两层MD5加密,但其实很死板:

  • 第一步:把你刚才拿到的 AppSecret 做一次MD5加密。

  • 第二步:把第一步的结果 拼接上 当前的时间戳(比如 1715234567)。

  • 第三步:把拼接后的字符串再做一次MD5。

说白了sign = md5( md5(AppSecret) + ts )

3. 请求体(Body)这是最关键的部分,告诉喇叭该干嘛。

注:play:gbk:16 是播报文本的指令,后面的文字随便改。

4. 举个实际的例子(Python版)假设你的后端收到了传感器信号,立马执行这段代码:

四、 进阶玩法:让人体感应联动起来

你提到的“人体感应”,有两种常见的对接方式,看你现在的系统架构:

方式A:门店已有本地服务器(如树莓派、工控机)

  1. 把人体感应模块(或者门磁)接到这块板子的GPIO口上。

  2. 逻辑: 板子跑一个脚本,死循环监测GPIO口电平。

  3. 动作: 一旦检测到电平变化(有人),板子立刻执行上述Python代码,调用HTTP接口让喇叭响。

方式B:门店已有摄像头或云端系统

  1. 如果是云平台推送的告警,就在你接收云平台消息的那个函数里,紧接着加上调用芯步接口的代码。

细节优化点:

  • 防重复播报: 人体感应触发频率很高,人还没走进去可能触发了10次。你需要在代码里加个“冷却时间”,比如触发播报后,5秒内不再重复触发

  • 音量控制: 如果是深夜或者闲时,可以顺便发个指令调低音量。

    • 下发指令:{"volume":3} (0-9级,9最大)

五、 写在最后:避坑指南

  1. 注意签名时效ts 时间戳必须是秒级(10位数),不是毫秒级(13位数)。如果时间对不上,或者签名算错了,接口会报403,这是最容易栽跟头的地方

  2. 文字编码:命令里用的是 play:gbk:16,说明编码是GBK,如果传一些生僻的繁体字或者特殊表情符号,可能会播报乱码,尽量用简体中文

  3. 网络延迟:虽然官方说的是毫秒级响应,但这取决于门店WiFi质量。在播报前加一个“叮咚”的内置提示音,这样就算网络卡了0.5秒,客户也已经听到了提示音,体验会好很多。

    • 下发指令:先发 {"ring":1}(响铃),隔0.2秒再发播报内容。

按照这个思路,你只需要把这个HTTP请求集成到你的后端服务里,对接工作就基本完成了。