CATALOG

芯步的智能语音设备采用标准的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 签名算法

  1. 将您的 AppSecret 进行MD5加密:secret_md5 = md5(AppSecret)

  2. 获取当前Unix时间戳(秒):ts

  3. 拼接字符串并再次MD5:sign = md5(secret_md5 + ts)

2.2 请求示例

假设 AppId=ABC123, AppSecret=XYZ789,设备ID为 DEV001

3. 远程播放列表管理实现方案

该设备内部无存储空间,不支持直接“上传列表”。为了实现播放列表管理,需在应用服务器端构建一个“播放任务调度中心”,通过API动态推送列表项。

3.1 设计

  1. 列表存储层:在您的业务系统(MySQL/Redis)中建立播放列表库。

  2. 调度逻辑层:编写定时任务或事件触发程序,读取列表项。

  3. 执行层:调用芯步API,将列表文本推送给音箱。

3.2 核心逻辑实现步骤

步骤1:定义数据结构

在您的数据库中创建“播放任务表”:

  • id:任务ID

  • device_id:目标设备ID

  • content:要播放的文本内容

  • priority:优先级(高优先级可打断当前播放)

  • status:状态(0=待播放,1=播放中,2=已完成)

  • scheduled_time:定时播放时间

步骤2:调度核心代码逻辑

您需要编写一个脚本(Python/Java/Go),循环执行以下流程:

  1. 拉取任务:从数据库中查询 status=0scheduled_time <= now 的任务。

  2. 下发指令:循环取出任务,构造API请求。

    • 注意:利用 device 参数支持逗号分隔的特性,可以实现一对多的广播

  3. 状态回写:收到API返回的成功响应后,将任务状态更新为“已完成”。

    • 关键点:API通常只代表指令下达成功,若需精确确认音箱是否真的播放了(防止断网离线),可结合设备日志或心跳接口(需查阅完整设备文档)。

步骤3:结合业务事件触发

除了定时任务,播放列表通常由业务事件触发。例如零售POS系统结账时:

3.3 播放控制增强体验

为了更好的管理体验,在管理界面集成以下控制功能:

  • 音量与音色调节:在播放前下发 {"volume":5}{"voice":"female"} 命令,适配不同场景(如白天大声、夜间柔和)。

  • 打断与停止:播放紧急通知时,先下发 {"stop":""} 清空当前队列,再下发新内容

4. 典型场景应用示例

第一种场景:工厂车间定时任务调度

  • 需求:生产线每隔2小时提醒一次“设备保养检查”。

  • 实现

    1. 在服务器设置Cron定时任务。

    2. 任务触发时,调用 play:gbk:16 接口。

    3. 设备:立刻合成语音进行播报。

第二种场景:连锁门店远程营销联动

  • 需求:总部上午10点统一对全城分店播放“今日促销活动”。

  • 实现

    1. 列表管理后台预置当日营销文案。

    2. device 参数中填入多个设备ID,用逗号隔开。

    3. 一次性请求API,实现全门店同时语音广播。

5. 总结和需要注意的点

  1. 设备无状态性:音箱本身不存储列表。所谓“列表管理”,是您的业务系统通过程序逻辑控制文本推送的时机与顺序

  2. 环境要求:设备需保持WiFi(2.4GHz)网络通畅,支持公网或局域网私有化部署

  3. 性能参考:从命令下发到设备响应约为80-120ms 。批量下发时控制频率(例如每秒不超过5-10次),以免触发平台限流。

  4. 调试:使用Postman等工具先验证签名和单次播报成功,再进行系统的功能开发。