芯步30W音柱的开放接口基于标准HTTP协议,播报命令只需一个POST请求即可完成。以下方案涵盖接口鉴权、播报/控制命令格式、多语言代码示例以及业务系统集成架构。
一、 二次开发核心架构
二次开发的本质是利用音柱开放的HTTP API,将您的业务系统(如ERP、收银系统、监控平台)与硬件连接起来。
推荐架构:
业务触发 -> 业务系统后端 -> 芯步API -> 音柱设备 -> 语音播报
整个流程无需复杂的中间件,您的系统只需组装JSON数据并发送HTTP请求即可完成播报。
二、 接口鉴权与基础信息
在开发前,请确保已在芯步平台获取以下凭证,并确认设备已联网:
AppID:应用唯一标识。
AppSecret:开发者密钥(用于加密)。
Device ID:设备唯一ID(可在控制台查看)。
API端点
https://api.thingboot.com/{AppID}/device/control/
签名算法(核心安全机制):所有请求必须携带签名(sign)和时间戳(ts),防止接口被恶意调用。公式:sign = md5( md5(AppSecret) + ts )
md5(AppSecret):将密钥进行一次32位小写MD5加密。+:字符串拼接。ts:当前Unix时间戳(秒),例如1715328000。外层
md5():将拼接后的字符串再次进行32位小写MD5加密。
三、 核心功能开发:发送语音提醒
这是最核心的需求。音柱支持芯片级TTS,无需上传录音文件,直接发送文本即可发声。
1. 基本播报命令
通过order参数传递{"play:gbk:16":"您的文本内容"},注意编码格式为gbk,长度通常不超过200字。
请求示例(JSON):
2. 增强播报:带提示音
实际场景中,纯人声容易被忽略。在文本前插入内置提示音。
| 提示音类型 | 代码标识 | 适用场景 |
|---|---|---|
| 铃声 | [ring_X] | 收银到账、门铃 |
| 提示音 | [message_X] | 普通信息提醒 |
| 警示音 | [alert_X] | 紧急情况、故障报警 |
| *注:X代表1-5的数字,代表不同的音调。* |
命令示例(提示音 + 播报):
3. 动态变量支持
音柱内置了智能识别算法,能正确朗读数字格式。
金额:直接输入
99.9,设备会读作“九十九点九元”。手机号:直接输入
13800138000,设备会自动按位读。
四、 进阶控制指令
除了发消息,二次开发还需支持远程维护。
| 功能 | Order JSON 示例 | 说明 |
|---|---|---|
| 音量调节 | {"volume":"7"} | 范围 0-9 |
| 切换音色 | {"voice":"1"} | 0-女声,1-男声 |
| 语速调节 | {"speed":"5"} | 范围 0-9 |
| 语调调节 | {"tone":"5"} | 范围 0-9 |
| 紧急停止 | {"stop":"1"} | 立刻停止当前播报 |
五、 代码实战(多语言示例)
以下提供几种主流语言的二次开发封装逻辑。以“发送语音提醒”为例:
1. Python 3 (推荐,适合快速集成)
2. Java (适合集成到企业ERP)利用Unirest库简化HTTP请求 。
3. PHP
六、 高级场景与优化
1. 多设备同时播报如果你的场景需要全场广播(如工厂车间、仓库或多个收银台),device参数支持批量传递。
2. 播报优先级与队列管理芯步的开放接口是同步的,但如果瞬间触发大量播报(如双十一订单涌入),在调用端做队列控制。如果业务系统瞬间调用10次API,音柱会依次播报这10条消息,可能会造成“炸麦”或信息覆盖。可以在后端利用消息队列将短时间内的消息合并成一条。
3. 网络稳定性该音柱仅支持2.4G WiFi 。在开发交付时,需确保现场WiFi信号覆盖良好。音柱支持配置5组WiFi,可自动切换最强信号,利用API可检测设备在线状态。
七、 总结
通过对芯步30W音柱的二次开发,开发者只需关注业务逻辑与HTTP接口的交互:
无需关心硬件底层:无需驱动、串口通信,纯网络调用。
零音频文件管理:TTS在设备端合成。
集成成本极低:熟练开发者从拿到设备到跑通第一个“Hello World”通常不超过30分钟。
开发者在芯步后台的“设备调试”功能中,先用API调试工具(如Postman)验证签名和设备连通性,再进行代码集成。