CATALOG

芯步20W网络音频音柱支持HTTP接口调用和MQTT协议,可以通过云端定时任务系统下发语音播报指令。以下是基于官方开放接口的完整接入方案。

1. 项目概述与设备选型

1.1 适用场景

20W网络音频音柱广泛应用于园区广播、商场促销播报、工业预警、学校打铃等场景。结合芯步的开放接口,用户可以通过云端服务器,在指定时间自动触发音柱播放预置音频或进行文本语音合成播报

1.2 设备选型确认

根据芯步产品手册,20W音柱主要有两种联网版本:

  • UNI-YY-YZ-20W:支持 WiFi 2.4G 无线网络。

  • UNI-YY-YZ-20W-LAN:支持 有线以太网+WiFi注:两者均无需网关,直连云平台,支持HTTP接口控制

2. 核心技术原理

本方案基于 HTTP 请求MQTT 协议 实现“云端-设备”的指令下发。

  • 定时触发机制:由您的业务服务器(或芯步云函数)作为调度中心,到达预设时间(如Cron表达式)时,向芯步开放平台发起API请求。

  • 设备执行逻辑:芯步平台接收到指令后,通过长连接将命令推送给音柱。音柱收到命令后立即解析指令内容(如音量、播放文本),进行TTS语音合成或播放内存卡中的音频文件。

3. 接入准备与开发配置

在开始编码前,请完成以下准备工作:

3.1 获取关键凭证

登录芯步控制台,在“开发设置”中获取以下三个核心参数:

  1. AppID:您的应用唯一标识。

  2. AppSecret:用于接口鉴权加密的密钥。

  3. Device ID:需控制的20W音柱的设备ID(可在控制台设备列表或设备外壳上找到)

3.2 签名算法 (Sign)

芯步的API请求需携带签名,防止篡改。签名生成规则如下(按官方推荐):Sign = md5( md5(AppSecret) + ts )

  • ts:当前Unix时间戳(秒)。

  • 步骤:先将AppSecret进行一次MD5加密,再将加密后的字符串拼接上时间戳,最后对整个字符串再做一次MD5

3.3 网络测试

确保您的云端服务器(或本地测试环境)能够访问芯步API域名:https://api.thingboot.com

4. 音柱核心控制指令详解

根据芯步的接口文档,针对20W音柱,您需要在order参数中下发特定的JSON指令。

4.1 文本语音合成播报 (TTS)

最常用的功能,云端直接下发文字,音柱将其转换为语音。

  • 命令格式{"play:gbk:16":"你好,欢迎光临"}

  • 参数解析

    • play:gbk:16:这里16通常代表音量等级(0-16)或音效类型,具体需根据购买的设备手册确定。常见的语音播报类设备支持此类格式

    • 优化:中文编码使用GBK或UTF-8,尽量避免生僻字。

4.2 停止播放

  • 命令格式{"stop":"1"}{"stop":""}

4.3 音量调节

  • 命令格式{"volume":"80"} (假设音量范围0-100,具体范围请查产品手册)

4.4 播放指定URL音频

如果希望播放高质量的音乐或预录制的MP3文件,可以下发音频链接。

  • 命令格式{"play":"http://your-domain.com/bell.mp3"}

注意:不同批次的20W音柱对order字段的支持可能略有差异,在实际操作前参考产品对应的“产品手册”

5. 云端定时任务实现方案

本阶段将结合您的业务服务器,实现“到点自动播报”。以下是两种主流架构的实现逻辑:

5.1 方案一:业务服务器自建定时器(推荐)

这是最灵活、稳定性最高的方案。

架构流程图

  1. 配置任务:在您的后台管理系统UI界面,设置任务时间(如:每天08:00)、播报内容(如:“上班时间到了”)、关联的音柱设备ID。

  2. 存储任务:数据存入数据库。

  3. 调度触发

    • 后端服务(Java/Go/Python)利用QuartzTimer定时轮询数据库。

    • 当系统时间到达任务设定的时间点,触发执行器。

  4. 下发指令

    • 执行器通过HTTP Client调用芯步API。

    • 请求方式:POST

    • URLhttps://api.thingboot.com/{Your_AppID}/device/control/?sign={sign}&ts={ts}

    • Body (JSON)

  5. 异步确认:接收API返回的code 200(代表平台已接收),监听消息推送确认设备实际执行成功

5.2 方案二:利用芯步平台“云定时”功能

如果您的业务逻辑简单,不想维护复杂的定时任务服务,可以直接在芯步控制台设置定时任务。

  1. 登录芯步控制台。

  2. 进入“设备管理” -> 选择对应的20W音柱。

  3. 找到“定时任务”或“场景联动”模块。

  4. 设置Cron表达式(如 0 30 18 * * ? 代表每天18:30)并绑定动作指令{"play:gbk:16":"请关好门窗"}注:此方法依赖平台UI,不适合大量动态变更任务的场景

6. 代码实现核心示例 (伪代码/逻辑)

假设您决定采用方案一,以下逻辑示例展示了如何调用API下发指令:

7. 调试与排错指南

在接入过程中,遇到“云平台接收但设备无反应”是最常见的问题,请按以下顺序排查:

  1. 设备在线状态

    • 在芯步控制台查看该音柱的状态是否为“在线”。

    • 20W音柱仅支持2.4G WiFi。请检查现场WiFi是否为双频合一(如果是,请开启2.4G优先或单独SSID)

  2. 命令格式校验

    • 检查device参数是否是纯数字ID(不要传成了SN码)。

    • 检查order里的Key是否完全匹配产品手册(注意下划线、冒号是英文半角)。

  3. 特殊字符处理

    • 如果播报内容包含英文单引号或特殊符号,在POST的JSON中转义。

  4. 区域与延迟

    • 云平台下发指令通常依赖网络。如果音柱信号差,可能会有2-5秒延迟,若需实时触发(如门禁联动),使用MQTT方式订阅

8. 总结

通过接入芯步的开放API,您可以将20W网络音频音柱无缝集成至现有的云端业务系统(如OA系统、仓储管理系统)。核心流程可总结为:获取凭证 -> 计算签名 -> 组装指令(JSON) -> HTTP调用

对于复杂的定时任务,将任务调度逻辑托管在您的业务服务器上,将芯步作为纯净的“指令下发通道”,这样可以最大程度地解耦业务逻辑与硬件协议,便于后期维护和扩展更多的播报场景。