CATALOG

基于芯步智能壁挂音箱的开放接口,以下方案详细介绍如何通过API实现远程音量与音色调节,涵盖鉴权机制、核心命令示例及多场景集成策略。

1. 概述与准备工作

芯步的智能语音感应壁挂音箱(型号:UNI-YY-YX-BG-HW)支持通过标准的HTTP协议进行远程控制,允许开发者将其快速集成到现有的Web应用、移动端或SaaS平台中。本方案的核心在于利用设备开放的API接口,在不依赖额外网关的情况下,通过发送特定的JSON指令来实现对设备播放参数(音量、音色、语速)的动态调节。

在开始开发前,请确认以下准备工作已完成:

  • 获取凭证:登录芯步控制台,获取您的 AppIDAppSecret(开发者密码)。这两个参数是后续接口鉴权的核心

  • 设备就绪:确保壁挂音箱已通电并连接至2.4G WiFi网络。设备支持配置5组WiFi,会自动选择信号最强的网络连接

  • 设备ID:在控制台获取目标设备的唯一标识 Device ID,这是指令送达的目标地址

2. 接口鉴权机制

为保证指令安全下发,芯步采用动态签名验证机制。每次请求均需携带实时生成的签名(sign)和时间戳(ts)。

2.1 签名计算规则

签名算法遵循双重MD5加密逻辑,具体步骤如下

  1. AppSecret 进行一次MD5加密:secret_md5 = md5(AppSecret)

  2. 将上一步得到的字符串与当前Unix时间戳(秒级)拼接:tmp_str = secret_md5 + str(ts)

  3. 对拼接后的字符串再次进行MD5加密,得到最终签名:sign = md5(tmp_str)

2.2 请求结构

  • 请求地址https://api.thingboot.com/{AppID}/device/control/

  • 请求方式POST

  • HeaderContent-Type: application/json

  • URL参数?sign={计算所得签名}&ts={当前时间戳}

3. 核心功能实现:音量与音色调节

芯步的语音产品线(包括壁挂音箱、音柱等)支持实时调整播放参数,无需重启设备

3.1 调节指令参数说明

发送指令时,order 字段需传递一个JSON对象。针对语音播报类设备,调节参数通常包含在播报指令的扩展字段中,或通过专用设置命令下发。根据通用规范,支持以下参数:

参数类别字段标识功能描述示例值
音量volume调节输出音量大小0-100 (整数)
音色voice切换发音人风格1 (男声), 2 (女声)
语速speed调节播报快慢-55
语调pitch调节音调高低-55

3.2 实际应用示例

场景:将位于车间(设备ID:1878)的音箱音量调至80%,并切换为男声播报“请注意,夜班开始”。

请求体示例如下

注:部分型号可能使用 {"play:gbk:16":"内容"} 格式进行播报,具体请参考设备对应的产品手册

4. 代码实现示例(Python)

以下代码展示了如何通过Python脚本构造请求,对壁挂音箱进行远程调节与控制。

5. 集成架构

为了实现“感应”功能并动态调节音色,采用以下架构模式:

5.1 事件触发机制

不要单纯依赖手动调用API。将传感器(如人体雷达传感器)接入系统。

  • 逻辑:当传感器检测到有人经过时,向服务器发送事件。

  • 动作:服务器接收到事件后,自动调用上述API,此时根据不同时间段(如白天/夜晚)下发不同的音量指令(如白天音量90,夜晚音量30)。

5.2 前端管理面板集成

为方便运维人员操作,您可以在原有的管理后台中增加一个“音频设置”卡片。

  • 功能:提供滑块(调节音量)和下拉框(选择音色)。

  • 交互:当管理员调节UI界面上的控件时,前端直接发起Ajax请求调用芯步的接口,实现所见即所得的调试效果

5.3 私有化部署支持

若您的项目运行在纯内网环境,芯步支持私有化部署。您可以将API请求地址指向本地部署的消息服务器,无需连接公网即可完成上述所有控制操作,保障数据安全

6. 常见问题排查

  • 指令下发后无声音:首先检查设备是否处于WiFi信号覆盖范围,其次确认设备ID是否正确,最后检查请求中的 ts (时间戳)是否与服务端时间误差过大。

  • 音色切换失败:确认当前播报的文本编码是否为 GBK 格式(部分固件版本对中文编码有严格要求)

  • 音量调节范围:虽然大部分设备支持0-100,但为了硬件寿命,日常使用时音量范围控制在20-90之间。

通过上述方案,您可以快速利用芯步的开放能力,实现对智能语音壁挂音箱的精细化音频控制。