创客项目秀 | 基于使用 XIAO BLE Sense 和 Edge Impulse 的宠物活动跟踪器

今天为大家带来的是来自美国的创作者米顿-达斯的作品:宠物活动跟踪器.这个装置主要是为宠物主人提供关于宠物日常活动量的详尽数据,还能够根据宠物的独特需求,提供个性化的健康建议和活动指导。

项目背景

为了全面促进宠物的健康与活力,采用了创新的TinyML技术,并结合了先进的数据分析算法。这款TinyML模型经过精心设计,用于精确解析来自三轴惯性测量单元(IMU)的数据,从而能够实时监测和预测宠物的活动水平。通过深入分析宠物的运动模式和行为特征,不仅能够为宠物主人提供关于宠物日常活动量的详尽数据,还能够根据宠物的独特需求,提供个性化的健康建议和活动指导。这种集成系统的设计旨在帮助宠物主人更好地理解和响应宠物的健康需求,从而有效提升宠物的整体福祉和生活质量。不仅注重宠物的身体健康,还关注宠物的心理健康和幸福感。通过监测宠物的活动水平,宠物主人可以更好地了解宠物的喜好和需求,为其提供更加舒适和愉悦的生活环境。我们相信,这款基于TinyML技术的宠物活动监测系统将成为宠物主人与宠物之间沟通的桥梁,让宠物享受到更加健康、快乐的生活。

材料清单

硬件部分

  • Seeed Studio Seeed XIAO BLE nRF52840 Sense

  • 3.7V可充电电池

软件应用程序和网络工具包

  • Arduino IDE

  • Edge Impluse Studio

  • Google Flutter

手动工具和制造机器

  • 3D打印机

  • 电烙铁

宠物也是我们生活中的重要伙伴,它们的健康和活力同样值得我们和社会的关注。为了让宠物也能享受到科技带来的便利,特别选择了 XIAO BLE Sense 这款精致的微控制器。它不仅内置了强大的 Nordic nRF52840 MCU,还支持蓝牙 5.0 无线通信技术。其搭载的 32 位 ARM® Cortex™-M4 CPU 配合 6 轴惯性测量单元(IMU),能够精确追踪宠物的休息、行走、跑步等多种活动状态,为我们的小伙伴保持最佳活力状态提供科学依据。这款设备的出现,不仅填补了宠物健身追踪市场的空白,更是宠物健康护理领域的一次重要创新。通过实时监测宠物的活动数据,宠物主人可以更加科学地调整宠物的饮食和运动计划,让宠物的生活更加健康和快乐。让科技的力量,为我们的宠物带来更美好的生活。

硬件介绍

图1 XIAO BLE Sense

图1是XIAO BLE Sense的基础介绍,在开始使用 XIAO进行编程之前,我们需要安装电路板固件。最好的资源是官方 wiki,它将一步步指导帮助我们设置 Arduino IDE。在开始制作这个项目前,要确保已经安装了必要的驱动程序和软件,例如 Arduino IDE 和相应的开发板管理器。这样就可以轻松地安装 XIAO BLE Sense 的固件。

EI BLUE

对于任何机器学习项目来说,数据收集都是非常重要的一部分。为了捕获更准确的数据,我必须在狗狗佩戴项圈的时候收集数据,这就排除了通过 USB 将 XIAO BLE Sense 连接到计算来收集数据传统方法。因此,我创建了一个名为 EI Blue 的移动应用程序,它可以从 XIAO 通过蓝牙无线采集数据。这个应用程序能够将加速度计数据直接传输到 Edge Impulse studio,以便进行进一步的分析和处理。使用 EI Blue 应用程序进行数据采集简单便捷。首先,我们需要将固件烧录到XIAO BLE Sense 开发板上。接着,使用应用程序扫描二维码,来配置我们的项目。完成这些步骤后,我们就可以开始收集数据了。大家可以查看以下链接中的视频,以获取详细的操作指南。在烧录固件和配置应用程序之后,请确保您的手机与 XIAO BLE Sense 开发板之间的蓝牙连接稳定。这将有助于您获得准确和连续的数据流。此外,大家也可以克隆项目,并在您自己的计算机上构建应用程序。这样,就可以开始收集和分析您家宠物的活动数据,为您的宠物健康提供更精细的护理。

模型训练

我收集好我的数据并上传到Edge Impulse网站上面。

图2 Edge Impulse 网站采集数据

我们应该能在 Edge Impulse Studio 看到如图2所示的数据。已经收集了 5 秒钟的样本。为了建立一个稳健的机器学习模型,请尽可能多地收集数据。已经收集了大约 6 分钟的数据来开始,并将随着时间的推移继续收集更多数据

设置脉冲模型

如图3所示,在这里,我们将使用指定模型的输入数据、数字信号处理步骤以及所需的神经网络架构。众所周知,加速度计数据是属于时间序列的原始数据。设定了 50Hz 的采样频率,因此每秒将获得 50 个加速度计数据点,数据点的采集间隔为 1000/50,即每 200 毫秒采集一次。

图3 Edge Impulse 网站设置模型

然后选择频谱分析作为处理模块,因为它能够有效地从加速度计数据中提取出有用的特征。

图4 Edge Impulse 网站模型训练

如图4所示,在 “Spectral Analysis”(频谱分析)页面上,请确保选中的是“Calculate feature importance “(计算特征重要性)选项,这将根据我们收集的数据展示哪些特征是最为关键的。例如,我们可能会看到 “accX Spectral Power”(X轴光谱功率)的特征重要性最高,这是因为包含了休息、步行和跑步等多种状态的数据,这些活动都是在X轴上的变化较大,从而导致了数据的分离。

图5 Edge Impulse 网站模型结果

如图5所示,在模型测试阶段,此模型实现了 90% 的准确率。但请大家记住,这仅是一个概念验证,因为作者只收集了我家狗狗的数据。理想情况下,为了增加数据集的多样性并使模型更具普遍性,我们应该去收集不同品种狗狗的数据。不过,目前的结果已经达到了初步目标。完成这些步骤后,训练好的模型可以导出成Arduino 库,我们可以下载这个Arduino 库并将其添加到 Arduino IDE 中。然后,将 XIAO_BLE_Pet_Activity.ino 程序上传到 XIAO BLE Sense 开发板。当然,在模型训练和测试完成后,我们也可以通过调整参数和优化模型来进一步提高准确率。此外,还可以考虑将模型部署到其他微控制器或设备上,以便在不同的环境中使用。

移动应用程序

移动应用程序是用 Flutter 编写的,因此像完成这个项目需要安装 Flutter 环境。作者也强烈建议使用 VS Code 软件配合 Flutter 插件进行开发,这样可以更便捷地编写 Flutter/Dart的代码。

因为目前没有用安卓系统的设备,所以只为 iOS 平台构建了应用程序。但 Flutter 是一个跨平台移动框架,这意味着相同的代码也可以用于构建安卓的应用程序。

如果要为 iOS 构建应用程序,请在项目文件夹的根目录下运行以下命令。

open ios/Runner.xcworkspace/

这将启动 Xcode。使用配置文件对应用程序并进行签名,然后将其部署到手机上。

此外,这个项目还在 PCBWay 上进行了发布。

如图6所示,配套的移动应用程序通过蓝牙无缝连接至设备,微控制器实时工作,每分钟发送一次精准的活动预测数据。这些数据会被安全地存储在手机的本地存储器中,并转化为直观的图表,为宠物主人提供宝贵且易于理解的健康见解。

定制部件和外壳

这款设备的外壳用的是3d打印打印出来的,如图7所示XIAO BLE Sense和锂电池当好的放进这个便携的外壳之中,也多谢于XIAO BLE Sense的体积很小,非常适合用于穿戴式的的设备中。

图7 成品组装

首先,使用3D建模软件SolidWorks来设计外壳的各个部分,包括顶部、底部、固定和支撑部分。设计时需要考虑XIAO BLE Sense开发板和电池的尺寸,并预留足够的空间。确保外壳设计具有良好的结构强度和机械连接方式,它们都留有螺丝孔,可以用螺丝将他们一个一个的紧密连接起来。如图8所示,这是让我的宠物狗能够佩戴着这个设备随意奔跑所设计的固定部分,它能牢固地将外壳固定在项圈上面。

图8 项圈固定器

如图9所示,这个是外壳中间的支持部分,这里考虑的XIAO BLE Sense开发板的大小,并且也要保证不让它和外壳别的部分撞到下面放到锂电池上。

图9 外壳支撑

如图10所示,顶部外壳的设计是我最喜欢也是最经典的狗爪子标志,让这个设备有很强的识别度。

图10 顶部外壳

最后如图11所示,这里是我放置锂电池的地方,壳子两边留有与项圈固定的位置,它也是能固定在项圈的重要部分之一。

图11 底部外壳

成品展示

完成所有的软硬件设计后,只需进行硬件组装工作,并将外壳固定在狗狗的项圈上面大功告成了!最终的成品如图12所示!

图 12 成品展示

总结

这个项目的设计初衷是为了帮助宠物主人更好地了解宠物的状态。创新性地应用了先进的tinyML模型和三轴IMU传感器,成功地将先进技术与宠物健康监测相结合,为主人提供了更好了解宠物状态的途径,项目成功地将物联网技术应用于宠物活动跟踪,为宠物主人提供了便捷的监控手段,提高了宠物的生活质量。这篇文章详细介绍了如何使用XIAO BLE Sense和Edge Impulse创建一个宠物活动跟踪器,步骤清晰,对于想要进行类似项目开发的读者非常有帮助。文章中提到了一些关键的技术要点,如使用XIAO BLE Sense作为微控制器,通过蓝牙将移动应用程序连接至设备,使用Edge Impulse进行数据分析等。这些技术要点都是实现宠物活动跟踪器项目的重要部分,需要读者仔细学习和理解。此外,文章还提供了一些关于定制部件和外壳的信息,这对于项目的实物制作也非常有帮助。通过阅读这篇文章,对于如何使用XIAO BLE Sense和Edge Impulse创建一个宠物活动跟踪器会有了更深入的了解,同时也会对于物联网应用的开发有了更浓厚的兴趣。

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

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

相关文章

在 MTT GPU 上使用 llama.cpp 推理

大语言模型因其出色的自然语言理解和生成能力而迅速被广泛使用,llama.cpp 大幅降低了进行大语言模型推理的门槛,MTT GPU 同样也是 llama.cpp 支持的运行平台,能够充分利用硬件的性能来助力用户的大语言模型应用。 本文主要介绍了如何在摩尔线…

『网络游戏』客户端发送消息到服务器【17】

将上一章服务器的协议PEProtocol的.dll文件重新生成导入unity客户端中 命名为Net 点击生成 另一种导入.dll文件方式 在客户端粘贴即可 此时Net文件夹的.dll文件就导入进来了 创建脚本:NetSvc.cs 编写脚本:NetSvc.cs 修改脚本:GameRoot.cs 在…

Cherno游戏引擎笔记(61~72)

---------------一些维护和更改------------- 》》》》 Made Win-GenProjects.bat work from every directory 代码更改: echo off->pushd ..\->pushd %~dp0\..\call vendor\bin\premake\premake5.exe vs2019popdPAUSE 为什么要做这样的更改? …

基于微信小程序的购物系统php+论文源码调试讲解

2相关技术 2.1微信小程序 小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。尤其拥抱微信生态圈,让微信小程序更加的如虎添翼,发展迅猛。 2.2 MySQL数据…

【论文阅读】SRCNN

学习资料 论文题目:Learning a Deep Convolutional Network for Image Super-Resolution(学习深度卷积网络用于图像超分辨率)论文地址:link.springer.com/content/pdf/10.1007/978-3-319-10593-2_13.pdf代码:作者提出的…

CVE-2022-26965靶机渗透

​ 开启环境 ​ ​ 进入环境 ​ ​ 使用弱口令admin登录 ​ ​ 利用cms主题构造木马 ​ 需要将主题中的info.php文件修改,再打包成zip再上传,通过网络搜索找到Github中的Pluck CMS,进入后随便下载任一主题 https://github.com/sear…

ThinkBook 16+ 锐龙6800h 安装ubuntu键盘失灵

问题:在ThinkBook 16 锐龙6800h 安装ubuntu18.04 出现笔记本键盘按下延迟非常高,输出卡死的情况,但是外接键盘可以正常使用 解决:更新内核 1、进入 https://kernel.ubuntu.com/~kernel-ppa/mainline/ 下载所需内核版本&#x…

深入理解链表(SList)操作

目录: 一、 链表介绍1.1、 为什么引入链表1.2、 链表的概念及结构1.3、 链表的分类 二、 无头单向非[循环链表](https://so.csdn.net/so/search?q循环链表&spm1001.2101.3001.7020)的实现2.1、 [单链表](https://so.csdn.net/so/search?q单链表&spm1001.2…

论文阅读:OpenSTL: A Comprehensive Benchmark of Spatio-Temporal Predictive Learning

论文地址:arxiv 摘要 由于时空预测没有标准化的比较,所以为了解决这个问题,作者提出了 OpenSTL,这是一个全面的时空预测学习基准。它将流行的方法分为基于循环和非循环模型两类。OpenSTL提供了一个模块化且可扩展的框架&#xff…

澳鹏干货 | 大语言模型的上下文窗口 (Context Windows)

大语言模型(LLMs)极大地提升了人工智能在理解和生成文本方面的能力。其中一个影响其效用的重要方面是“上下文窗口”(Context Windows)—— 这个概念直接影响着模型接收和生成语言的有效性。 本期澳鹏干货将深入探讨上下文窗口对…

如何让员工参与到精益变革的持续改进中?

实践证明,精益变革并非一蹴而就,它需要全员参与、持续改进,才能真正将精益理念融入企业的血脉之中。那么,如何让员工积极参与到精益变革的持续改进过程中呢?深圳天行健TPM管理咨询公司解析如下: 一、构建精…

电力电子技术(一)

变压器漏感对整流电路的影响:

CSS弹性布局

Flex 是 Flexible Box 的缩写,意为“弹性布局”或者“弹性盒子”,是 CSS3 中的一种新的布局模式,可以简便、完整、响应式地实现各种页面布局,当页面需要适应不同的屏幕大小以及设备类型时非常适用。目前,几乎所有的浏览…

IntelliJ IDEA中配置scala

1.IDEA中 配置 maven 左上角 file -> Setting 选择(或直接搜maven) Build, Execution,Deployment -> Build Toos -> Maven Maven home path 选择 maven 安装目录(bin的上层目录) 示例: D:\maven\apache-maven-3.8.6 User settings…

python异常检测 - 随机离群选择Stochastic Outlier Selection (SOS)

python异常检测 - Stochastic Outlier Selection (SOS) 前言 随机离群选择SOS算法全称stochastic outlier selection algorithm. 该算法的作者是jeroen janssens. SOS算法是一种无监督的异常检测算法. 随机离群选择SOS算法原理 随机离群选择SOS算法的输入: 特征矩阵(featu…

git的学习使用(搭建本地仓库,创建本地仓库,配置本地仓库)(附带Ubuntu云服务器git安装流程)

学习目标: 学习使用git,并且熟悉git的使用 学习内容: 必备环境:xshell,Ubuntu云服务器 如下: 搭建 git 环境 搭建git环境: 1、先检查自己的云服务上是否有已经安装好的git,这里…

AGI|如何构建一个RAG应用?入门新手攻略!

目录 一、概述 二、过程概述 三、如何优化提问? 四、路由和高级查询 五、丰富索引结构 六、重排序上下文 七、总结 一、概述 Retrieval Augmented Generation RAG 检索增强的内容生成。 从字面上来看检索只是一种手段途径,在人工智能领域中存在多种…

什么是CGI?

什么是CGI? ‌CGI,全称为“通用网关接口”(Common Gateway Interface),是一种用于Web服务器与应用程序之间通信的标准接口。它可以让Web服务器调用应用程序来执行特定任务,并将结果返回给Web浏览器。 CGI描…

车载电源OBC+DC/DC

文章目录 1. 车载DC/DC应用场景2. PFC2.1 简介2.2 专业名词2.3 常见拓扑结构2.3.1 传统桥式PFC2.3.2 普通无桥型PFC2.3.3 双Boost无桥PFC2.3.4 图腾柱PFC2.3.5 参考资料 2.4 功率因数2.4.1 简介2.4.2 计算 3. DC/DC3.1 Boost升压电路3.1.1 简介3.1.2 电路框图3.1.3 工作原理3.1…

解锁编程的力量:SPL的学习之旅

SPL 一、前言二、集算器应用场景三、下载四、集算器的基本使用 一、前言 一种面向结构化数据的程序计算语言 集算器又称:SPL(Structured Process Language) 敏捷计算是集算器的主要特征 二、集算器应用场景 数据准备(跑批&…