场景背景
在创客工坊中,学员经常需要操作各种设备——激光切割机、3D打印机、CNC雕刻机等。每台设备的操作流程、注意事项都不太一样,光靠贴便签、发手册,学员要么不看,要么看了记不住。
能不能用语音来“手把手”引导?学员靠近设备、扫码、或者点击工位屏幕时,音箱自动播报当前设备的操作步骤和安全提示。
芯步的智能语音壁挂音箱(20W)正好派上用场——开放HTTP接口,想让它说什么就说什么,而且不用事先录音,直接传文本就行。
第一步:把音箱接入项目
1.1 准备工作
你需要三样东西:
| 项目 | 说明 | 去哪找 |
|---|---|---|
| AppID | 你的应用ID | 登录芯步控制台 → 开发设置 |
| AppSecret | 开发者密码 | 同上,记得保管好 |
| Device ID | 音箱的设备ID | 音箱外壳的标签上,或者控制台的设备列表里 |
1.2 音箱联网(配网)
音箱用的是WiFi 2.4G,不支持5G频段,这个要注意一下。
方式一:控制台配网(电脑操作)
登录芯步控制台,进入“物联网控制台”
左侧菜单点“网络配置”,添加你工坊的WiFi名称和密码
点击“为设备配置此网络”,按页面提示操作
方式二:小程序配网(手机操作)
微信搜“芯步小程序”,登录
选择你创建的工作台,添加工坊WiFi
按提示让音箱连接
配网成功后,指示灯会停止闪烁,控制台的设备列表中也能看到它上线了。
1.3 改造一下项目结构
在项目里建一个独立的语音服务模块,别把调用代码散落在各个地方。大概长这样:
第二步:写代码控制音箱说话
芯步的接口调用逻辑是:计算签名 → 构造请求 → 发送指令。
签名计算方式有点绕:md5(md5(AppSecret) + ts),也就是先把AppSecret做一次MD5,结果拼上时间戳,再整体做一次MD5。
2.1 签名计算(JavaScript示例)
2.2 让音箱说话的核心代码
2.3 几个实用的指令
| 功能 | 指令示例 | 说明 |
|---|---|---|
| 播报文本 | {"play:gbk:16":"欢迎使用激光切割机"} | 16是语速,范围大概10-20 |
| 调音量 | {"volume":80} | 0-100 |
| 停止播报 | {"stop":1} | 立刻闭嘴 |
| 切换音色 | {"voice":1} | 0=女声,1=男声(视具体产品) |
第三步:结合工坊设备场景
3.1 第一种场景:扫码获取操作引导
在每个设备旁贴个二维码,学员用手机扫码后,后台识别设备类型,调用音箱播报对应教程。
3.2 第二种场景:设备状态变化触发语音提醒
工坊里有些操作需要及时提醒——比如3D打印完成了、激光切割切完了、或者设备出故障了。通过监听设备状态(可以用MQTT订阅设备上报),状态变化时自动触发语音播报。
3.3 第三种场景:工位预约后的语音签到
学员在系统里预约了某个工位,到现场后刷工卡/NFC,音箱确认预约信息。
一些踩坑提醒
签名是个容易翻车的地方
签名计算看着简单,但细节容易出错:
时间戳要秒级,10位数字,不是毫秒级的13位
拼接的是字符串,不是直接数字相加
用你项目中实际用到的语言测试一下,不同语言的MD5输出大小写可能不同
设备不在线
接口返回200只代表平台收到了指令,不代表设备真的执行了。如果设备离线了,它连上WiFi后也不会自动补播这条消息。所以重要通知最好确认一下设备在线状态,或者配合消息推送来确认执行结果。
一次说太多
语音播报一次性说太长的话,学员可能听一半就忘了。:
每段播报控制在100字以内
关键步骤分多条发送,每条之间留点间隔
配合小程序或工位屏幕显示文字,视听结合
总结一下
把芯步的智能音箱接入创客工坊项目,核心就三步:
配网:让音箱连上WiFi
拿凭证:AppID、AppSecret、Device ID
调接口:算签名 → 发播报指令
整个过程不需要搞硬件开发,纯HTTP接口调用,任何编程语言都能接。无论是JavaScript、Python、Java还是Go,核心逻辑都一样。
往大了想,这套东西不光能用在工坊——产品发布会的展品讲解、博物馆的语音导览、仓库的入库确认……只要是需要“远程让某个地方发出声音”的场景,都能用类似的方案搞定。