当前位置:首页 > 技术 > 正文内容

HTTP协议实现云语音播报设备远程控制指南

访客 技术 2026年6月30日 1

本文详细介绍如何通过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

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

linux screen 用法详情 (nohup 的替代方案)

一、screen 是什么?能干嘛?screen 是一个终端复用器,可以:在一个 SSH 会话中开多个“虚拟终端”SSH 断线后,程序仍然在后台运行随时重新连接到原来的会话特别适合:nohup 的替代方案跑脚本 / 爬虫 / 训练模型运维、远程开发二、安装 screen# CentOS / Rocky / Almayum install -y screen# Debian / Ubuntuapt i...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。