本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于 ESP32 的科学冷冻监测仪—AI Freezer Monitor

发布时间:2022-01-10
分享到:

基于 ESP32 的科学冷冻监测仪—AI Freezer Monitor

发布时间:2022-01-10
分享到:

该项目使用 Microsoft Azure 和 Edge Impulse 构建自定义异常检测冰柜监视器。

概述
AI Freezer Monitor 是一款 DIY IoT 超低温冰箱监控器,它使用机器学习 (ML) 来提供潜在设备故障的早期预警。本指南涵盖构建设备、收集训练数据、设置电子邮件警报、训练自定义机器学习模型以及将模型部署到 Adafruit Feather HUZZAH32 开发板。

该项目旨在用于低温科学冷冻机 (-60 C),目的是减少灾难性故障和保持备用冷冻机全天运行的需要。但是,请注意,该项目主要用于演示和教育目的,并没有经过广泛的测试。

这个项目大约需要两到三个小时才能完全完成。但是该设备需要被动收集大约两天的温度数据,然后您才能训练机器学习模型。

搭建
教程的这一部分涵盖了构建和运行自己的冷冻温度监控器和警报系统所需的一切。我们将介绍如何构建设备、设置免费在线数据库、将代码刷入设备、监控数据库和发送电子邮件警报。该项目中使用的组件可以测量低至 -200 摄氏度的温度。

这部分项目的构建时间大约为 60 到 90 分钟。

先决条件 Internet 帐户和软件

  • 免费的 Azure 帐户
  • 边缘脉冲帐户
  • Arduino IDE 或带有 Arduino 扩展的 VS Code
  • 蟒蛇 3

部署 Azure 资源
为了收集和存储温度数据,我们将使用 Azure IoT 中心和 Azure 存储。这样做的成本很低(低于 1 美元/月),您只需使用它 1 个月即可收集初始数据集。

设置消息路由
您将设置一条消息路由,这样所有来自设备的遥测数据都将被保存,您可以稍后在训练模型时访问它。

在把所有遥测消息都路由到您的新存储帐户并保存为 JSON 文件之后。下一部分中,你将设置电路板以从冰箱中捕获温度数据并将其上传到 Azure。

数据采集​​固件
此 repo 克隆到您的计算机,或者您可以在此处下载此项目的目录

下载项目文件后,您需要创建一个iot_configs.h文件并填写您的 WiFi 和 IoT 中心凭据。

1. 在DataCollection文件夹中创建一个名为iot_configs.h的新文本文件

2. 将以下代码复制并粘贴到该文件中并保存:

3. 接下来,您将获得 IoT 中心的主机名。

4. 登录到 Azure 并导航到您的 IoT 中心资源

5. 在概览页面的基本部分中,复制主机名并将其粘贴到iot_configs.h 中,替换引号中的文本。

6. 获得主机名后,您需要在 IoT 中心注册一个新的 IoT 设备,获取它的密钥。

7. 从左侧导航菜单中选择 IoT 设备

8. 按+ New注册新设备

9. 为您的设备命名并按保存

10.从表中选择你创建的设备

注意:您可能需要刷新表格才能显示设备

记住把你的钥匙当作密码一样设置

12. 接下来,您需要添加 WiFi SSID(或网络名称)和密码。注意:代码不支持使用强制门户的 WiFi 网络。

13. 从库管理器安装以下库:

  • 适用于 C 的 Azure SDK @ v1.0.0-beta.1

14. 打开data_collection.ino草图并将其上传到您的 Feather Huzzah32

15. 在您的冰箱中安装温度监测器以开始收集数据

在训练模型之前,您需要让监视器至少运行一两天。收集数据的时间越长,模型就越好。

训练你的模型
1. 前往https://edgeimpulse.com并登录

2. 然后到https://aka.ms/freezermodel并选择Clone this project

接下来,您需要删除数据并将其替换为您收集的数据。

3. 在您克隆的 Edge Impulse 项目中,导航到Data Acquisition选项卡

4. 按选择多个项目图标

5. 勾选全选框

6.然后选择删除

7.接下来选择上传数据图标

8. 选择您之前创建的文件,并为数据添加标签。您可以在此处使用标称值,因为收集的所有数据都是在冷冻机正常运行期间进行的。

9. 从左侧导航导航到 Flatten 选项卡。您的数据应该具有相似的形状。

10. 导航到左侧导航中的异常检测,然后按开始训练

11.接下来,您将使用之前留出的一些测试数据来测试您的模型。从屏幕右侧的下拉菜单中选择一个数据样本,然后按加载样本。

12. 样本将运行模型并预测结果。异常分数越低,冷冻机工作正常的可能性就越大。

13. Edge Impulse 可以使用您训练的模型构建 Arduino 库。要导出库,请转到左侧导航中的部署选项卡。

14.选择Arduino然后按Build

您的 Arduino 库已构建并可以使用!

部署您的模型

1.打开Arduino IDE

2. 从 Sketch > Libraries > Add.ZIP Library...

3.选择你从Edge Impulse下载的库

4. 打开FreezerAnomalyDetector.ino文件

5.复制之前创建的iot_configs.h文件

8.验证并上传代码

9. 最后将显示器装回冰箱

如果在冷冻机中检测到异常,板将向 IoT 中心发送一条消息,您将能够在您的存储帐户中看到该消息。您还可以向 IFTTT 添加集成或在 Azure 中编写逻辑应用程序以发送电子邮件或文本通知。

本文中所用到的一些代码

如果您对此项目有任何想法、意见或问题,请在下方留言。

原文链接丨以上内容来源网络,如涉及侵权可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论