一、概述
芯步智能20W云语音音柱(型号:UNI-YY-YZ-20W)是一款支持HTTP接口远程控制的户外防水语音播报设备,适用于停车场、园区、车间、加油站等场景。本方案的目标是指导开发者如何基于该产品进行二次开发,实现云端设备状态监控——不仅能够远程下发播报指令,还能实时接收设备的状态上报和执行回执。
核心能力
芯片级TTS,设备端完成语音合成,毫秒级响应
消息推送机制:设备状态变化主动上报到您的服务器
私有化部署:支持局域网直连,数据不出内网
二、产品核心特性
| 特性 | 参数 |
|---|---|
| 功率 | 20W(大音量,适合户外场景) |
| 防护等级 | 防尘防水 |
| 联网方式 | WiFi 2.4GHz,无需网关 |
| 网络配置 | 可设定5组WiFi,自动连接信号最强的网络 |
| 控制接口 | HTTP API |
| 播报方式 | 文本转语音(TTS),无需预录音 |
| 音色 | 男声/女声可调 |
| 音量/语速/语调 | 0-9级可调 |
| 内置音频 | 铃声×5、提示音×5、警示音×5 |
| 私有化部署 | 支持,可运行在纯局域网环境 |
三、二次开发架构
3.1 整体架构图
┌─────────────────────────────────────────────────────────────────┐
│ 您的业务系统 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 状态看板 │ │ 告警中心 │ │ 日志分析 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ▲ ▲ ▲ │
│ │ 消息推送 │ 消息推送 │ 消息推送 │
│ │ (HTTP POST) │ (HTTP POST) │ (HTTP POST) │
└─────────┼────────────────┼────────────────┼──────────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────┐
│ 芯步云平台 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 消息分发 │ │ 设备管理 │ │ 规则引擎 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────────┘
▲ │
│ HTTP API(下发指令) │ 状态上报
│ ▼
│ ┌─────────────────────┐
│ │ 20W云语音音柱 │
└────────────────────│ • 心跳上报 │
│ • 指令执行回执 │
│ • 事件触发上报 │
└─────────────────────┘3.2 双向通信机制
| 通信方向 | 协议 | 用途 |
|---|---|---|
| 下行(指令下发) | HTTP API(主动调用) | 播报文本、调音量、切换音色等 |
| 上行(状态上报) | HTTP消息推送(平台回调) | 设备状态变化、指令执行结果 |
核心优势:通过消息推送机制,您的系统可以实时感知音柱的状态变化,实现云端监控。
四、API接口接入详解
4.1 接口地址
请求地址
https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}参数说明
| 参数 | 说明 | 示例 |
|---|---|---|
| {AppId} | 应用ID(控制台获取) | qtyVWcgeMq |
| {sign} | 签名,见下方计算公式 | c484eb97ee288572db7828c6071dd88f |
| {ts} | 当前Unix时间戳(秒) | 1747212640 |
签名计算公式
sign = md5( md5(AppSecret) + ts )
将开发者密码(AppSecret)进行一次MD5
将上述结果拼接上时间戳(ts)
对整个字符串再做一次MD5
完整请求示例
4.2 命令格式说明
芯步智能音柱的指令格式为 {"命令": "参数"}
| 命令类型 | 命令格式 | 参数说明 | 示例 |
|---|---|---|---|
| 文本播报 | {"play:gbk:16":"文本内容"} | GBK编码文本 | {"play:gbk:16":"订单号123,请取餐"} |
| 播报+提示音 | {"play:gbk:16":"[message_3]欢迎光临"} | [message_x]前置提示音 | {"play:gbk:16":"[message_2]新订单"} |
| 音量调节 | {"volume":"5"} | 0-9,0为静音 | {"volume":"7"} |
| 音色切换 | {"voice":"1"} | 0=女声,1=男声 | {"voice":"1"} |
| 语速调节 | {"speed":"5"} | 0-9 | {"speed":"6"} |
| 语调调节 | {"tone":"5"} | 0-9 | {"tone":"4"} |
| 播放铃声 | {"ring":"3"} | 1-5(内置5种) | {"ring":"2"} |
| 播放提示音 | {"message":"3"} | 1-5 | {"message":"1"} |
| 播放警示音 | {"alert":"3"} | 1-5 | {"alert":"5"} |
| 停止播报 | {"stop":"1"} | 1=全部停止 | {"stop":"1"} |
4.3 各语言开发示例
Python
Java
Node.js
Go
五、云端状态监控实现
5.1 消息推送配置
为实现云端状态监控,需要在芯步控制台配置消息推送URL。当设备状态变化时,平台会自动将消息推送到您的服务器。
配置步骤
登录芯步控制台
进入「开发设置」→「消息推送」
配置接收地址:
https://your-domain.com/api/device/callback选择需要接收的消息类型
5.2 三类上行消息
平台会推送以下三类消息
1. 指令执行消息(type: "order")
当设备接收到指令并执行完毕后触发,用于确认命令已被执行。
2. 事件消息(type: "event")
当用户操作设备(如通过设备面板按钮)触发状态变化时推送。
3. 状态消息(type: "state")
设备自主上报状态时触发,用于获取设备的实时运行状态。
5.3 消息接收服务实现
5.4 设备健康监控与告警
基于消息推送机制,您可以实现以下监控能力:
| 监控项 | 实现的方式是 | 告警阈值示例 |
|---|---|---|
| 设备在线状态 | 心跳上报,超时未收到消息判定离线 | 5分钟未上报 → 离线告警 |
| 指令执行成功率 | 记录下发指令与执行回执的匹配 | 连续3次失败 → 故障告警 |
| 播报频率统计 | 统计指令执行次数 | 单日超过1000次 → 负载过高 |
| 设备版本信息 | 通过状态消息上报版本号 | 版本过低 → 升级提醒 |
六、私有化部署方案
对于数据安全要求高的场景,设备支持纯局域网运行,无需访问互联网。
部署模式对比
| 特性 | 公有云模式 | 私有化模式 |
|---|---|---|
| 设备联网 | WiFi连接互联网 | 连接内网WiFi |
| API地址 | api.thingboot.com | 自建服务器IP |
| 消息推送 | 平台推送 | 自建消息服务 |
| 数据存储 | 芯步云端 | 本地数据库 |
| 适用场景 | 快速接入、SaaS应用 | 政府、金融、军工等 |
私有化配置要点
设备支持配置5组WiFi网络,自动连接信号最强的网络
需自建消息接收服务器,设备会直接向配置的URL推送消息
所有API调用在内网完成,数据不出园区
七、完整应用示例:设备状态监控看板
八、常见问题与排障
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 设备不在线 | WiFi信号弱或断网 | 设备支持配置5组WiFi,自动切换 |
| 消息推送收不到 | 回调地址不可达 | 检查服务器是否公网可达,5秒内需返回200 |
| 播报延迟高 | 网络波动 | 设备支持私有化部署,使用局域网可降低延迟 |
| 多音字读错 | TTS引擎规则限制 | 使用同音字替代,如“重量”改“重量(第四声)” |
| 签名验证失败 | AppSecret或ts不正确 | 确保ts为秒级时间戳,签名公式为md5(md5(AppSecret)+ts) |
九、总结
本方案基于芯步20W智能语音音柱,实现了指令下发+状态监控的双向闭环:
| 能力 | 实现的方式是 |
|---|---|
| 远程语音播报 | HTTP API下发文本,设备端TTS合成 |
| 指令执行确认 | 消息推送(type: order) |
| 设备状态监控 | 消息推送(type: state) |
| 私有化部署 | 局域网直连,无需云端 |
二次开发核心步骤
获取AppID/AppSecret,实现签名算法
开发命令下发接口,实现语音播报等功能
配置消息推送URL,开发接收服务
解析三类上行消息,实现状态监控和告警
方案优势
✅ 双向通信:既能下发指令,又能接收设备状态
✅ 实时监控:消息推送延迟低,状态变化即时感知
✅ 多语言支持:标准HTTP接口,任何编程语言均可接入
✅ 私有化可部署:数据安全可控
如需详细的产品手册和API文档,请访问芯步官网查阅。