一、概述
1.1 应用场景
在企业的休息室、茶水间、会议室等场所,往往需要定时或触发式的语音提醒服务,例如:
午餐/下班提醒:定时播报“现在是午餐时间,祝您用餐愉快”等
会议通知:感应到人员进入休息室时,播报“半小时后有部门会议”等
安全提示:播报“请勿在休息室吸烟”、“离开时请关闭电器电源”等
访客提醒:感应到客人进入休息区时,进行礼貌性语音问候及通知相关人员
1.2 硬件选型
本方案采用芯步智能语音壁挂音箱(型号:UNI-YY-YX-BG-HW),该设备具备以下特性:
| 特性 | 说明 |
|---|---|
| 通信方式 | WiFi 2.4GHz(无需网关,直连路由) |
| 控制方式 | HTTP接口 / MQTT |
| 核心功能 | TTS实时语音播报、音量音色调节、铃声/提示音播放 |
| 供电方式 | 100-250V AC市电 |
| 安装方式 | 壁挂式,一体化设计 |
该产品开放标准HTTP接口,支持任何能够发起HTTP请求的编程语言和软件项目:Web系统、APP/小程序、Windows窗体软件、SaaS平台、低代码平台等均可无缝接入 。
二、技术架构
2.1 整体架构图
flowchart LR
subgraph 用户层
A[企业管理系统
Web/APP/小程序]
B[传感器设备
人体感应/温湿度]
end
subgraph 云平台层
C[芯步云平台
api.thingboot.com]
end
subgraph 设备层
D[智能语音壁挂音箱
休息室/茶水间]
end
A -->|HTTP API调用| C
B -->|状态上报| C
C -->|命令下发| D
C -.->|异步回调| A
style A fill:#e1f5fe
style D fill:#fff3e02.2 核心交互流程说明
第一步:设备部署与激活
技术人员将壁挂音箱安装到休息室指定位置,接通电源。设备通过WiFi连接到企业局域网(支持设置5组备用WiFi,自动切换最强信号),设备上电后自动向芯步云平台注册上线 。
第二步:获取设备凭证
管理员登录芯步控制台,在“设备列表”中查看到已上线的音箱,获取关键凭证:
设备ID:用于API调用时标识目标设备
AppID & AppSecret:应用身份凭证,用于签名鉴权
第三步:软件开发集成
开发者根据本方案的代码示例,在软件项目中调用设备控制接口:软件发起HTTP POST请求 → 携带签名参数 → 云平台验证 → 向目标音箱下发指令。
第四步:执行播报与反馈
音箱接收到指令后:实时TTS合成语音并播报 → 云平台异步返回执行结果(成功/失败)。具体播报内容由业务系统决定,本方案中音箱作为被动执行端,不涉及自主语音逻辑。
2.3 核心数据交互示意
sequenceDiagram
participant App as 业务系统
participant Cloud as 芯步云
participant Device as 壁挂音箱
Note over App,Device: 鉴权与指令下发
App->>App: 计算签名 sign = MD5(MD5(secret) + ts)
App->>Cloud: POST /device/control/?sign=xxx&ts=xxx
Cloud-->>App: 200 (指令已接收)
Cloud->>Device: 下发TTS播报指令
Device-->>Cloud: 执行结果回调
Cloud-->>App: 异步推送执行状态三、API对接详解
3.1 鉴权说明
芯步开放平台采用双重MD5签名机制确保接口调用安全,相比简单的API Key方式,这种机制能有效防止请求重放攻击,即使请求被截获,攻击者也无法在时间戳过期后重复使用 。
签名生成流程
flowchart LR
A[AppSecret] -->|MD5| B[md5_secret]
C[当前时间戳 ts] -->|拼接| D[md5_secret + ts]
D -->|MD5| E[sign]
style A fill:#ffecb3
style E fill:#c8e6c9签名计算公式
sign = MD5( MD5(AppSecret) + ts )
3.2 接口调用参数(HTTP方式)
请求地址
POST https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}请求体参数(JSON格式):
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| device | string | 是 | 设备ID,可在控制台或设备外壳标签获取 |
| order | object | 是 | 命令对象,具体结构见下方命令示例 |
⚠️ 参数约束说明device支持同时传入多个设备ID(用|或,分隔),但一次最多100台。需注意多设备必须属于同一产品类型且执行相同指令,否则接口会返回部分失败的错误码 。
3.3 核心命令示例
以下是壁挂音箱支持的关键命令及使用方式
(1)TTS文本播报
适用场景:通知播报、提醒、欢迎语等动态文本内容。支持中英文混合、数字智能识别(如“10086”会读作“幺零零八六”)。
(2)音量设置
*音量范围:0-100,步长1*
(3)音色设置
可选值:female(女声)/ male(男声)
适用场景:重要通知用男声强调,日常提醒用女声更柔和,可根据时段或内容类型动态切换。
(4)语速设置
*范围:50-150,默认100(正常语速)*
适用场景:紧急通知可加快语速,培训或引导内容可适当放慢。
(5)播放内置铃声
*可选值:1-5(共5种铃声)*
适用场景:上下班提醒、整点报时,可用铃声替代语音,更简洁明快。
(6)播放警示音
*可选值:1-5(共5种警示音)*
适用场景:紧急事件(如消防提醒、设备故障)时吸引注意力。
(7)停止当前播报
四、代码接入示例
4.1 Node.js(后端API服务)
4.2 Java(Spring Boot)
4.3 Python(Flask集成)
4.4 cURL(API调试/脚本)
五、高级联动场景:人体感应 + 语音播报
5.1 场景说明
通过在休息室部署人体存在传感器(同样选用芯步产品),当系统判断有人进入时,自动触发语音播报。此类传感器采用雷达/红外技术,探测到人员后实时将状态上报到您的服务器,由服务器分析后决定是否触发语音播报 。
5.2 数据流集成策略
方案A:通过您的业务服务器中转(推荐)
这种方式将业务判断逻辑集中在您的服务器上,便于统一管理、记录日志、设置复杂规则:
传感器探测到“有人” → 上报至您的业务服务器 → 服务器判断时间段/频次等 → 调用语音接口 → 音箱播报
方案B:通过云平台规则引擎联动(适合简单场景)
利用芯步平台内置的联动规则,无需编写代码即可快速实现“感应到人即播报”的基础功能,适合快速验证或部署简易提醒 。
推荐采用方案A,因为企业休息室通常需要更精细的控制:如中午12-13点不播报打扰休息、同一分钟多次触发只播报一次等,这些逻辑只有业务服务器能够灵活实现。
5.3 传感器数据接收示例
芯步平台通过HTTP回调方式,将传感器状态变化实时推送到您配置的服务器地址。示例接收格式如下:
radar_enable值为1表示有人,0表示无人
5.4 联动代码示例
六、最佳实践和需要注意的点
6.1 MQTT协议通道
除HTTP外,芯步平台同时支持MQTT协议接入,发布主题为api/{AppID}/device/control。MQTT的优势
长连接,推送延迟更低(通常在50ms以内)
无需重复鉴权,适合高频播报场景(如每分钟一次的整点报时)
对于HTTP方式调用频繁(如每秒超过10次)的场景,改用MQTT,避免TCP握手开销和签名计算的性能损耗。
6.2 私有化部署选项
智能语音壁挂音箱支持纯局域网环境运行。企业可自建MQTT消息服务器,所有控制指令在内网完成,数据不外流,适用于金融、军工、政务等对数据安全要求严格的场景 。
6.3 执行状态获取
重要:接口返回200仅代表平台接收并成功向设备下发命令,不代表设备实际执行成功。设备可能因离线、参数错误等原因未生效 。
推荐做法
在业务系统中记录每次下发请求的
extra字段(如订单号)设置接收异步消息推送的接口(平台会回调设备执行结果)
比对
extra字段关联到原始请求,标记执行状态
6.4 TTS文本优化
支持中英文混合播报,数字自动优化读法(如10086读作“幺零零八六”)
支持多音字校正:可通过添加空格或标点辅助分词
文本长度控制在100字以内以保证实时性
特殊字符处理:逗号和句号会插入停顿,连续数字(如订单号“25030700001”)用空格分隔每组数字以获得更清晰的读法
6.5 网络要求
仅支持2.4GHz WiFi(不支持5G频段)
设备可配置5组备用WiFi,自动切换信号最强的网络
与企业网络隔离时需确保设备能够访问
api.thingboot.com(公网)或内网MQTT服务器地址(私有化部署)
七、总结
本方案展示了如何将芯步智能语音壁挂音箱通过开放HTTP接口,快速集成到企业软件项目中,实现休息室的自动化语音播报功能。
核心流程回顾:获取凭证 → 计算签名 → 调用API → 设备播报。整个过程简单、高效、跨平台。结合人体存在传感器,可进一步实现智能化、场景化的联动播报。
该方案同样适用于:工位区域、会议室、展厅、工厂车间、共享空间等各类需要语音提醒的场所。企业可根据实际需求,灵活定制播报内容、触发规则和联动策略。