如何利用XIAO BLE Sense设计一款宠物活动追踪器

描述

背景

我们的宠物应该得到更多保持活跃的方法。我正在使用 XIAO BLE Sense,它是一款配备强大 Nordic nRF52840 MCU 的微型微控制器,采用蓝牙 5.0 模块设计,围绕 32 位 ARM® Cortex™-M4 CPU 构建。它有 6 Axis IMU,用于预测诸如休息、步行和跑步等活动。tinyML 模型根据来自 3 Axis IMU 的数据预测活动。

微控制器

微控制器

随附的移动应用程序通过蓝牙连接到设备,微控制器每分钟发送一次预测数据。数据存储在移动本地存储上并绘制在图表上以提供有意义的洞察力。

从 XIAO 开始构建

微控制器

在开始使用 XIAO 编程之前,您需要安装板固件。最好的资料来源是wiki ,你可以在上面得到逐步的指导,以设置您的 Arduino IDE。

EI Blue - 通过蓝牙收集数据

对于任何机器学习项目,数据收集都是非常重要的部分。为了捕捉更准确的数据,我必须在我的狗戴着项圈时收集数据,这意味着我无法收集通过 USB 线将 XIAO BLE Sense 连接到计算机的数据。因此,我创建了一个名为 EI Blue 的移动应用程序,使用它从 XIAO 无线收集数据。该应用程序将加速度计数据直接发送到 Edge Impulse 工作室。

该应用程序非常易于使用。您需要将固件内核上传到您的XIAO,扫描二维码在应用程序上配置项目并开始采样。

您应该在 Edge Impulse Studio 上看到如下数据。我收集了5s样本。为稳健的 ML 模型收集尽可能多的数据。我已经收集了大约 6 分钟的数据以开始使用,并且随着时间的推移将继续收集更多数据。

微控制器

创造行为

您可以在此处定义输入数据、要用于模型的任何数字信号处理和神经网络。

如您所知,加速度计数据基本上是时间序列原始数据。我选择了频率 = 50Hz,这意味着每秒将有 50 个加速度计数据读数,间隔为 1000/50=200 毫秒。

微控制器

我选择了光谱分析作为我的处理模块,因为它可以很好地与加速度计数据一起提取有意义的特征。

微控制器

在光谱分析页面上,确保选中“计算特征重要性”,这将根据您的数据指示哪些特征很重要。例如,如您在上图中所见,“accX Spectral Power”具有最高的重要性,因为我有休息、步行和跑步的数据,其中 X 轴变化很大并进行了分离。

微控制器

我在模型测试期间获得了 90% 的准确率但请记住,这是一个概念证明,我只从我的狗那里收集数据。理想情况下,我应该收集来自不同犬种的数据,这将增加数据集中的多样性并使模型变得健壮。但就目前而言,它解决了目的。

完成后,下载 Arduino 库并添加到 Arduino IDE。然后上传XIAO_BLE_Pet_Activity.ino程序到XIAO BLE Sense。

为 iOS 构建移动应用程序

移动应用程序是用 Flutter 编写的。所以你需要安装颤振。我强烈建议使用 Flutter 配置 VS Code,这使得在 flutter/dart 中编写代码变得非常容易。按照此链接开始从安装到编写第一个 Flutter 应用程序的 Flutter。

安装和配置所有软件后,克隆此repo 。

我已经为 iOS 构建了该应用程序,因为我现在没有任何 Android 设备。但是 Flutter 是一个混合移动框架,这意味着相同的代码也应该适用于 Android 应用程序。

要为 iOS 构建,请从项目文件夹的根目录运行以下命令。

open ios/Runner.xcworkspace/

之后就会打开 Xcode,你就可以使用您的配置文件签署应用程序并在您的手机上运行,到此一切准备工作就完成了。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
slyzzzzz 2022-06-19
0 回复 举报
可以请问下xiao ble这个板子的蓝牙模块具体怎么使用吗 收起回复

全部0条评论

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

×
20
完善资料,
赚取积分