芯步的智能语音设备采用标准的HTTP API接口,对接核心是调用/device/control端点,通过签名机制完成身份验证后下发JSON指令。order参数支持两种模式:即时播报(如{"play:gbk:16":"文本内容"})和播放控制(音量/音色/语速等)。若要实现“远程播放列表管理”,需在您的业务服务器端建立播放列表库,通过后端逻辑将列表项逐条转换为播报命令下发——设备本身是无状态执行器,不存储列表。
1. 产品概述与接口能力分析
“款式2”即芯步的智能语音壁挂音箱。该设备的核心能力是接收远程下发的文本,通过内置TTS(语音合成)引擎实时转换为语音播出,无需预先录音。
1.1 核心开放接口
接口地址
https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}请求方式:POST(Content-Type: application/json)
核心参数
device:目标设备ID(支持批量,用逗号分隔)order:JSON格式的命令,如语音播报、音量调节、音色切换等
1.2 支持的关键命令
针对远程播放列表管理,主要使用以下命令:
| 命令格式 | 功能说明 | 示例值 |
|---|---|---|
{"play:gbk:16":"文本"} | 实时TTS语音播报(GBK编码) | {"play:gbk:16":"车辆皖A12345即将进站"} |
{"volume":等级} | 调节播放音量(0-9级) | {"volume":7} |
{"voice":音色} | 切换音色(如男声/女声) | {"voice":"female"} |
{"speed":等级} | 调节语速(0-9级) | {"speed":5} |
{"stop":""} | 停止当前播放 | {"stop":""} |
更详细的铃声、提示音等命令请参考产品手册
2. 接口对接基础:验证与请求构建
在实现列表管理前,必须先完成设备的基础对接。芯步的接口采用动态签名鉴权。
2.1 签名算法
将您的
AppSecret进行MD5加密:secret_md5 = md5(AppSecret)获取当前Unix时间戳(秒):
ts拼接字符串并再次MD5:
sign = md5(secret_md5 + ts)
2.2 请求示例
假设 AppId=ABC123, AppSecret=XYZ789,设备ID为 DEV001。
3. 远程播放列表管理实现方案
该设备内部无存储空间,不支持直接“上传列表”。为了实现播放列表管理,需在应用服务器端构建一个“播放任务调度中心”,通过API动态推送列表项。
3.1 设计
列表存储层:在您的业务系统(MySQL/Redis)中建立播放列表库。
调度逻辑层:编写定时任务或事件触发程序,读取列表项。
执行层:调用芯步API,将列表文本推送给音箱。
3.2 核心逻辑实现步骤
步骤1:定义数据结构
在您的数据库中创建“播放任务表”:
id:任务IDdevice_id:目标设备IDcontent:要播放的文本内容priority:优先级(高优先级可打断当前播放)status:状态(0=待播放,1=播放中,2=已完成)scheduled_time:定时播放时间
步骤2:调度核心代码逻辑
您需要编写一个脚本(Python/Java/Go),循环执行以下流程:
拉取任务:从数据库中查询
status=0且scheduled_time <= now的任务。下发指令:循环取出任务,构造API请求。
注意:利用
device参数支持逗号分隔的特性,可以实现一对多的广播 。
状态回写:收到API返回的成功响应后,将任务状态更新为“已完成”。
关键点:API通常只代表指令下达成功,若需精确确认音箱是否真的播放了(防止断网离线),可结合设备日志或心跳接口(需查阅完整设备文档)。
步骤3:结合业务事件触发
除了定时任务,播放列表通常由业务事件触发。例如零售POS系统结账时:
3.3 播放控制增强体验
为了更好的管理体验,在管理界面集成以下控制功能:
音量与音色调节:在播放前下发
{"volume":5}和{"voice":"female"}命令,适配不同场景(如白天大声、夜间柔和)。打断与停止:播放紧急通知时,先下发
{"stop":""}清空当前队列,再下发新内容 。
4. 典型场景应用示例
第一种场景:工厂车间定时任务调度
需求:生产线每隔2小时提醒一次“设备保养检查”。
实现
在服务器设置Cron定时任务。
任务触发时,调用
play:gbk:16接口。设备:立刻合成语音进行播报。
第二种场景:连锁门店远程营销联动
需求:总部上午10点统一对全城分店播放“今日促销活动”。
实现
列表管理后台预置当日营销文案。
在
device参数中填入多个设备ID,用逗号隔开。一次性请求API,实现全门店同时语音广播。
5. 总结和需要注意的点
设备无状态性:音箱本身不存储列表。所谓“列表管理”,是您的业务系统通过程序逻辑控制文本推送的时机与顺序 。
环境要求:设备需保持WiFi(2.4GHz)网络通畅,支持公网或局域网私有化部署 。
性能参考:从命令下发到设备响应约为80-120ms 。批量下发时控制频率(例如每秒不超过5-10次),以免触发平台限流。
调试:使用Postman等工具先验证签名和单次播报成功,再进行系统的功能开发。