【语音告警】博灵智能语音报警灯JavaScript循环播报场景实例-语音报警灯|声光报警器|网络信号灯
功能说明
本文将以JavaScript代码为实例,讲解如何通过JavaScript代码调用博灵语音通知终端 A4实现声光语音告警。主要博灵语音通知终端如何实现无线循环播报或者周期播报的功能。
本代码实现HTTP接口的声光语音播报,并指定循环次数、播报内容。由于通知终端采用TTS语音合成技术,所以本次案例中无需预先录制音频。
代码实战
为了通过JavaScript调用博灵语音通知终端,实现HTTP方式调用声光语音报警,首先需要配置JavaScript环境。
本文使用的环境为
- Chrome浏览器
- 关闭CROS,以便支持跨站链接
- ES6及以上环境
闲话少说,直接看代码
注意!本代码仅展示了关于Ajax 部分的请求部分,签名计算部分需要参考·说明书文档·来使用。
也可以参考官方Demo中对于Postman的签名计算方式,实现一键请求。
var notify_desc = "默认";
var tts_text = "测试";
var sign = "c2ffd2c025dfbfd5a31dac396dd5ce0c";
var time = "1725506055";// 创建FormData对象
var formData = new FormData();
formData.append('notify_desc', notify_desc);
formData.append('tts_text', tts_text);
formData.append('time', time);
formData.append('sign', sign);// 发送POST请求
fetch('http://192.168.0.66/api/api/not_stop_repeat_alarm', {method: 'POST',body: formData
})
.then(response => response.json()) // 解析响应为JSON
.then(data => console.log(data)) // 打印响应数据
.catch(error => console.error('Error:', error));
这部分代码直接复制到控制台,即可使用。
关于Postman的签名自校验算法代码
由于HTTP的语音播报demo中提供了一键请求方法,这部分功能又Postman的Scripts实现,可以实现请求前对请求体进行修改。详情见下图:

自签名校验部分的代码如下:
let sign_time = parseInt(new Date().valueOf() / 1000);
pm.environment.set('sign_time', sign_time);if(pm.request.method == 'GET'){// 遍历Get Parametervar query_params = pm.request.url.query.all();var sign_data = {};query_params.each(function(param){if( !param.disabled ) {sign_data[ param.key ] = param.value;}});
}else{sign_data = request.data;
}sign_data['token'] = pm.collectionVariables.get('token');
sign_data['time'] = sign_time;let keys = Object.keys(sign_data);
keys.sort();
sign_temp = '';
for (let i in keys){if(keys[i] == 'sign') continue;// 此处原本的reqdate的time是{{time}},需要处理if(keys[i] == 'time'){sign_temp += 'time' + sign_time;continue;}sign_temp += keys[i] + sign_data[keys[i]];
}
console.log(sign_temp);
let sign = CryptoJS.MD5(sign_temp).toString();
pm.environment.set('sign', sign);
周期播报接口说明
博灵语音通知终端A4支持通过HTTP调用接口,或者通过云端调用接口实现循环播报,同时可以允许用户通过按钮清空周期循环播报功能。
周期循环播报为间隔性质的播报,隔几分钟播报一次,播报n次后停止。
周期接口说明如下:
请求地址:
http://<报警灯IP地址>/api/api/set_api_repeat_alarm
请求方法:POST+form-data
请求参数如下:
| 参数名 | 类型 | 说明 |
|---|---|---|
| notify_desc | string | 通知组 |
| tts_text | string | 语音播报内容 |
其中通知组名为设备管理页面中需要配置的通知组。通知组负责管理这个告警的播报样式,提示音,重复次数,播报间隔。
所以如果需要使用自定义样式,需要提前设置!
无限循环播报接口说明
无限循环播报的接口与周期播报相似,不同之处在于没有间隔和次数限制,会不停的播报,直到手动取消!
请求地址:
http://<报警灯IP地址>/api/api/not_stop_repeat_alarm
请求方法:POST+form-data
请求参数如下:
| 参数名 | 类型 | 说明 |
|---|---|---|
| notify_desc | string | 通知组 |
| tts_text | string | 语音播报内容 |
效果演示
Modbus-博灵语音通知终端与PLC联动告警介绍
Api文档参考链接以及错误码详解
参见博灵通知终端A4的说明书
产品参数说明
语音报警应用场景范围以及限制
由于该功能属于无限循环播报,需要严格遵守使用场景的限制,防止产生告警风暴。对于工业场所,用到组态管理软件,例如组态王等情况下,当出现停机时,需要实现语音循环播报。又或者在医疗机构中的信息化管理系统,需要通过使用循环播报功能来提醒患者或医生实现操作。
此时需要实现无限循环播报以及周期播报,直到用户进行确认才可以停止播报。
业务限制范围:MIS系统、ERP系统 关键业务告警、BPM系统 重要业务流程告警、动力环境监测系统 传感器故障告警、服务器监控平台 性能故障告警、工单系统 新工单告警、合规监控平台 违规操作告警、OA系统 重要事项待处理告警、工业化监控平台 重要信息告警。
相关文章:
【语音告警】博灵智能语音报警灯JavaScript循环播报场景实例-语音报警灯|声光报警器|网络信号灯
功能说明 本文将以JavaScript代码为实例,讲解如何通过JavaScript代码调用博灵语音通知终端 A4实现声光语音告警。主要博灵语音通知终端如何实现无线循环播报或者周期播报的功能。 本代码实现HTTP接口的声光语音播报,并指定循环次数、播报内容。由于通知…...
指针与函数(三)
三 .指向函数的指针 函数和数组一样,经系统编译后,其目标代码在内存中连续存放,其名字本身就是一个地址,是函数的入口地址。C语言中,指针可以指向变量,也可以指向函数。 指问函数的指针的定义格式为 类型名(*指针变量名)参数表 其中参数表为函数指针所…...
锐捷网络2025届校园招聘正式启动,【NTA6dni】!
锐捷网络2025届校园招聘正式启动,内推码[NTA6dni]。 原文链接点这 投递链接点这 祝大家面试顺利,offer多多~ 有问题大家可以评论,互相交流~...
共享内存喜欢沙县小吃
旭日新摊子好耶! 系统从0开始搭建过通信方案,本地通信方案的代码:System V IPC 里面有共享内存、消息队列、信号量 共享内存 原理 两个进程有自己的内存区域划分,共享内存被创建出的时候是归属操作系统的,还是通过…...
五、Build构建配置:jar包换名、自行定义编译规则
(1)jar包换名:finalName (2)自行定义编译规则(通常不用) Maven约定的规则就是java目录下写java代码,resources目录下写配置文件。 遵循规则,Maven会帮忙做编译。 如若…...
Html、Css3动画效果
文章目录 第九章 动画9.1 transform动画9.2 transition过渡动画9.3 定义动画 第九章 动画 9.1 transform动画 transform 2D变形 translate():平移函数,基于X、Y坐标重新定位元素的位置 scale():缩放函数,可以使任意元素对象尺…...
【AIStarter:AI绘画、设计、对话】零基础入门:Llama 3.1 + 千问2快速部署
对于希望在本地环境中运行先进语言模型的用户来说,Llama 3.1和千问2是非常不错的选择。本文将详细介绍如何在本地部署这两个模型,让你能够快速开始使用。 前期准备 确保你的计算机具备足够的存储空间和计算能力。安装Python环境以及必要的库࿰…...
多机编队—(1)ubuntu 配置Fast_Planner
文章目录 前言一、Could not find package ...二、使用error: no match for ‘operator’...总结 前言 最近想要做有轨迹引导的多机器人编队,打算采用分布式的编队架构,实时的给每个机器人规划出目标位置,然后通过Fast_Planner生成避障路径&…...
【数学建模经验贴】国赛拿到赛题后,该如何选题?
2024“高教社杯”全国大学生数学建模竞赛即将开赛。这可能是很多同学第一次参加国赛,甚至是第一次参加数学建模比赛。 那么赛题的公布也就意味着比赛的开始,也将是我们所要面对的第一个问题——选题。在国赛来临的前夕,C君想和大家聊一聊容易…...
如何快速融入大学课堂
快速融入大学课堂是适应大学生活的重要一步。以下是一些实用的建议,帮助你快速融入大学课堂并取得良好的学习效果。 ### 1. 提前准备 - **课前预习**:在上课前预习课程内容,了解基本概念和知识点,这样在课堂上更容易跟上老师的讲…...
el-table行编辑
需求:单点行编辑并且请求接口更新数据,表格中某几个字段是下拉框取值的,剩下的是文本域;展示的时候 需要区分下拉框编码还是中文 故障模式这个展示的是fault_mode编码,但要显示的文字fault_mode_chn 这点需要注意 <el-tablere…...
OpenSSL Windows编译
目录 1. 源码下载2. vs2022编译 1. 源码下载 源码地址 2. vs2022编译 (1) 将“VS2022安装目录VC\Auxiliary\Build\“设置为PATH环境变量,启动cmd命令行(一定要先设置环境变量)。 (2)在cmd下进入VS2013安装目录vs2022\VC\Auxiliary\Build&…...
优化LabVIEW中TCP通信速度的方法
在LabVIEW中,TCP通信速度较慢可能由多种因素导致,如数据包处理延迟、阻塞式读取或数据解析效率低等。通过调整读取模式、优化数据处理逻辑、以及使用并行处理结构,可以显著提升TCP通信的速度,使其接近第三方调试工具的表现。LabVI…...
【视频讲解】Python贝叶斯卷积神经网络分类胸部X光图像数据集实例
全文链接:https://tecdat.cn/?p37604 分析师:Yuanchun Niu 在人工智能的诸多领域中,分类技术扮演着核心角色,其应用广泛而深远。无论是在金融风险评估、医疗诊断、安全监控还是日常的交互式服务中,有效的分类算法都是…...
src/pyaudio/device_api.c:9:10: fatal error: portaudio.h: 没有那个文件或目录
(venv) shgbitaishgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$ pip install pyaudio sounddevice Collecting pyaudioDownloading PyAudio-0.2.14.tar.gz (47 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.1/47.1 kB 644.…...
移动端视频编辑SDK解决方案,AI语音识别添加字幕
对于众多Vlog创作者而言,繁琐的字幕添加过程往往成为提升内容质量的绊脚石。为了彻底改变这一现状,美摄科技凭借其深厚的AI技术积累与创新的移动端视频编辑SDK解决方案,推出了革命性的AI语音识别添加字幕功能,让视频创作更加高效、…...
WIN11 ESP32 IDF + VSCODE 环境搭建[教程向]
前言 目录 前言 安装ESP32-IDF VSCODE插件安装 编译测试 很多时候我们想学习一门新的技能,需要使用全新的开发环境,很多时候我们会在安装环境这个环节卡住很久,这里简单介绍一下ESP32VSCODE环境搭建。 安装ESP32-IDF https://dl.espre…...
Gemini AI 与 ChatGPT:哪个更适合为我策划婚礼?
我在六月订婚后,一心想着婚礼钟声,但在看到这些婚礼场地报价后,更像是警铃声响起。 “叮咚”已经被重新混音成“哗啦啦”——我需要帮助。 我甚至不知道如何 开始 计划婚礼。第一步是什么?我需要优先考虑什么?哪些任…...
log4j 同一线程隔离classloader下MDC信息不同问题解决 ThreadLocal问题分析
最近遇到日志文件记录错误的问题。一个任务的日志信息会被莫名的拆分到两个不同目录中。且有一个目录还是曾经执行过的任务的目录。经过分析,首先怀疑的是MDC没有清理的问题,这也是最直观的问题。因为任务是在线程池(fixedThreadPool)中运行的。由于线程…...
【2024-2025源码+文档+调试讲解】微信小程序的城市公交查询系统
摘 要 当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统城市公交查询管理采取了人工的管理方法…...
强化学习反噬:模型为骗奖励毁掉生产环境
从游戏作弊到生产事故在软件测试领域,我们习惯于与确定性缺陷作斗争:空指针、内存泄漏、逻辑错误。然而,随着人工智能,特别是强化学习(Reinforcement Learning, RL)模型被集成到生产系统(如自动…...
GLM-4.1V-9B-Base多场景:教育题图解析、法律文书图示理解、科研图表解读
GLM-4.1V-9B-Base多场景应用:教育题图解析、法律文书图示理解、科研图表解读 1. 认识GLM-4.1V-9B-Base视觉理解模型 GLM-4.1V-9B-Base是智谱开源的一款强大的视觉多模态理解模型,专门设计用于处理图像内容识别和理解任务。与传统的纯文本模型不同&…...
13-40K!AI大模型应用工程师,非常详细收藏我这一篇就够了
■ AI大模型应用工程师 13-40K 01 AI大模型应用工程师 ■ 岗位职责: 1、负责AI大模型在实际业务场景中的应用开发,提升模型性能与用户体验; 2、参与需求分析,根据不同类型的需求场景,结合业务目标选择AI技术/模型实现相…...
告别ArcGIS依赖!用QGIS 3.28把SHP属性表一键导出Excel,附赠3个数据清洗小技巧
告别ArcGIS依赖!用QGIS 3.28高效导出SHP属性表到Excel的完整指南 当你在处理地理空间数据时,是否曾因ArcGIS的复杂操作或高昂成本而感到困扰?QGIS作为一款开源GIS软件,不仅完全免费,还能轻松完成从基础到高级的空间数据…...
程序员的“无用论”:为什么你觉得数据结构与算法没用?
在计算机科学的学习过程中,数据结构与算法(DSA)常常被视为“面试敲门砖”。许多本科生甚至从业多年的开发者都会产生疑问:“我每天的工作就是 CRUD(增删改查)和调 API,为什么还要花那么多时间去…...
深度解析:利用pmap+gdb精准诊断Linux进程内存异常
1. 为什么需要pmapgdb组合排查内存问题 第一次遇到线上服务内存爆涨时,我盯着top命令里那个不断攀升的RES数值束手无策。传统的内存监控工具就像医院的体温计,只能告诉你"发烧了",但查不出具体病因。这就是pmap和gdb这对"黄金…...
CodeSys随机数生成实战:从GPS通信验证到实验作业的完整代码解析
CodeSys随机数生成实战:从GPS通信验证到实验作业的完整代码解析 在工业自动化领域,随机数生成看似是个小众需求,直到你遇到需要模拟设备故障、生成验证码或创建随机测试场景时才会发现它的重要性。CodeSys作为工业控制领域的"瑞士军刀&…...
深入解析Xilinx FPGA中的IDDR与ODDR原语:从原理到实践
1. 认识FPGA中的DDR采样难题 在高速数据采集和传输领域,双倍数据速率(DDR)技术已经成为标配。想象一下你正在用AD9361这类射频收发器与FPGA通信,数据时钟频率轻松达到数百MHz。这时候如果还沿用传统的单沿采样,就像用单…...
怕 AI 短剧平台抽成?自研 AI 短剧创作系统贴牌合作,全部收益自留
入局 AI 短剧,最头疼就是被平台高额抽成、规则限制、数据锁死。流量自己做、内容自己产,收益却要分走大半,随时还面临限流封号。选源头自研系统贴牌合作,彻底摆脱平台捆绑,所有收益全额自留,干货分点讲透&a…...
终极指南:让macOS Finder视频预览功能焕发新生的QLVideo插件
终极指南:让macOS Finder视频预览功能焕发新生的QLVideo插件 【免费下载链接】QuickLookVideo This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files. 项目地址: https://…...
