今天为大家带来的是来自美国的创作者米顿-达斯的作品:宠物活动跟踪器.这个装置主要是为宠物主人提供关于宠物日常活动量的详尽数据,还能够根据宠物的独特需求,提供个性化的健康建议和活动指导。
为了全面促进宠物的健康与活力,采用了创新的TinyML技术,并结合了先进的数据分析算法。这款TinyML模型经过精心设计,用于精确解析来自三轴惯性测量单元(IMU)的数据,从而能够实时监测和预测宠物的活动水平。通过深入分析宠物的运动模式和行为特征,不仅能够为宠物主人提供关于宠物日常活动量的详尽数据,还能够根据宠物的独特需求,提供个性化的健康建议和活动指导。这种集成系统的设计旨在帮助宠物主人更好地理解和响应宠物的健康需求,从而有效提升宠物的整体福祉和生活质量。不仅注重宠物的身体健康,还关注宠物的心理健康和幸福感。通过监测宠物的活动水平,宠物主人可以更好地了解宠物的喜好和需求,为其提供更加舒适和愉悦的生活环境。我们相信,这款基于TinyML技术的宠物活动监测系统将成为宠物主人与宠物之间沟通的桥梁,让宠物享受到更加健康、快乐的生活。
硬件部分
软件应用程序和网络工具包
Arduino IDE
Edge Impluse Studio
Google Flutter
手动工具和制造机器
宠物也是我们生活中的重要伙伴,它们的健康和活力同样值得我们和社会的关注。为了让宠物也能享受到科技带来的便利,特别选择了 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 的固件。
对于任何机器学习项目来说,数据收集都是非常重要的一部分。为了捕获更准确的数据,我必须在狗狗佩戴项圈的时候收集数据,这就排除了通过 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所示,配套的移动应用程序通过蓝牙无缝连接至设备,微控制器实时工作,每分钟发送一次精准的活动预测数据。这些数据会被安全地存储在手机的本地存储器中,并转化为直观的图表,为宠物主人提供宝贵且易于理解的健康见解。
图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创建一个宠物活动跟踪器会有了更深入的了解,同时也会对于物联网应用的开发有了更浓厚的兴趣。