CATALOG

芯步的20W智能吸顶音箱通过HTTP接口开放了TTS播报能力,支持任何编程语言调用。以下方案涵盖设备配网、签名计算、定时触发三个环节,可快速将音箱接入现有业务系统。

解决方案:基于芯步开放接口实现智能吸顶音箱定时语音通知

1. 概述

本方案的目标是指导开发者如何利用芯步提供的开放HTTP接口,将 20W智能语音吸顶音箱 集成到现有的软件系统(如OA、ERP、SaaS或自研平台)中。

通过集成,用户可以在后台设置定时任务,系统届时自动触发文本内容,经由网络发送至指定房间的吸顶音箱,实现实时文本转语音(TTS) 播报。例如:每日9:00自动播报“生产例会即将开始”。

核心优势:

  • 无需局域网网关:设备直连WiFi 2.4G,只需电源和网络

  • 极速响应:从调用接口到发出声音,端到端延迟极低

  • 语音自然:设备端内置芯片级TTS,非录音播放,支持男声、女声、语速、音调调节

2. 硬件与前置准备

  • 硬件设备:芯步智能语音吸顶音箱 20W (型号:UNI-YY-YX-XD-20W)

  • 网络环境:覆盖稳定2.4GHz WiFi信号。

  • 平台账号:注册芯步开放平台账号。

  • 关键凭证

    • AppID:应用唯一标识。

    • AppSecret:应用密钥,用于签名计算。

    • Device ID:设备唯一ID(可在控制台或通过接口获取)。

3. 核心接口详解

芯步的接口采用标准HTTP协议,命令结构为JSON格式。

3.1 请求地址

POST https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
  • {AppId}:替换为你的应用ID。

  • {sign}:动态请求签名。

  • {ts}:Unix时间戳(秒)。

3.2 签名算法(鉴权)为防止接口被恶意调用,所有请求需携带签名。计算方式如下:

  1. AppSecret 进行一次MD5加密得到 Secret_MD5

  2. Secret_MD5 与当前时间戳 ts 拼接成字符串。

  3. 将拼接后的字符串再次进行MD5加密,得到最终的 sign

*公式:sign = md5( md5(AppSecret) + ts )*

3.3 请求体(Body)

  • device:支持传入多个ID,用逗号隔开,实现分组或全量广播

  • order:指令集。 play:gbk:16 代表标准文本播报命令。

4. 实现“定时语音通知”的步骤

要实现定时触发,你需要在芯步的云逻辑侧或你自己的后端服务器中建立定时任务。

架构流程图解:

sequenceDiagram
    participant Admin as 管理员/业务系统
    participant Backend as 您的后端服务器
(定时任务模块) participant YoyoCloud as 芯步云平台
(Open API) participant Device as 智能吸顶音箱20W
(WiFi接入) Note over Admin,Backend: 1. 配置阶段 Admin->>Backend: 设定定时规则
(如:每日9:00播报) Note over Backend,Device: 2. 执行阶段 Backend-->>Backend: 时间到达触发 Backend->>Backend: 计算签名(MD5嵌套+时间戳) Backend->>YoyoCloud: POST /device/control/
{"play...":"会议通知"} YoyoCloud->>Device: 下发TTS指令(P2P穿透) Device-->>Device: 芯片级语音合成 Device-->>Device: 功放推动喇叭播报 Device-->>YoyoCloud: 指令执行回执 YoyoCloud-->>Backend: 返回API调用结果
(成功/失败)

详细实施步骤:

第一步:设备配网

  • 确保吸顶音箱通电。

  • 使用芯步提供的配网工具(如App或小程序),将设备连接到目标WiFi。设备支持设置5组WiFi,自动选择信号最强的连接,增强稳定性

第二步:开发定时调度模块

  • 在你的业务系统中(如Python APScheduler、Java Quartz、Linux Cron或Node.js node-schedule),创建定时任务。

  • 任务内容:构造HTTP请求,调用芯步接口。

第三步:代码实现示例以下是一个Python示例,用于封装“定时播报”逻辑:

关键命令扩展(Order参数):除了播报,你还可以在定时任务中组合以下命令

功能命令示例 (Order JSON)说明
调节音量{“volume”: 5}范围0-9,应对夜间模式或特殊强调场景
更换音色{“voice”: “1”}0-女声,1-男声(具体以官方文档为准)
加快语速{“speed”: 7}范围0-9
播放铃声{“ring”: “1”}播报前增加提示音,吸引注意力
停止播报{“stop”: “”}紧急情况下的定时静音指令

5. 高级应用与部署模式

  • 私有化部署(纯局域网) :如果对公网依赖有顾虑,或者网络环境无法访问外网,芯步支持私有化部署。你可以将服务端部署在本地服务器,设备与服务器在同一个局域网内通信,实现比较高的稳定性和数据隔离

  • 多设备群组播报:在 device 字段中传入多个ID(用英文逗号隔开),如 “820720,820721,820722”。一个请求即可让整层楼或整个车间的音箱同时响起语音通知。这在工厂换班、商场清场等场景特别实用

  • 结合传感器(联动) :抛开人为定时,你可以将逻辑设置为“触发式定时”。例如,设置一个任务:当传感器检测到PM2.5超标时,立即调用接口播报“空气净化已开启”,并等待10分钟后再次播报检测结果。

6. 注意事项

  1. 编码格式:播报文本支持GBK编码,示例中使用 play:gbk:16。在代码编写时,确保发送的文本是UTF-8编码格式,但在命令格式上按规范填写即可。

  2. 时间同步:签名用到了时间戳 ts,请确保发起请求的服务器时间与标准时间误差不宜过大,否则会鉴权失败。

  3. 音频硬件:20W功率的音箱覆盖面积较大,安装在天花板时,注意避开遮挡物,以保证声场均匀