一、先说痛点:超市为啥需要这个?
大家去超市应该都有体验——收银台扫码“滴”一声,或者生鲜区打折广播,甚至仓库里的补货提醒。这些场景如果能自动语音播报,就不用专门安排人拿个大喇叭喊了。
芯步这款5W智能语音壁挂音箱,就是干这个活的。它支持WiFi联网,你只需要通过HTTP接口给它发一段文字,它就能实时“念”出来。
下面我一步步说,怎么把它接到你的项目里。
二、准备工作:你得先有这些东西
在动手写代码之前,先把环境跑通:
拿到设备:确认你手里是“智能语音壁挂音箱|5W”这个型号。它一般是铝合金外壳,长150mm、宽100mm、高335mm左右,壁挂安装。
给音箱配网:这步很关键。音箱本身没有屏幕,配网需要通过芯步的“小程序”或“物联网控制台”操作。
打开芯步小程序,登录你的账号;
添加你超市现场的2.4G WiFi名称和密码(注意:5G WiFi不支持);
手机开热点模拟配网流程,让音箱连上你的WiFi。
获取三件套:登录芯步控制台,记下这三个东西:
AppID(开发者ID)
AppSecret(开发者密码)
设备ID(音箱的唯一编号,在设备详情页能看到)
打开调试模式(可选):如果只是想先测试,在“开发设置”里打开调试模式,这样不用算签名,省事。正式上线时再关掉,走签名校验。
三、核心接口:怎么让音箱“开口说话”?
音箱的核心能力就是文本转语音。你给它发一段文字,它就读出来。
接口地址
请求体(JSON格式)
这里解释一下 "play:gbk:16" 这个命令格式
play表示播报动作;gbk表示文字编码(中文用GBK);16表示音量(范围一般是0-15,16可能表示最大或特殊值,具体看产品手册)。
实操例子:如果想让音箱喊“鲜肉区八折优惠,快来选购!”,就替换成:
关于签名(sign)
如果你关了调试模式,就得算签名。规则是:
其中 ts 是当前时间的秒级时间戳(10位数字)。
用Python示意:
看着有点绕?其实就两步:先把AppSecret做一次MD5,然后拼上时间戳,整体再做一次MD5。
四、场景:举个超市的真实例子
假设你有这样一个需求:门口的人体传感器检测到有人进店,就让音箱播报“欢迎光临”。
方案架构
伪代码实现
更进阶的玩法
动态内容:从你的收银系统取数据,比如“支付宝到账15元”,让音箱实时播报;
定时任务:每天早上8点播报“今日特价商品:鸡蛋3.99元一斤”;
分组控制:如果你超市里装了多个音箱,可以建一个分组,一次性让所有音箱同时播报(用
/group/control接口)。
五、注意踩坑(过来人的经验)
WiFi必须2.4G:这款音箱只支持2.4G WiFi,不支持5G。超市里如果AP开了双频合一,分开。
设备ID别写错:调用接口时如果返回
502,十有八九是设备ID写错了,或者设备已经离线。播报内容不要太长:虽然接口没明确限制,但太长的文本播出来体验不好,一条控制在30字以内。
接口有频率限制:单个设备访问限制1次/秒,别在循环里狂发。超市第一种场景般也不需要那么高频。
200不代表设备真播了:接口返回
200只表示平台收到了指令,设备不一定在线。如果需要确认设备是否真的执行了,要监听异步消息推送。
六、总结一下整个流程
把你需要做的事情串起来:
配网:让音箱连上超市WiFi;
获取凭证:AppID、AppSecret、设备ID;
调接口:发
{"order": {"play:gbk:16": "你要说的话"}};集成到业务:在收银、传感器事件、定时任务里触发播报。
芯步的接口是永久免费的,不管是走公网还是私有化部署,都不收额外费用。对于超市这种场景,简单实用,成本也低。
如果还有不清楚的,可以去芯步的控制台直接用“调试”功能测试一下指令,那个页面会实时显示你发送的命令格式,非常直观。