【ESP32 + Edge Impulse平台】运行AI算法模拟多传感器数据融合实现异常检测

本篇博文主要以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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/151205.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JOSEF约瑟 闭锁继电器 LB-7 YDB-100 100V 50HZ 控制断路器的合闸或跳闸

闭锁继电器LB-7导轨安装名称:闭锁继电器型号:LB-7闭锁继电器额定电压100V功率消耗≤10VA触点容量220V1.5A40W返回系数≥0.8 LB-1A、LB-1D、DB-1、HBYB-102/D YDB-100、HLO、DB-100、LB-7型闭锁继电器 一、用途 LB-7型闭锁继电器(以下简称继电器)用于发电厂及变电所内高压母线…

Vim教程

目录 vim 介绍 常用的四种模式 首先先学会如何正确进入和退出vim: normal模式 insert模式: command模式: v-block模式: vim异常退出 vim配置 vim 介绍 Vim是一款高度可定制的文本编辑器,它的前身是Vi&#xf…

前端—— 分层模型和应用协议

1 分层模型 MAC地址 可以认为计算机专属,可以认为每台计算机的 MAC地址 固定不变; IP地址 可以认为是计算机当前的【家庭地址】,动态唯一,家庭地址变化,IP地址 也跟着变化; 举个例子,A 给 B 发…

踩坑日记 uniapp 底部 tabber遮挡住购物车结算

tabbar 被购物车结算遮挡 在小程序上tabbar没有将固定栏遮挡,如果直接调高,浏览器H5页面是对了,但在小程序上面离底部的定位就太高了 原代码 // 底部结算样式.shop-foot {border-top: 2rpx solid #F7F7F7;background-color: #FFF;position: …

通过IP地址如何计算相关地址

以IP地址为1921681005 子网掩码是2552552550为例。算出网络地址、广播地址、地址范围、主机数。 分步骤计算 1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。 虚线前为网络地址,虚线后为主机…

【Pod】

Pod 一、Pod基本概念二、Pod的使用方式pause容器(pod的基础容器)核心功能pause容器使得Pod中所有容器可以共享两种资源:网络和存储网络存储 三、Pod分类自主式Pod/静态pod控制器管理的Pod 四、三种容器五、镜像拉取策略(image Pul…

阿里面试:页面调10 个上游接口,如何做高并发?

说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如阿里、滴滴、极兔、有赞、希音、百度、网易的面试资格,遇到很多很重要的面试题: 一个页面要调100 个上游接口,如何优化? 一个场景…

AI工程化—— 如何让AI在企业多快好省的落地?

作为计算机科学的一个重要领域,机器学习也是目前人工智能领域非常活跃的分支之一。机器学习通过分析海量数据、总结规律,帮助人们解决众多实际问题。随着机器学习技术的发展,越来越多的企业将机器学习技术作为核心竞争力,并运用在…

python读取vivo手机截图,将满屏图片文件移动别的路径

问题之初 python读取vivo手机截图, 将满屏图片文件移动别的路径好多这样的图片,占用手机大量的内存,食之无味弃之可惜!那么会复制粘贴👀代码的我们我们今天就把这些图片筛选清理掉。 这段代码 原有逻辑的基础上&…

智能井盖传感器:城市安全卫士

随着城市人口的不断增加和城市基础设施的不断发展,井盖作为城市道路和排水系统的重要组成部分,承担着确保城市安全和便利性的关键角色。然而,井盖在日常使用中常常面临倾斜、水浸和翻转等问题,这些问题可能导致交通阻塞、行人坠井…

边坡安全监测系统的功能优势

随着科技的进步,边坡安全监测系统在各种工程项目中发挥着越来越重要的作用。这款系统通过实时监测垂直、水平位移数据,以折线图的方式显示在监控平台中,为工程人员提供了直观、便捷的监控工具,从而能够及时掌握边坡稳定状况&#…

Altium Designer培训 | 4 - 原理图创建篇

元件的放置 器件的复制及对齐 导线及NetLabel的添加 Value值的核对 封装的统一管理 原理图的编译设置及检查

tomcat安装,创建web后端项目,部署项目过程

1,安装服务器,使用 Apache免费提供的服务器TomCat,注意JDK版本。 TomCat官方站点 文件解压目录。 启动服务器:bin目录下点击startup.bat,出现小黑框,浏览器默认访问http://127.0.0.1:8080/ 关闭服务器&…

正点原子嵌入式linux驱动开发——Linux内核顶层Makefile详解

之前的几篇学习笔记重点讲解了如何移植uboot到STM32MP157开发板上,从本章就开始学习如何移植Linux内核。 同uboot一样,在具体移植之前,先来学习一下Linux内核的顶层Makefile文件,因为顶层 Makefile控制着Linux内核的编译流程。 L…

提取歌曲伴奏?用对软件一键帮你搞定~

相信大家经常想获取某首歌曲的伴奏,但是不知从何下手,今天这篇教程给大家分享一个超神奇软件,一键提取歌曲伴奏! 第一步:打开【音分轨】APP,进入首页点击【人声分离】 第二步:选择导入方式&…

C++ -- 学习系列 关联式容器 set 与 map

一 关联式容器是什么? c 中有两种容器类型:关联式容器与序列式容器(顺序容器) 关联式中的容器是按照关键字来存储与访问的,序列式容器(顺序容器)则是元素在容器中的相对位置来存储与访问的。…

开发过程教学——交友小程序

交友小程序 1. 我的基本信息2. 我的人脉2.1 我的关注2.2 我的粉丝 3. 我的视频4. 我的相册 特别注意:由于小程序分包限制2M以内,所以要注意图片和视频的处理。 1. 我的基本信息 数据库表: 我的基本信息我的登录退出记录我的登录状态&#x…

运营商sdwan优缺点及sdwan服务商优势

SD-WAN(软件定义广域网)作为一种重要的网络解决方案,已经受到了广泛的关注和采用。然而, 无论是由传统运营商提供的SD-WAN还是专门的SD-WAN服务提供商,都存在各自的优缺点。 运营商提供的SD-WAN的缺点: 1. 有限的灵活性&#xf…

Kubernetes概述架构与工作流程简述

文章目录 Kubernetes概述Kubernetes优势Kubernetes 集群组件控制平面组件Node 组件 Kubernetes工作流程下期预告 Kubernetes概述 Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥…

如何提升爬虫IP使用效率?精打细算的方法分享

在进行爬虫数据采集时,爬虫IP是不可或缺的工具。然而,爬虫IP的费用可能是一个爬虫项目的重要开支之一。为了帮助您节省爬虫IP经费,本文将分享一些经济高效的方法,让您在使用爬虫IP时更加节约成本,提高经济效益。 一、优…