CATALOG

芯步智能语音壁挂音箱(20W)支持通过HTTP接口直接调用,无需上传录音或后台设置即可实现文本转语音推送。以下方案涵盖接口协议、签名算法及多语言代码示例。

1. 产品技术特性概述

芯步智能语音壁挂音箱|20W(型号:UNI-YY-YX-BG-PRO-20W)是一款支持远程语音播报的物联网硬件设备。其核心开放能力如下:

  • 接口协议:设备开放标准 HTTP API,任何支持HTTP请求的编程语言均可调用(Java、Python、Node.js、PHP、Go、.NET等)。

  • 网络连接:支持 WiFi 2.4G 无线网络,无需网关,直连路由器。

  • 核心功能

    • 文本转语音(TTS):直接推送文本,设备实时合成语音播报,无需上传录音文件。

    • 音频播放:支持播放内置提示音/警报音,或远程推送MP3音频流。

    • 设备控制:支持远程调节音量、音色、语速等。

  • 部署模式:支持公有云调用,也支持私有化部署(纯局域网环境自建消息服务器)。

2. API接口调用逻辑

实现云平台语音推送的核心流程分为三步:获取密钥 -> 计算签名 -> 下发命令

2.1 接口地址与鉴权机制

所有请求通过 HTTP POST 方式发送,需要在 URL 参数中携带鉴权信息。

  • 请求URLhttps://api.thingboot.com/{AppID}/device/control/

  • URL参数

    • sign:动态签名,用于身份验证。

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

  • 请求头Content-Type: application/json

  • 请求体:包含目标 device ID 和具体的 order 指令。

2.2 签名生成算法(重点)

云平台采用 MD5(MD5(AppSecret) + ts) 的双重MD5加密方式防止重放攻击。

算法步骤:

  1. 将开发者密码 AppSecret 进行第一次 MD5 哈希,得到 secret_md5

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

  3. 对拼接后的字符串进行第二次 MD5 哈希,得到最终的 sign

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

2.3 核心控制指令说明

请求体中的 order 字段为 JSON 字符串,以下是针对 20W 壁挂音箱常用的指令集:

功能描述Order JSON 格式示例参数说明
文本语音推送{"play:gbk:16":"你好,欢迎光临"}play:gbk:16 表示使用 GBK 编码播放文本,16 为音量(范围0-30),后面跟具体文字。
调节音量{"volume":20}设置设备音量值为 20。
播放内置提示音{"ring":1}播放内置门铃声(索引1-5)。
播放警报音{"alert":1}播放内置警报音。
停止播放{"stop":"immediate"}立即停止当前所有播报。
设备重启{"reset":1}远程重启设备。

3. 多环境集成代码示例

以下示例演示如何将“设备控制”封装为代码,实现语音推送。

3.1 Java 环境(适用于后端服务)

使用 Unirest 或 OkHttp 库实现。

3.2微信小程序(适用于移动端)

由于小程序安全限制,将密钥和签名算法放在后端,此处仅为前端调用示例。

3.3 Shell 脚本(适用于运维自动化)

使用 curl 命令直接调用,适合集成到监控告警脚本中。

4. 业务系统集成方案

4.1 典型应用场景架构

企业通常将音箱作为IoT输出终端,集成到现有的业务流中:

  1. 订单/工单系统

    • 触发点: 新订单创建、工单分配。

    • 动作: 调用API -> 音箱播报:“您有新的XX订单,请及时处理”。

  2. 监控告警系统

    • 触发点: Zabbix/Prometheus 发出告警(CPU > 90%)。

    • 动作: Shell脚本捕获告警 -> 调用API -> 音箱播报:“警告:数据库服务器负载过高”。

  3. SaaS/低代码平台

    • 利用芯步的API,无需硬件开发知识,直接在低代码平台(如钉钉宜搭、简道云)的流程节点中配置 HTTP 插件,即可实现无代码硬件控制。

4.2 高级语音效果调节

为了提高用户体验,可以利用 API 的高级参数:

  • 多音字处理: 如果 TTS 读错了多音字,可以尝试在文字中用同音字替换,或利用设备支持的 SSML(语音合成标记语言)进行标记。

  • 数字读法: 系统默认优化数值读法。例如 "123.50" 会被读作“一百二十三点五零”,而 "2023年" 会被读作“二零二三年”。

  • 音量与语速:通过同一个 API 请求下发调节指令,或者在播报指令中直接指定音量(如 play:gbk:20 中的 20)。

4.3 注意事项

  1. 设备ID获取device 参数(如示例中的 1878)通常在芯步后台的设备列表中可见,也可以通过 拉取设备列表 API 动态获取。

  2. 网络稳定性: 设备依赖 WiFi,需确保信号良好。设备支持设置 5 组备用 WiFi,以增强网络稳定性。

  3. 局域网/私有化: 如果涉及数据安全需断网运行,可联系厂商获取私有化部署包,此时 API 地址将变更为您本地服务器的 IP 地址。

通过上述方案,开发者无需深入了解硬件协议,仅通过标准的 HTTP 请求即可在 1 小时内完成从注册到实现云平台语音推送的全过程。