HTTP协议实现云语音播报设备远程控制指南
本文详细介绍如何通过HTTP协议与各类云语音播报设备进行集成,实现远程语音控制功能。
可用设备选型
| 序号 | 设备名称 | 厂商 |
|---|---|---|
| 1 | 智能语音音柱|10W | 友友物联 |
| 2 | 智能语音壁挂音箱|款式1 | 友友物联 |
| 3 | 智能语音吸顶音箱 | 友友物联 |
1. 智能语音音柱|10W
该设备具备以下特性:
- 支持远程语音播报、提醒、通知和警报功能
- 适用于各类线下服务订单提醒和流程语音提示
- 无需预先上传音频文件或复杂后台配置
- 通过HTTP接口直接推送文本内容实现实时语音播报
- 采用真人语音合成,语调自然,支持多种音色选择
- 可远程调节音量、音色、语调和语速
- 智能处理多音字和各类数字读法(数值、金额、电话等)
- 内置多种铃声、提示音和警示音效果
- 可无缝集成到各类OA、ERP、SaaS软件及低代码平台
- 工业级防尘防水设计,安装便捷
HTTP接口控制示例
以下代码展示如何通过HTTP接口控制智能语音音柱设备:
// 配置参数
const developerId = 'your_developer_id'; // 替换为实际开发者ID
const developerSecret = 'your_developer_secret'; // 替换为实际开发者密码
const deviceId = 'your_device_id'; // 替换为目标设备ID
const timestamp = Math.floor(Date.now() / 1000); // 获取当前时间戳
// 计算签名
const firstHash = crypto.createHash('md5').update(developerSecret).digest('hex');
const signature = crypto.createHash('md5').update(firstHash + timestamp).digest('hex');
// 构建请求URL
const baseUrl = 'https://api.yoyoiot.cn';
const endpoint = `${baseUrl}/${developerId}/device/control/?sign=${signature}&ts=${timestamp}`;
// 准备请求数据
const requestData = {
device: deviceId,
order: {"play:gbk:16": "您好,欢迎光临本店"}
};
// 发送HTTP请求
fetch(endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'User-Agent': 'Your-User-Agent',
'Accept': 'application/json'
},
body: JSON.stringify(requestData)
})
.then(response => response.json())
.then(data => console.log('响应数据:', data))
.catch(error => console.error('请求错误:', error));
说明:请确保替换示例中的开发者ID、开发者密码和设备ID为实际值。签名计算方法为:先将开发者密码进行MD5哈希,然后与时间戳拼接,再对整个字符串进行一次MD5哈希。
2. 智能语音壁挂音箱|款式1
该设备特性包括:
- 远程语音播报、提醒、通知和警报功能
- 适用于各类线下服务场景的语音提示
- 无需录音上传或后台配置
- 通过HTTP接口直接推送文本实现实时语音播报
- 真人发声,语调自然,支持多种音色
- 支持远程音量、音色、语调和语速调节
- 智能处理多音字和数字读法
- 内置多种铃声、提示音和警示音
- 可无缝集成到各类业务系统中
- 一体化设计,安装简便
HTTP接口控制示例
以下代码展示如何通过HTTP接口控制智能语音壁挂音箱:
// 初始化配置
const config = {
appId: 'your_app_id',
appSecret: 'your_app_secret',
deviceId: 'target_device_id'
};
// 生成认证参数
const currentTimestamp = Math.floor(Date.now() / 1000);
const secretHash = crypto.createHash('md5').update(config.appSecret).digest('hex');
const authSignature = crypto.createHash('md5').update(secretHash + currentTimestamp).digest('hex');
// 构建完整API端点
const apiEndpoint = `https://api.yoyoiot.cn/${config.appId}/device/control/?sign=${authSignature}&ts=${currentTimestamp}`;
// 准备控制指令
const commandPayload = {
device: config.deviceId,
order: {"play:gbk:16": "订单已确认,请等待服务"}
};
// 执行HTTP请求
const fetchOptions = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'User-Agent': 'Custom-User-Agent/1.0'
},
body: JSON.stringify(commandPayload)
};
fetch(apiEndpoint, fetchOptions)
.then(response => response.json())
.then(result => {
console.log('设备控制结果:', result);
// 处理响应数据
})
.catch(error => {
console.error('请求失败:', error);
// 错误处理逻辑
});
3. 智能语音吸顶音箱
该设备特性包括:
- 远程语音播报、提醒、通知和警报功能
- 适用于各类线下服务场景的语音提示
- 无需录音上传或后台配置
- 通过HTTP接口直接推送文本实现实时语音播报
- 真人发声,语调自然,支持多种音色
- 支持远程音量、音色、语调和语速调节
- 智能处理多音字和数字读法
- 内置多种铃声、提示音和警示音
- 可无缝集成到各类业务系统中
- 一体化设计,安装简便
HTTP接口控制示例
以下代码展示如何通过HTTP接口控制智能语音吸顶音箱:
// 设备控制类
class SpeakerController {
constructor(appId, appSecret) {
this.appId = appId;
this.appSecret = appSecret;
this.baseApiUrl = 'https://api.yoyoiot.cn';
}
// 生成认证签名
generateSignature() {
const timestamp = Math.floor(Date.now() / 1000);
const secretHash = crypto.createHash('md5').update(this.appSecret).digest('hex');
return {
sign: crypto.createHash('md5').update(secretHash + timestamp).digest('hex'),
ts: timestamp
};
}
// 发送语音播报指令
sendVoiceCommand(deviceId, message) {
const auth = this.generateSignature();
const endpoint = `${this.baseApiUrl}/${this.appId}/device/control/?sign=${auth.sign}&ts=${auth.ts}`;
const requestData = {
device: deviceId,
order: {"play:gbk:16": message}
};
return fetch(endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify(requestData)
})
.then(response => response.json())
.catch(error => {
console.error('语音播报失败:', error);
throw error;
});
}
// 控制设备电源状态
controlPower(deviceId, channel, state) {
const auth = this.generateSignature();
const endpoint = `${this.baseApiUrl}/${this.appId}/device/control/?sign=${auth.sign}&ts=${auth.ts}`;
const powerKey = `power${channel}`;
const requestData = {
device: deviceId,
order: {[powerKey]: state ? 1 : 0}
};
return fetch(endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(requestData)
});
}
}
// 使用示例
const speakerController = new SpeakerController('your_app_id', 'your_app_secret');
const deviceId = 'your_device_id';
// 发送语音播报
speakerController.sendVoiceCommand(deviceId, '您的预约时间已到,请准备接待')
.then(result => console.log('播报成功:', result));
// 控制设备电源
speakerController.controlPower(deviceId, 1, true)
.then(response => console.log('电源控制响应:', response));
设备技术参数对比
| 参数/型号 | 智能语音音柱|10W | 智能语音壁挂音箱|款式1 | 智能语音吸顶音箱 |
|---|---|---|---|
| 颜色 | 白色 | 白色 | 白色 |
| 外壳材质 | 铝合金 | 铝合金 | 防火V0级PC |
| 产品尺寸 | 104mm宽×84mm×260mm高 | 175mm宽×175mm×90mm厚 | 175mm宽×175mm×90mm厚 |
| 产品净重 | 1.04KG | 528g | 528g |
| 工作电压 | DC 12V 2A(直流) | DC 12V 2A(直流) | DC 12V 2A(直流) |
| 待机功耗 | 0.4W(静音)-3.7W(最大音量) | 0.4W(静音)-3.7W(最大音量) | 0.4W(静音)-3.7W(最大音量) |
| 发声单元 | 2寸高音+4寸中低音 | 2寸全频单元 | 2寸全频单元 |
| 灵敏度 | 89dB | 86dB | 86dB |
| 频率响应 | 0.1-16KHz | 0.1-16KHz | 0.1-16KHz |
| 无线连接 | WiFi IEEE 802.11 b/g/n 2.4GHz | WiFi IEEE 802.11 b/g/n 2.4GHz | WiFi IEEE 802.11 b/g/n 2.4GHz |
| 产品外壳 | 铝合金,分隔式绝缘隔断,防漏电设计 | 铝合金,防尘防水设计 | 防火V0级PC,耐高温设计 |
| 包装清单 | 音响×1、支架×3、螺丝×3、12V2A电源×1 | 音响×1、壁挂支架×1、12V2A电源×1 | 音响×1、12V2A电源×1 |