×

使用边缘脉冲的实时实验室监控

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2023-07-13

48674

分享资料个

描述

我们为什么要建造这个?

实验室,尤其是化学实验室等场所的气氛维护至关重要。必须连续监测温度、湿度和环境光,并将空气质量水平和热量水平用作中断以防止实验室事故。

硬件构建

WizFi360-EVB-Pico 基于 Raspberry Pi RP2040,并使用 WizFi360 添加了 Wi-Fi 连接。它与 Raspberry Pi Pico 板引脚兼容,可用于物联网解决方案开发。

设置IDE

打开 File -> Preferences,然后将以下内容输入到 Additional Boards Manager URLs

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

现在您可以在 Boards Manager 中搜索“wizfi”并安装 Raspberry Pi Pico/RP2040 的最新软件包。添加WizFi360EVB 库

pYYBAGSAc56AB8rkAAEOlyynPiQ933.png
 

选择 WIZnet WizFi360-EVB-Pico 板并运行以下闪烁代码。

void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(1000);                       // wait for a second
digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
delay(1000);                       // wait for a second
}
 

现在我们已经上传了代码,开发板已准备好用于该项目。

连接传感器与 WizFi360-EVB-Pico

连接 Grove 温湿度传感器 (SHT40)

SHT40 温度使用热电偶方法测量。热电偶由两种不同材料的金属丝组成。将两根导线的一端焊接在一起形成工作端,放置在待测温度处。另一端称为自由端,与主控相连,形成闭环。

  • 下载 Grove 温度和湿度传感器代码库。访问arduino-i2c-sht4x 存储库并将整个存储库下载到本地驱动器。
  • 将库添加到 Arduino IDE

这里我们将 SHT40 温湿度传感器连接到 WizFi360 的 IO26 和 IO27 引脚。

连接 NeoPixel:

我使用的 NeoPixel 环是 16 位的 NeoPixel,即环由 16 个 LED 组成。

pYYBAGSAc6OAX1VrAABESvKbrcc688.png
 

连接

WizFi360 ------------------------------------------WS2816

VBUS -> Vcc

GND -> 接地(0V)

IO13 -> DI(数据输入)

NeoPixel 库附加到存储库。NeoPixel 的颜色根据存储在变量中的温度和湿度进行切换。

如下所示进行连接。

poYBAGSAc62AZO_xAA-049kk8dM744.jpg
 

Edge Impulse TFLite 模型生成和部署

该项目的主要思想是使用 Raspberry Pi pico 检测温度数据的一些异常,整个分类在 RP2040 MCU 上完成。

根据硬件容量和内存大小,TinyML 中可以使用不同类型的 MCU/应用程序,如下图所示。

poYBAGSAc7iAXFpxAAD0lEUdWzg055.png
 

要在 Raspberry Pi pico 上运行机器学习模型,我们需要环境温度数据。由于 Raspberry Pi Pico 有一个内部温度传感器,我们使用它们来收集温度数据。ARM Cortex M0+ 适用于异常检测和传感器分类,这使我们能够实施该项目。

我们将使用边缘脉冲来构建和训练 TensorFlow Lite 模型。我们将为以下情况收集气体传感器数据

  • 温度
  • 湿度
  • 压力

我们将创建一个名为Lab Monitoring - Anomaly Detection 的边缘脉冲项目。运行以下命令将需要您的 edge impulse 电子邮件和密码。

edge-impulse-daemon
pYYBAGSAc7yADUHZAAHTSnqMAwc879.png
 

我们将训练和测试数据分成 65% 和 35%。接下来,我们创建 Impulse 并添加带有 Flattern 的处理块,将轴展平为单个值,与其他块结合使用,这对于缓慢移动的平均值(如温度数据)很有用。接下来,我们添加一个 Keras 分类学习块,然后单击 Save Impulse。接下来,我们点击 Generate features 来训练模型。几分钟后,我们可以在 Feature Explorer 中看到输出。

poYBAGSAc7-AOUExAAGD6nWizuY575.png
 

您可以使用特征资源管理器可视化特征。

poYBAGSAc8OAFi_1AAGNkK_mm6I767.png
 

现在我们可以通过将模型导出到 Arduino 库来部署模型。转到左侧导航中的“部署”选项卡。选择Arduino,点击Build下载Arduino库。

  • 转到 Sketch > Libraries > Add.ZIP Library,选择从 Edge Impulse 下载的库
  • 打开WizFiAnomalyDetector.ino文件并上传

外壳

我在这个项目中使用了亚克力外壳。首先,我将所有电路放在外壳内并拧紧。我为 Neopixel Ring 和温度传感器做了一个小开口。最后,将所有的螺丝都拧紧,电源线通过插槽插入。

pYYBAGSAc8eAVQdrAACEhlwdszE913.png
 

 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !