资料介绍
描述
在过去的几年里,深度神经网络在模式识别、计算机视觉、语音识别和图像分类等各种问题上为我们提供了最好的结果。
将机器学习应用于传感器和信号数据使设备比以往任何时候都更智能,并将成为物联网领域的突破。无论您使用的是声音、振动、图像、电信号还是加速度计或其他类型的传感器数据,您都可以通过教导机器使用廉价的微控制器在边缘实时检测和分类事件来构建更丰富的分析用于处理 - 即使是嘈杂的、高变化的数据。在这篇研究论文中可以看到更多关于机器学习和数据分析的信息。
在其他黑客博客中,我们介绍了无线传感器在许多工业应用中的使用。在不同的用例中,我们看到我们正在获取大量数据。有些是相关数据,有些是不相关的。收集这些数据并建立机器学习模型可以帮助我们从传感器收集相关信息。
在这个教学中,我们将学习:
- 设置 ESP32 开发板
- 物联网远程无线温湿度传感器
- 在无线温度传感器和 ESP32 之间建立连接
- 闪烁 ESP 32 并从无线温度和湿度传感器收集传感器数据
- 使用 Power BI 分析和可视化图表和图形中的传感器数据
- 从 Power BI 以 CSV 格式导出传感器数据
- 使用此数据创建数据集。
- 使用 tensorflow 创建 CNN(卷积神经网络模型)
硬件和软件规格
软件规范
硬件规格
- ThingHz 无线温湿度传感器
- FTDI 串行编程器
获取温度和湿度值

我们从无线温度和湿度传感器获得以下值:
- 摄氏温度
- 华氏温度
- 相对湿度
- 电池使用情况
然后在 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 发送数据。
- 使用 web-hook 函数使用 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();
创建数据集

该数据集由 CSV 格式的 Power BI 中的温度、湿度值组成。使用这些信息,我们将预测机器的状况。机器状况按以下方式分类
- 良好的条件
- 良好的条件
- 粗糙的条件
- 非常粗糙的条件
- 危险等级
- 病情严重
温度和湿度值称为Features ,与这些值相关的条件称为Labels 。我们将对该数据集进行特征提取并训练该数据集以映射真实标签。将训练数据集与测试集进行比较以找到真实结果。这种机器学习方法称为线性回归。
训练数据集

我们将数据集分为两部分:
- 训练集- 训练集包含 800 个特征。
- 测试集- 测试集包含大约 500 个特征。
我们正在使用遵循线性回归的LDA(线性判别分析)来训练数据。使用 LDA 提取特征后。这些特征被提供给卷积层。在这一层,权重与输入进行卷积,并将偏差添加到其中。这个过程针对不同的卷积层进行。然后我们添加一个最大池化层并添加一个激活函数(在我们的案例中我们使用Relu ,更多关于这可以在这项研究工作中找到),其中再次对特征进行下采样以使用正确的标签映射数据。然后在最后我们有一个完全连接的层,其中特征再次被向下采样到标签大小。最后一层的大小等于标签的大小。

优化准确性和损失

我们优化了2000次迭代的数据集,发现如下结果:
培训结果
- 训练准确率(1500 epochs)- 100%
- 训练损失(10 个时期)- 3.4%
试验结果
- 测试准确率(1500 epochs)- 98.7%
- 测试损失(10 个时期)- 12.5%
整体代码
此设置的固件可在此GitHub 存储库中找到
- 使用Azure存储的运动传感器监控摄像头
- 数据分析工具下载 5次下载
- 基于大数据分析LTE下行速率影响因素研究案例 15次下载
- 工程大数据分析——汽车传感器数据应用 11次下载
- 基于流形学习的T分布式多传感器体域网 5次下载
- 基于LabVIEW的电机振动数据分析平台 61次下载
- 焊接机器人实时跟踪系统传感器的设计技术研究说明 10次下载
- 使用多传感器组合导航方法实现SLAM的设计与应用 12次下载
- 数据分析有哪些思维详细说明 0次下载
- 工作环境准备及数据分析建模理论基础的学习课件免费下载 0次下载
- 数据分析修炼手册教程免费下载 1次下载
- MPU6050传感器进行数据分析与滤波的详细资料说明 24次下载
- 如何使用PIC单片机进行倾角传感器的设计 8次下载
- 数据分析、数据挖掘和数据统计的概念与主要区别及其举例分析 18次下载
- 数据分析 高级分析入门 19次下载
- 机器学习在数据分析中的应用 721次阅读
- 数据分析有哪些工具 8793次阅读
- 如何分析来自定制PCB传感器子系统的数据 1337次阅读
- 机器学习进行静态分析的步骤 1901次阅读
- 机器学习三剑客之Numpy怎么学 1473次阅读
- 什么是大数据分析?大数据分析的含义与目前形式 1.6w次阅读
- 分析压力传感器原理结构 7292次阅读
- 工业维护中使用机器学习 3233次阅读
- 12种用于数据分析的Pandas技巧可用来学习Python详细概述 5360次阅读
- 机器学习开发课程,使用Pandas探索数据分析 4837次阅读
- 色彩传感器工作原理及应用方案分析 3.3w次阅读
- 机器学习与数据挖掘的关系 4353次阅读
- 大数据分析到底需要多少种工具_大数据分析总结 1.1w次阅读
- 常用的数据分析方法有哪些 1.8w次阅读
- 机器人传感器的类别及应用原理 1.1w次阅读
下载排行
本周
- 1VCC启动电路(可下载)
- 748.32 KB | 2次下载 | 免费
- 2TDA7850音频功率放大器英文手册
- 0.39 MB | 1次下载 | 免费
- 3HAC1108TS型LVCMOS时钟缓冲器产品说明书
- 386.75 KB | 1次下载 | 免费
- 460KW电机控制器硬件驱动电路设计(可下载)
- 720.01 KB | 1次下载 | 免费
- 5LT7404FJ-X N沟道增强型功率MOSFET规格书
- 1.48 MB | 次下载 | 免费
- 6LTH004FK互补增强型功率MOSFET规格书
- 1.39 MB | 次下载 | 免费
- 7LT1756SJ N沟道增强型场效应晶体管规格书
- 0.94 MB | 次下载 | 免费
- 8广州唯创电子WTK6900HC语音识别芯片资料
- 1.14 MB | 次下载 | 免费
本月
- 1STM32CubeMX用于STM32配置和初始化C代码生成
- 21.90 MB | 627次下载 | 免费
- 2STM32开发板教程之STM32开发指南免费下载
- 24.88 MB | 176次下载 | 3 积分
- 3EN60335-1安规标准 中文版本
- 1.86 MB | 53次下载 | 1 积分
- 4OAH0428最新规格书(中文)
- 2.52 MB | 28次下载 | 10 积分
- 5Altium-常用3D封装库(Step)接插件篇
- 4.95 MB | 26次下载 | 免费
- 6UHV系列雷电冲击电压发生器试验装置详细说明使用
- 1.07 MB | 17次下载 | 免费
- 7介绍一些常用的电子元器件
- 3.20 MB | 8次下载 | 免费
- 8麻将机升降电路
- 0.12 MB | 6次下载 | 1 积分
总榜
- 1matlab软件下载入口
- 未知 | 935124次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420063次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233088次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191371次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183336次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81583次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73814次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65988次下载 | 10 积分
评论