本篇博文主要以ESP32+MQ Sensor 气体传感器为例,通过连接 Edge Impulse 平台,实现数据的实时采集和训练,进而实现在嵌入式设备上部署 ML 机器学习。本教程介绍如何使用 Edge Impulse 和机器学习来实现ESP32 异常检测系统,系统使用一个机器学习模型,检测气体何时出现异常。
若对本文有兴趣,请一键三连+私信我免费获取博文原文
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_39217004/article/details/133348184
目录
- 1. Edge Impulse 平台简介
- 1.1. 数据转发器
- 1.2 Edge Impuls 平台 + ESP32
- 2. 软硬件环境
- 3. ESP32 + MQ Sensor + Edge Impuls 平台融合AI实现异常检测
- 3.1 ESP32驱动 MQ Sensor传感器
- 3.2 构建数据集
- 3.2.1 Ubuntu 搭建开发环境
- 3.2.2 数据集在线实时收集
- 3.2.3 创建模型,提取特征
- 3.2.4 设置相关参数,训练数据集
- 3.2.5 后续工作
- 4. 烧录官方固件,连接平台
- 5. 参考资料
1. Edge Impulse 平台简介
Edge Impulse提供了一个易于使用的端到端平台,用于:
- ·轻松获取传感器数据作为嵌入式机器学习模型的输入
- ·高效创建针对内存大小和功耗(电池寿命)进行优化的嵌入式机器学习模型
- ·使用Edge Impulse SDK和您选择的开发环境轻松将模型部署到目标传感器上
Edge Impulse通过提供端到端平台,在低功耗温度传感器上部署智能嵌入式机器学习,解决了这些挑战。我们允许您将智能(或规则逻辑)放回到数据的来源,以便设备可以做出实时决策,减少由传感器到云交互产生的往返延迟,并仅发送触发系统所有者响应所需的内容,例如当冰箱门打开太长时间时。
1.1. 数据转发器
搜集数据集进行训练,使用平台的数据转发器 data forwarder
工具,传感器数据通过PC串口和平台的web之间建立连接,平台web可以通过PC的串口实时获取传感器的数据,用于训练。使用K-Means
聚类构建我们的嵌入式ML模型,并检测数据中的异常值,我们将其标记为“异常”。
1.2 Edge Impuls 平台 + ESP32
选择平台支持的硬件设备
Edge Impulse 支持在 ESP32 上处理各类传感器数据;
Espressif ESP-EYE (ESP32)
2. 软硬件环境
- ESP32 DevKitC 开发板
- MQ sensor 气体传感器
- Arduino IDE
- Edge Impulse 平台账户
3. ESP32 + MQ Sensor + Edge Impuls 平台融合AI实现异常检测
要实现 ESP32 异常检测系统,需要将其分为两个不同的步骤:
- 获取 气体传感器输出的正常值
- 构建机器学习模型并将其与 ESP32 一起使用来检测异常
3.1 ESP32驱动 MQ Sensor传感器
本部分直接参考博文: ESP32连接MQ Sensor实现气味反应
说明:气体传感器输出的值,正常情况下和向传感器吹气时,输出的值是有变化的
将以下代码录进 ESP32 开发板,可实时获取传感器输出的值, 请提前搭建好 ardunio IDE + E