一、简介
最近,在各种企业环境中使用技术已不再是可取的东西,而是成为必要的东西。越来越多的公司,来自最多样化的行业,通过技术应用获得了竞争优势。出于这个原因,在这些公司中最重要的部门之一是硬件技术部门。
仍然可以控制其网络基础设施、服务器和个人计算机的公司在其运营可用性方面一直处于动荡之中。也就是说,技术运营的平稳运行和连续性是保持公司业务流程运行的原因。很多时候,甚至这些计算服务的可用性都与协议政策和罚款相关联,这表明这些流程对业务的重要性和形式主义。
在这种情况下,任何依赖计算基础设施的公司的理想情况是这些服务的可用性没有故障。然而,面对这种乌托邦,公司不得不不断地寻找高质量的模型和流程,以改进其计算服务的维护和支持技术。这些领域之一是对即将发生的硬件问题的预期。
2. 目标和方法
该项目旨在开发一种警报系统,用于监控组织的计算机基础设施部门的环境声音。当识别出超出考虑标准的测听读数时,系统会自动识别可能的原因并向区域经理发送通知,包括其阅读历史记录,以便技术经理可以预测可能的基础设施问题。
由于该项目涉及在通用场景中应用于技术的多学科知识,因此考虑一个真正的实验室非常重要,该实验室允许了解和真正体验一家公司的实际日常问题和需求,并得到各专业专业人士的支持。出于这个原因,在整个项目的各个阶段都进行了协作活动,并具有后续和参与性任务。
作为案例研究,该工作与一家汽车零部件制造公司合作,该公司由十个生产工厂、三个分销商和一个研究中心组成。为了整合这些单位和部门,公司依靠非常强大的计算和通信网络基础设施。考虑到这些机器的逻辑和物理维护和管理都是由公司自己完成的,它为这个项目的分析和测试提供了一个非常有趣和完整的场景。
从技术角度来看,在提议的过程中,系统将监控音频传感器并将读数发送到 Microsoft Excel 电子表格(图 1)。从这个信息库(控制表),分析组件将与收集的数据进行比较,用以前的文件(历史)和校准信息(设置和学习)验证它们。基于这些比较,系统决定是否需要报警。
该决定必须考虑给定执行上下文的唯一设置文件中定义的限制;如果超过预设值,则消息发送将由 Microsoft Excel 的 Visual Basic for Applications 触发,并得到某些即时消息通信平台的支持。
本项目所涉及的工具、模块和技术支持包括,如下所示:
自动化项目
- Arduino Leonardo R3 兼容
- 语音识别模块 V3
- 具有自动增益控制的驻极体 Max9814 放大器模块
- KY-038 声音传感器模块
- ESP8266 Wi-Fi 模块 ESP-01
- Wi-Fi 模块适配器 ESP8266 ESP-01
- 5V继电器模块
- LED 5mm高亮度
支持工具
- Virtual Decibilimetro 应用程序(Google Play 商店:2020 年 4 月)
- Excel Visual Basic for Applications(Microsoft Office,2020 年 4 月)
- Tinkercad:原型制作和绘图的在线工具
- Photoshop CS6 Portable v13.0:图像编辑软件
- Blynk 移动应用程序- Arduino 的物联网
- Arduino1.8.12:用于开发 Arduino 应用程序的 IDE
3. 发展
该项目的一个非常重要的步骤是在用作实验室的环境中进行噪声分析阶段。在这个阶段,有必要对环境进行几天的监测,以便为数据中心定义听力“正常”标准。同样在这个阶段,有必要模拟问题,例如冷却器堵塞、通风不良等,以便在研究阶段就可以识别出可重现的问题。
图 2 显示了在 Android 手机上借助测听应用程序(分贝计,2020)执行的两个测试读数。通过这些测试,可以验证当设备出现问题并产生某种声音时,声级的增加。左侧(图 2.a)表示标准化环境中的水平,没有任何问题,仅显示符合预期标准的噪声排放。在(图 2.b)中表示在执行问题模拟时声级的增加,在该测试中模拟了冷却器中存在问题的设备。
在听力分析和噪声模拟活动之后,建立了电路设计。图 3 表示过程自动化的电路结构原型。该原型是在在线工具 Tinkercad 和Photoshop CS6 Portable(Monk and Laschuk, 2017) 中构建的。根据这个项目,系统通过两种方式进行监控:
- 通过声音传感器模块,连接到 Arduino 的端子(Javed 和 Adas,2017),如下:
VCC模块到5VArduino,GND在GNDArduino 上,模拟输入上的模块之一的输出A0,控制模拟输入上的低电平和其他模块的输出A9,控制高电平。 - 通过语音识别模块,其区别在于该模块被训练来识别由某些先前问题产生的声音。
该电路还具有通过在线平台 Blynk 控制的 wi-fi 模块。该模块连接到Arduino,负责控制用于暂停和释放消息发送(报警触发)的继电器。原型底部的三个 LED 是辅助的,指示可能的状态:( green) 消息发送释放,( orange) 消息发送暂停,和 ( blue) 关闭。暂停和释放状态由在线平台 Blynk (2020) 控制,而关闭状态由机械开关控制。
void setup() {
pinMode(pinPause, INPUT_PULLUP);
pinMode(pinBreck, INPUT_PULLUP);
Keyboard.begin();
pinMode(10, OUTPUT); //Pino do Led Verde (Ligado)
pinMode(16, OUTPUT); //Pino do Led Azul (Pausa Envio de Mensagens)
pinMode(14, OUTPUT); //Pino do Led Vermelho (Desligado a Leitura de Som)
}
Arduino的C语言代码中的函数负责控制模拟端口A0和A9Arduino的输入值,分别连接到声音传感器输出。进行测试是为了通过声音模块检查和调节环境中的声级。
void nivelSom() {
while (cont < 10000) {
recebeValorSensor = analogRead(pinoSensorSom_Um);
valor_Dois = analogRead(pinoSensorSom_Dois);
if (valor_Dois>recebeValorSensor){
recebeValorSensor = valor_Dois;
}
if (recebeValorSensor > valorMaior) {
valorMaior = recebeValorSensor; //Quarda o Maior Valor Leitura no Loop
}
cont++;
}
cont = 0;
tensao = valorMaior / 1023.0 * 4.54;
dB = 87.1 * tensao - 144, 4;
if (dB < 0) {
dB = 0;
}
Keyboard.print(dB);
teclaEnter();
if (dB > 58||dB < 42) {
delay(45000); //Aguarda o Envio da Mesagem (Não Faz Leitura do Nível de Som)
}
valorMaior = 0;
delay(100);
}
该函数负责使用转换方程进行数据处理,并通过“ void problema() ”将数据插入到表历史记录和控制中
图 4 显示加载到 Arduino 模块中的代码根据以下算法工作:
- 声音模块生成的电压电平值被转换为以分贝为单位的近似值,并发送到 Microsoft Excel 中的控制电子表格。
- 同时,如果识别出任何模式变化,语音识别模块会在对应于逻辑电平上映射的变化的引脚上发送到 Arduino。
- 只有在这种情况下,Arduino 才会通过条件识别出具体是哪个引脚的状态发生了变化,并将与检测到的问题相对应的代码发送到 Microsoft Excel。
图 5 表示内置于 Microsoft Excel 中的控制屏幕,负责将值存储为以分贝为单位的历史记录并控制通知(消息)的发送。在此电子表格中,Arduino 发送的分贝值和代码在单个单元格中接收,由 Visual Basic for Applications 监控。分析该值,如果它对应于预定代码,则表示问题,然后调用负责打开谷歌Chrome浏览器的函数,然后即时通讯平台将带有问题描述的消息发送给负责人对于 IT 部门。另一方面,如果接收到的值不是指代某个已识别问题的代码,而是识别出超出预定义正常范围的分贝值,该值将与读取的日期和时间一起存储在电子表格中,并将发送一条消息,提醒检测到未知来源的问题,以供进一步分析。经过调查,如果警报被认为是尚未映射为预期处理的问题,则可以将历史记录中的比率输入系统,从而训练语音识别模块以识别此类问题以备将来发生。
4. 问题
该系统开发过程中面临的最大问题之一是尽可能准确地获得以分贝为单位的读数。这个问题只能通过放置第二个类型的模块来解决:“ Max9814 Electret Microphone Amplifier with Automatic Gain Control”。这导致更精确的读数、更高的增益响应和更少的损失。
面临的第二个问题是如何识别问题的可能原因。在已经定义传感器模型的情况下,在正常运行的环境中,多次读取声级以收集最大值、平均值和最小值,没有任何问题,其他测试模拟了一些常见问题。这种分析有助于确定几个问题中声级的增加,但指出问题的原因仍然非常不准确,因为某些类型的问题之间存在非常接近的值。为了解决这个问题,连同声音传感器,语音识别模块V3也被使用,这个模块被训练来识别之前已经发现的一些类型的问题,当语音识别模块正在检查一些已知问题的存在与否时,声音传感器会在声级中记录一些异常,将对其进行分析稍后,如有必要,语音识别模块将被训练以最终识别。
5. 结果
图 6 显示了已经组装在印刷电路板上的系统以及所有组件。该系统的结论呈现出令人满意的结果,因为该步骤的目标已实现,它设法满足预先设定的要求,获得以分贝为单位的声级读数并识别监测环境中的问题。一旦识别出声音级别的差异,系统会将读数发送到 Microsoft Excel 电子表格,然后将值归档并通过信使平台向负责分析和处理通知问题的小组发送消息。

构建原型的测试环境是该公司在其圣保罗单位用作案例研究的中央服务器。它是一个带有冷却器冷却的服务器机架,包含多种类型的设备,不仅要监控设备,还要监控机架本身及其部件、冷却器、开门、结构振动等可能性。考虑到原型能够识别所有模拟案例,结果符合预期:正常性、预定义问题和未映射的异常。
图 7 展示了系统在现场测试环境中的执行情况。在其中,您可以在注册为特定区域负责人联系人的手机屏幕上查看从消息传递应用程序发送消息的测试结果。此外,由于它是一个能够检查声级、监控声级是否在为环境设定的限制范围内的系统,因此可以在其他应用程序中使用该系统,甚至在其他类型的环境中也可以使用该系统,例如必须保持尽可能低的噪音的环境,如果超过限制会发出警报消息或通过语音命令执行某些特定任务。

六,结论
在真实环境中开发从概念到部署和测试的自动化系统是一项挑战。将真实环境作为一个实用实验室在理解问题、分析和细化目标以及支持测试活动方面具有优势。但是,完成该项目的主要好处包括非技术收益,例如系统完整生命周期的成熟度、管理决策制定、协作和企业参与。
该博客围绕开发计算机基础设施环境声音警报系统展开。项目旨在监控环境声音,识别可能的基础设施问题并通知经理。介绍了目标、方法、涉及工具,阐述了发展阶段的噪声分析、电路设计等,还提及开发中面临的问题及解决办法,最终系统取得了令人满意的结果。
1234

被折叠的 条评论
为什么被折叠?



