CATALOG

芯步5W壁挂音箱开放了标准的HTTP接口,无需上传录音,直接POST文本即可让设备“开口说话”。以下方案涵盖签名计算、播报命令、多语言代码示例及常见场景配置。

解决方案:基于芯步开放接口的5W壁挂音箱二次开发(远程语音播报)

1. 概述

芯步的5W壁挂远程语音播报器(如型号 UNI-YY-YX-BG-5W)核心优势在于 “芯片级TTS”“全开放HTTP接口” 。这意味着开发者不需要录制音频文件,也不需要复杂的SDK集成,只需在任何后端环境(Java, Python, PHP, Node.js等)或前端(小程序、Web)中构造标准的HTTP请求,直接推送文字,音箱即可在毫秒级内合成并播报语音

适用场景:订单播报(餐饮/电商)、警报通知(监控系统)、工位呼叫(MES系统)、语音门禁提示等。

2. 二次开发核心流程

要实现对音箱的远程控制,需依次完成以下三个技术步骤:

2.1 准备基础凭证

在芯步控制台完成以下操作:

  1. 注册/登录:访问芯步官网并进入控制台。

  2. 获取密钥:在“开发设置”中获取 AppIdAppSecret(开发者密码)。这是调用接口的身份证。

  3. 获取设备ID:在控制台“设备管理”页面或通过接口拉取,获取目标音箱的唯一标识 DeviceId(例如:820720)

2.2 接口签名算法

为防止接口被恶意调用,所有请求需携带动态签名。该平台采用 “双层MD5加密” 策略:

  • 参数

    • AppSecret:开发者密码。

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

  • 签名计算公式

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

注意:必须先将AppSecret进行MD5加密(得到32位小写字符串),然后将此结果字符串与时间戳字符串拼接,再进行第二次MD5加密。

2.3 发起控制请求
  • 请求地址http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

  • 请求方式POST

  • 请求头Content-Type: application/json

  • 请求Body结构

3. 核心播报命令详解

通过修改 order 字段即可实现丰富的功能,无需更改硬件逻辑。

3.1 基础语音播报

这是最核心的功能,下发即播报。

  • 命令格式{"play:gbk:16": "播报内容"}

  • 示例:让ID为 820720 的音箱播报“你有新的外卖订单”。

    • Body

3.2 语音与音效控制

在实际场景中,为了区分不同级别的通知,可以混合使用以下命令(部分产品支持):

功能Order JSON 示例说明
音量调节{"volume": "7"}范围 0-9,下发后生效,无需每次播报都带
音色切换{"voice": "1"}0=女声,1=男声
语速调节{"speed": "5"}范围 0-9,5为正常
前置提示音{"play:gbk:16": "[message_1]仓库到货"}播报前先响一声提示音 (message_1 至 message_5)
内置铃声{"ring": "3"}单独播放内置铃声,不播报文字
紧急停止{"stop": "0"}0=停止当前播报,1=清空全部队列

4. 实战代码示例

以下是几种常见的集成方式,展示了如何计算签名并发送播报请求。

示例 1:通用 Bash / Curl 脚本

适合在Linux服务器上快速测试连通性。

citation:

示例 2:Java (Unirest)

适合后端SpringBoot等企业级系统集成。

citation:

示例 3:微信小程序 / JavaScript (Ajax)

适合门店管理类小程序或Web后台直接控制。

citation:

5. 高级应用和需要注意的点

1. 局域网私有化部署如果您的5W音箱使用的是 有线网版,芯步支持私有化部署。您可以将API地址指向自建的本地服务器,实现纯内网环境下的播报,数据不经过外网,保障内网数据安全

2. 播报策略优化

  • 队列管理:如果短时间内频繁触发播报,设备会自动排队播报。如果需要强制覆盖旧通知,可以先下发 {"stop":"0"} 停止当前播放,再下发新内容

  • 多音字处理:如果合成发音错误,可以尝试在文字中标注拼音,例如 {"play:gbk:16":"我在重庆[chong2 qing4]等你"} (具体注音规则请参考最新手册)

3. 网络配置首次使用请确保音箱通过网线或Wi-Fi成功连接互联网(指示灯状态正常)。如果设备离线,HTTP接口会返回相应错误码,在业务层做重试机制。

通过以上步骤,您无需任何硬件电路改造,仅通过标准的HTTP协议即可在现有软件系统中集成语音能力。