电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>使用Azure IoT Hub对热交换器进行热分析

使用Azure IoT Hub对热交换器进行热分析

2023-06-16 | zip | 0.00 MB | 次下载 | 免费

资料介绍

描述

热交换器被认为是工业过程中广泛使用的最常见类型的交换器之一。该交换器由一个不同尺寸的容器组成,其中包含许多管子。传递热量的速率取决于几个因素,例如进料温度和湿度、外壳直径、管的数量、管的几何形状、挡板间距和切割间距。因此,温度分析对于保持管内正确的温度并诊断其中的故障变得非常重要。采取正确的措施可以增加设备的容错能力。

无线传感器网络已安装在许多工业应用中,例如民用基础设施的结构监测、水轮机的振动分析等,并且在消除许多工业并发症方面做得非常好。

在本教程中,我们将介绍无线温度和湿度传感器及其在热交换器热分析中的优势。所以在这里我们将演示以下内容:

  • 无线温度和湿度传感器。
  • 使用这些传感器进行温度分析。
  • 使用无线网关设备收集和分析数据。
  • 使用 Azure 发布和订阅传感器数据。

硬件和软件规格

软件规范

硬件规格

物联网远程无线温湿度传感器

这些是工业级长距离温度和湿度传感器,传感器分辨率为 ±1.7%RH ±0.6° C。仅由 2 节 AA 电池(随附)供电,使用寿命为 500,000 次无线传输,您可以期望实现高达长达 10 年的电池寿命取决于环境条件和传输间隔可以由您选择。可选地,该传感器可以由外部供电。这些传感器的范围为 2 英里,带有板载天线使用网状网络架构,该范围可达到 28 英里。

获取温度和湿度值

我们从无线温度和湿度传感器获得以下值:

  • 摄氏温度
  • 华氏温度
  • 相对湿度
  • 电池使用情况

然后在 Azure IoT 中心对这些数据进行可视化和分析。若要开始设置 Azure IoT 中心,请阅读本教程。为了发送值 Azure IoT 中心,应遵循以下过程。

Azure IoT 中心遵循 MQTT 协议以发布和订阅数据。

  • Azure 函数是 azure 门户提供的另一个重要功能。使用 Azure 函数,我们可以在云中编写一段代码或函数。在这个项目中,我们正在解析包含原始传感器数据的 JSON,并使用 Azure 函数从中获取真实的温度和湿度值。要设置 Azure 功能,请遵循本教程。
  • 我们将使用解析后的 JSON 原始数据获取真实的温度和湿度数据
public static async Task Run(HttpRequestMessage req, TraceWriter log)
{  
double humidity;  
int rawTemp;  
double Ctemp;  
double Ftemp;  
double voltage;  
string utcEnque;  
string devFormat;  
string utcProcess;  
log.Info("C# HTTP trigger function processed a request: " + content);  
JArray array = JArray.Parse($"{await req.Content.ReadAsStringAsync()}");//parsing the JSON array   
foreach(dynamic message in array){      
utcProcess = message.EventProcessedUtcTime;      
utcEnque = message.EventEnqueuedUtcTime;      
humidity = ((message.Humid1)*256 + (message.Humid2))/100;      
rawTemp = ((message.Temp1)*256 + (message.Temp2));      
Ctemp = rawTemp /100.0;         
Ftemp = Ctemp *1.8 + 32;       
int bat = ((message.Bat1)*256 + (message.Bat2));      
voltage = 0.00322 * bat;      
string utcTime = utcProcess.ToString();      
DateTime localDateTime = DateTime.Parse(utcTime);       
DateTime utcDateTime = localDateTime.ToUniversalTime();      
string usTimeZone = "US Eastern Standard Time";      
TimeZoneInfo ust = TimeZoneInfo.FindSystemTimeZoneById(usTimeZone);      
DateTime dateTime = TimeZoneInfo.ConvertTime(utcDateTime, ust);      
log.Info(dateTime.ToString("dd/MM/yyyy HH:mm:ss"));    }return req.CreateResponse(HttpStatusCode.OK, "Executed");  } public class Message{    
[JsonProperty("temp1")]    
public int temp1 { get; set; }    
[JsonProperty("temp2")]    
public int temp2 { get; set; }    
[JsonProperty("humid1")]    
public int humid1 { get; set; }    
[JsonProperty("humid2")]    
public int humid2 { get; set; }    
[JsonProperty("bat1")]    
public int bat1 { get; set; }    
[JsonProperty("bat2")]    
public int bat2 { get; set; }  }

在 PowerBi 中分析数据

我们正在使用 Power BI 来可视化数据。它提供了分析数据的交互式方法。此数据可以以折线图、条形图、饼图等形式进行解释。首先在 Power Bi 中创建一个帐户并登录到您的帐户。在上一篇文章中,我们设置了 Power Bi 并使用流分析作业将数据发送到 Power Bi。在这篇文章中,我们使用 Azure 功能将传感器数据发送给 Bi。要设置 Power Bi,请阅读此博客。

有四种方法可以将数据发送到 Power Bi:

  • 将数据从 IoT 中心直接流式传输到 Power Bi。
  • 使用 API 向 Power Bi 发送数据。
  • 使用网络钩子函数
  • 使用 PubNub。

在我们的例子中,我们使用 Power BI API 并从 azure 函数向 Power BI 发送 HTTP 响应。可视化面板中列出了不同的图形、折线图、Pi 图等。我们可以通过从可视化面板中选择任何图表来创建图表。

我们还可以将数据导出为 Excel 表格或 CSV 格式。在后期可用于数据分析。

PowerBI 的 Azure 函数代码

从 JSON 中解析所有 JSON 对象,并获取温度、湿度等的真实值。这里的产品是一个产品类对象,我们在其中存储解析的值。

Product product = new Product();foreach(dynamic message in array){humidity = ((message.humid1)*256 + (message.humid2))/100;      
rawTemp = ((message.temp1)*256 + (message.temp2));      
Ctemp = rawTemp /100.0;         
Ftemp = Ctemp *1.8 + 32;       
int bat = ((message.bat1)*256 + (message.bat2));      
voltage = 0.00322 * bat;      
utcProcess = message.EventProcessedUtcTime;      
utcEnque = message.EventEnqueuedUtcTime;      
product.Ctemperature = Ctemp;      
product.Ftemperature = Ftemp;      
product.humid = humidity;      
product.battery = voltage;     
//product.dateTime = ;         
product.EventProcessedUtcTime=utcProcess;       
product.EventEnqueuedUtcTime=utcEnque;     }public class Product{  
public double Ctemperature{get; set;}  
public double humid{get; set;}  
public double battery{get; set;}  
//public double dateTime{get; set;}  
public string EventProcessedUtcTime { get; set; }  
public string EventEnqueuedUtcTime { get; set; }  
public double Ftemperature{get; set;}}
  • 现在创建一个变量来存储 Power Bi 的连接字符串
  • 创建 HTTP 客户端实例
string connString = "https://api.powerbi.com/beta/***************";  HttpClient client = new HttpClient();
  • 我们需要发送 JSON 给 Bi 供电。因此,使用模型类对象序列化 Json。
  • 将转换后的 JSON 作为 HTTP 请求发送到 power bi。
string output = JsonConvert.SerializeObject(product);     HttpContent httpContent = new StringContent("[" + output + "]");       
HttpResponseMessage response = await client.PostAsync(connString, httpContent);     response.EnsureSuccessStatusCode();

Power BI 中的数据可视化

在这里,我们在不同的日期和时间可视化我们的传感器数据。我们可以分别看到不同日子内湿度、温度和电池使用量的百分比变化。

 
 
 
 
pYYBAGNy24aAILhFAAFfIJrv354990.png
 
1 / 4
 

使用 SendGrid 的无线温度传感器 Azure 电子邮件托管

软件即服务(Saas 应用程序)提供了另一个令人惊叹的功能,称为 SendGrid。在 Microsoft Azure 中,SendGrid 支持迅速将电子邮件通知传递给不同的用户。

此博客中描述了发送网格的设置。

在这里,我们将描述使用 Azure 功能发送电子邮件通知的代码。

  • 添加这些依赖项,“Send Grid”用于访问 SendGrid 邮件服务。
 
 
 
 
poYBAGNy24iAAz37AAAsD-9DNh0305.png
 
1 / 3
 
#r "SendGrid"using Newtonsoft.Json;using Newtonsoft.Json.Linq;
using System.Net;using System.Net.Mail;
using SendGrid.Helpers.Mail;using Microsoft.Extensions.Logging;
  • 从邮件、smtp 端口、用户名、密码、smtp 主机、邮件主题和邮件正文创建用于存储到邮件的变量。
string fromMail="enter from mail";string toMail="enter to mail";int smtpPort = 587;
string smtpUserName="Enter your smtp send grid username";  
string smtpPassword = "enter sendgrid password";  
string smtpHost = "smtp.sendgrid.net";  
string subject = "Temperature Alert!!!";  
string mailMessage = "Temperature has reached beyond 30";
  • 创建 MailMessage 和 SmtpClient 的实例
MailMessage mail = new MailMessage(fromMail,toMail);SmtpClient smtpClient = new SmtpClient();
  • 设置端口、传递方法、smtp 主机、用户凭据邮件正文和主题到 Smtp 客户端和邮件消息对象。
smtpClient.Port = smtpPort;smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Host = smtpHost;
smtpClient.Credentials = new System.Net.NetworkCredential(smtpUserName,smtpPassword);
mail.Subject = subject;mail.Body = mailMessage;
  • 设置端口、传递方法、smtp 主机、用户凭据邮件正文和主题到 Smtp 客户端和邮件消息对象。
smtpClient.Port = smtpPort;smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Host = smtpHost;
smtpClient.Credentials = new System.Net.NetworkCredential(smtpUserName,smtpPassword);
mail.Subject = subject;mail.Body = mailMessage;
  • 每当温度超过 30 度阈值时。用户将收到一封邮件到所描述的电子邮件 ID。
if(product.Ctemperature > 30.00){              smtpClient.Send(mail);     }

通知结果

  • 每次温度超过 30 度标记时,都会向用户发送自动电子邮件通知。
  • 发送网格每次都将电子邮件通知传递给同一主题。我们不必在收件箱中向下滚动来搜索最后发送的消息。只需搜索温度警报!你会得到消息列表。

整体代码

此设置的固件可在此GitHub 存储库中找到


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费