【语音告警】博灵智能语音报警灯Modbus TCP触发告警实例-语音报警灯|声光报警器|网络信号灯

功能说明

本文将以Python代码为例,讲解如何通过Python代码调用博灵语音通知终端A4实现声光语音告警。

本代码实现Python触发Modbus写多寄存器和写单寄存器实现调用通知终端模板播报功能(通知终端内置TTS语音合成技术,本案例不讲解如何文本转语音)。

代码实现

本文使用环境

  • python 3.13
  • pymodbus v3.9.2

在报警灯后台开启Modbus TCP服务开关,可以自定义端口

在这里插入图片描述
创建模版指令,播报模式支单次、周期、循环播报
在这里插入图片描述

写单寄存器

执行以下脚本,即可向报警灯发送写单寄存器

from pymodbus.client import ModbusTcpClient
from pymodbus.exceptions import ModbusException
from pymodbus.pdu import ExceptionResponsedef write_single_register():# 创建Modbus TCP客户端client = ModbusTcpClient("192.168.0.88", port=502)try:# 连接到Modbus服务器if not client.connect():print("无法连接到Modbus服务器")return# 地址addr = 99# 值val = 0x000A# 写入单个寄存器# 参数: 寄存器地址, 值, 从站IDresponse = client.write_register(address=addr, value=val, slave=1)# 检查响应if isinstance(response, ExceptionResponse):print(f"Modbus异常: {response}")elif response.isError():print(f"Modbus错误: {response}")else:print(f"成功写入寄存器{addr},值: {val}")except ModbusException as e:print(f"Modbus错误: {e}")finally:# 关闭连接client.close()if __name__ == "__main__":write_single_register()

写多寄存器

执行以下脚本,即可向报警灯发送写多寄存器

from pymodbus.client import ModbusTcpClient
from pymodbus.exceptions import ModbusException
from pymodbus.pdu import ExceptionResponsedef write_multiple_registers():# 创建Modbus TCP客户端client = ModbusTcpClient("192.168.0.88", port=502)try:# 连接到Modbus服务器if not client.connect():print("无法连接到Modbus服务器")return# 地址addr = 100# 准备要写入的值列表(使用整数而不是字符串)values = [0x000F,  # 150x008A,  # 1380x2BE2,  # 112340x0000,  # 00x0000,  # 00x0000,  # 00x0000,  # 00x0000,  # 00x0000,  # 00x0000,  # 00x0001,  # 10x0000,  # 00x0301,  # 7690x0000,  # 00x0000,  # 00x00E6,  # 2300xACA2,  # 441940x00E8,  # 2320xBF8E,  # 490380x00E4,  # 2280xBDBF,  # 485750x00E7,  # 2310x94A8,  # 38056]# 写入多个寄存器# 参数: 起始地址, 值列表, 从站IDresponse = client.write_registers(address=addr, values=values, slave=1)# 检查响应if isinstance(response, ExceptionResponse):print(f"Modbus异常: {response}")elif response.isError():print(f"Modbus错误: {response}")else:print(f"成功写入寄存器{addr}-{addr+len(values)-1},值: {values}")except ModbusException as e:print(f"Modbus错误: {e}")except Exception as e:print(f"其他错误: {e}")finally:# 关闭连接client.close()if __name__ == "__main__":write_multiple_registers()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/87131.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/87131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

摄像头 rtsp数据量 和正常数据流有什么区别

摄像头RTSP数据流和正常数据流(如HTTP传输的普通文件或网页数据)在多个方面存在显著差异,主要体现在协议特性、数据量、实时性、应用场景等方面。以下是具体对比: 1. 协议与传输方式 RTSP流: 实时流协议(R…

深入理解装饰器模式:动态扩展对象功能的灵活设计模式

深入理解装饰器模式:动态扩展对象功能的灵活设计模式 🌟 嗨,我是IRpickstars! 🌌 总有一行代码,能点亮万千星辰。 🔍 在技术的宇宙中,我愿做永不停歇的探索者。 ✨ 用代码丈量世界…

141.在 Vue 3 中使用 OpenLayers Link 交互:把地图中心点 / 缩放级别 / 旋转角度实时写进 URL,并同步解析显示

本文分享一个前端小技巧:借助 OpenLayers 的 Link 交互 在浏览器地址栏实时记录地图状态,同时把这些参数解析出来展示在页面上。 ✨ 双向同步:拖动、缩放、旋转地图时,URL 自动更新;手动修改 URL 或后退 / 前进&#x…

数字人的形象与内容,虚拟形象背后的权益暗战

(首席数据官高鹏律师数字经济团队创作,AI辅助) 当某科技公司的虚拟偶像在直播间收获百万打赏时,当某品牌的数字代言人形象被篡改成表情包全网传播时,当网红博主的AI分身开始替代真人直播带货时,一场关于数…

【python】pdf拆成图片,加中文,再合成pdf

前期搞了个pdf加页脚,但是搞了半天中文加不了,就换了个思路。 直接说结论,pdf拆成图片,加中文,再合成pdf,会导致pdf模糊。 import os import fitz # PyMuPDF from PIL import Image, ImageDraw, ImageFon…

分布式爬虫数据存储开发实战

分布式爬虫存储的核心矛盾在于:既要高吞吐又要强一致性,还要避免重复。比如Kafka虽然吞吐高但无法去重,Redis去重快但容量有限。所以我们可能低估了状态同步的复杂度——比如暂停爬虫时如何保证内存中的URL状态不丢失。 分布式爬虫的数据存储…

探秘阿里云Alibaba Cloud Linux:云时代的操作系统新宠

引言:云时代的操作系统变革 在云计算技术蓬勃发展的当下,企业的数字化转型进程被极大地加速,而作为云计算底层支撑的操作系统,也迎来了前所未有的变革与挑战。传统操作系统在应对云计算环境中的大规模资源调度、高弹性扩展以及安…

使用pyflink进行kafka实时数据消费

目录 背景 代码demo 踩坑记录 1、kafka连接器,kafka客户端jar包找不到 2、java模块系统访问限制 3、执行demo任务,一直报错连接kafka topic超时 总结 背景 实际项目中经常遇到source是kafka,需要实时消费kafka某个topic中的数据&#x…

软件测试理论框架与发展:分类、原则与质量保障策略

第一章 一、计算机软件的发展分类 早期软件开发的特点: 软件规模小、复杂程度低、开发过程不规范 测试的情况: 测试等同于调试 目的纠正软件的已经知道的故障 投入少,介入晚 成为一种发现软件的活动(1957) 测试不等于…

未知威胁攻击原理和架构

大家读完觉得有帮助记得关注和点赞!!! 未知威胁(Unknown Threats)指利用零日漏洞、合法工具滥用、高级逃逸技术等**绕过传统特征检测**的攻击,其核心在于**动态对抗防御体系的认知盲区**。以下从攻击原理、…

基于Netty-WebSocket构建高性能实时通信服务

引言:WebSocket在现代应用中的重要性 在当今实时交互应用盛行的时代,WebSocket协议已成为实现双向通信的核心技术。相比传统的HTTP轮询,WebSocket提供了: 真正的全双工通信极低的延迟(毫秒级)高效的连接管…

咸虾米项目总结1--const用法

在 UniApp(或 Vue 3)中,声明一个空对象可使用下面这2种写法: // 写法1 const a ref(null);// 写法2 const a ref({}); 在UniApp中,const a ref()用法概述: 用途: 创建一个响应式引用&#x…

在mac下手动编译迁移的android版webrtc组件

我原先使用的android版webrtc是在linux下编译的,现在因为某些原因需要把整个库迁移到mac下编译。 把代码迁移完后,正常是需要通过gclient sync 重新构建编译环境,但是由于网络限制等方面原因,会导致完成的比较慢。 在摸索一阵后…

Linux 命令:mkdir

Linux mkdir 命令详细教程 一、mkdir 命令的基本功能 mkdir(Make Directory)是 Linux 系统中用于创建新目录(文件夹)的基础命令。它支持一次性创建单个或多个目录,以及递归创建多层目录结构,是文件系统操…

Django 数据迁移全解析:makemigrations migrate 常见错误与解决方案

1. 迁移机制与底层原理 在 Django 中,ORM(Object-Relational Mapping)是连接模型(Model)和数据库结构的桥梁。Django 鼓励开发者通过编写 Python 类(模型)来定义业务数据结构,而不是…

SuperGlue:使用图神经网络学习特征匹配

摘要 本文提出了 SuperGlue,一种神经网络,用于通过联合寻找对应关系并排除不可匹配点来匹配两组局部特征。匹配结果通过求解一个可微的最优传输问题来估计,该问题的代价由一个图神经网络预测。我们引入了一种基于注意力的灵活上下文聚合机制…

ssh -T git@github.com失败后解决方案

这个错误表示你的 SSH 连接无法到达 GitHub 服务器。以下是详细解决方案,按照优先级排序: 首选解决方案:使用 SSH over HTTPS(端口 443) 这是最有效的解决方案,因为许多网络会阻止 22 端口: …

从苹果事件看 ARM PC市场的未来走向

最近,苹果宣布部分搭载 Intel 处理器的 Mac 不再支持最新的 macOS 系统更新,这一消息犹如一颗石子投入平静湖面,激起层层涟漪。它不仅让 Intel 芯片在 Mac 产品线上彻底成为历史,也促使我们重新审视 PC 行业的发展脉络&#xff0c…

vue + element ui 实现超出宽度展示..,鼠标移入显示完整内容

vue element ui 实现超出宽度展示…&#xff0c;鼠标移入显示完整内容 代码理念&#xff1a; 当高度大于对应行数的高度 则说明需要展示"…" 子组件 <template><div class"tooltip"><div ref"tooltipRef" :class"[tooltip…

HarmonyOSNext应用无响应全解析:从机制到实战的卡死问题排查

HarmonyOSNext应用无响应全解析&#xff1a;从机制到实战的卡死问题排查 ##Harmony OS Next ##Ark Ts ##教育 本文适用于教育科普行业进行学习&#xff0c;有错误之处请指出我会修改。 喂喂喂&#xff01;应用卡成PPT了&#xff1f;点啥都没反应&#xff1f;别慌&#xff01…