CATALOG

芯步15W智能语音壁挂音箱开放了标准的HTTP接口,这意味着只要你的业务系统能发HTTP请求(无论是Java、Python、PHP还是前端JS),就能轻松实现语音通知的自动推送。下面是一套完整的二次开发解决方案。

1. 核心接口原理

芯步15W智能语音壁挂音箱(型号:UNI-YY-YX-BG-15W)的核心能力是芯片级TTS(Text To Speech)。你不需要预先录音,只需通过HTTP接口发送文本,设备端会直接生成语音并播报

  • 响应速度:从调用接口到音箱出声,通常只需 80-300ms

  • 网络要求:设备使用 2.4G WiFi,支持公网纯局域网(私有化部署)

  • 支持语言:任何支持HTTP协议的语言(Python, Java, C#, PHP, Go, Node.js等)。

2. 开发准备

在进行二次开发前,需要准备以下三项关键信息:

  1. 获取凭证:在芯步开发者后台获取 AppIDAppSecret

  2. 获取设备ID:在控制台找到目标音箱的 Device ID

  3. 网络配置:确保音箱通过WiFi联网,并与你的服务器网络互通(若在局域网使用,需采用私有化部署方案)

3. 接口调用逻辑

整个二次开发的核心在于签名计算指令下发

3.1 请求地址

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

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

  • sign:动态生成的签名。

3.2 签名算法

签名生成逻辑如下,后端需严格按此实现:

  1. AppSecret 进行第一次MD5加密,得到 secret_md5

  2. secret_md5 与时间戳 ts (字符串形式)拼接。

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

公式sign = MD5( MD5(AppSecret) + ts )

3.3 请求头与Body

  • Content-Typeapplication/json

  • Body结构

4. 代码实战(多语言示例)

根据芯步的接口规范,以下提供三种后端语言的二次开发示例,可直接集成到现有业务系统中。

4.1 Python 示例(推荐)

使用 requests 库进行集成,适合嵌入现有的Python Web服务(如Django/Flask)或脚本任务中。

4.2 Java 示例

使用 UnirestOKHttp 库,适合Spring Boot架构的企业级应用

4.3 PHP 示例

适合快速集成到现有的PHP管理后台或ThinkPHP/Laravel框架中

5. 高级控制与参数调节

不仅是纯文本推送,二次开发时还可以通过修改 order 字段来精细化控制播报行为

5.1 常用命令扩展

功能Order JSON 示例说明
设置音量{"volume":7}音量范围 0-9,默认为7
选择音色{"voice":1}0=女声(默认),1=男声
调节语速{"speed":5}范围 0-9,数值越大越快
播放铃声{"ring":1}播放内置铃声(1-5),用于引起注意
组合命令{"volume":9, "play:gbk:16":"紧急通知"}先调大音量再播报
停止播报{"stop":1}立即停止当前正在播放的内容

5.2 高级播报技巧

在二次开发对接业务数据时,对文本进行预处理以保证播报效果:

  • 数字读法:接口默认支持智能读法。例如传入 "消费金额:123.50元" 会自动读作“一百二十三点五元”;若需报手机号,直接传入数字串即可,设备会自动按号码逻辑朗读

  • 多音字处理:对于生僻或多音字,可以用同音字替换(如“莘庄”可写为“辛庄”,“参数”可写为“餐数”)。

6. 定时语音播报实现方案

要实现“定时语音通知推送”,无需依赖音箱本身,而是在你的业务系统中通过定时任务(Cron Job) 调用上述API即可

6.1 实现思路

  1. 后端配置定时器:在你的服务器中设置定时任务(如 Linux Crontab、Windows Task Scheduler 或 Spring @Scheduled)。

  2. 定义时间与内容:设定触发时间(如“每天 14:00”)和对应的播报文案(如“下午两点,请各部门准备开会”)。

  3. 触发接口:时间到达时,脚本自动构造请求并调用音箱控制接口。

6.2 应用场景举例

  1. 午休/下班提醒

    • 时间: 11:55 / 17:30

    • 逻辑: 调用接口 {"play:gbk:16":"工作时间即将结束,请注意整理文档"},并可 组合命令 先播放提示音(如设置 {"message":1})再播报。

  2. 晨会/整点报时

    • 逻辑: 定时任务触发,根据时间动态拼接文本(例如:“现在时刻,上午九点整”)。

  3. 数据巡检/故障报告

    • 逻辑: 后台服务监控到错误日志(Error Log)数量超标,触发定时扫描任务,调用接口播报“服务器CPU负载过高,请检查”。

7. 部署与集成

  1. 私有化部署(局域网)如果你对公网稳定性有顾虑,或希望在纯内网环境使用,可以将接口地址切换为私有化部署的服务器地址。芯步的固件支持配置私有IP,使得语音指令完全在内网流转,具备高安全性且零延迟

  2. 系统对接(IFTTT思路)

    • 对接OA系统:当有人提交请假单时,自动向行政部音箱播报“新的请假申请待审批”。

    • 对接工单系统:当客户在APP提交“送水”订单,仓库音箱播报“您有一个新的外送订单”。

    • 对接IoT传感器:如果仓库门磁被打开,联动音箱播报“C区侧门已打开”。

8. 常见问题排查

如果在开发调试中遇到问题,可按以下步骤自查:

  1. 签名错误(401/403)

    • 确认 ts秒级时间戳(10位数字),不是毫秒级(13位)。

    • 核对签名计算顺序:先MD5 AppSecret,再拼接ts字符串,最后整体MD5。

  2. 设备离线(超时)

    • 检查音箱是否亮灯并连接WiFi。

    • 检查防火墙是否封禁了对外 443 端口(若使用公网API)。

  3. 播报无声

    • 检查 order 字段内的 key 是否严格写作 "play:gbk:16"

    • 检查音量是否设置为 0。

通过上述方案,你可以在几小时内完成开发,将15W壁挂音箱无缝集成到现有业务流中。如需更详细的命令列表,查阅最新版《智能语音壁挂音箱15W产品手册》