背景
我們的寵物應(yīng)該得到更多保持活躍的方法。我正在使用 XIAO BLE Sense,它是一款配備強(qiáng)大 Nordic nRF52840 MCU 的微型微控制器,采用藍(lán)牙 5.0 模塊設(shè)計(jì),圍繞 32 位 ARM? Cortex?-M4 CPU 構(gòu)建。它有 6 Axis IMU,用于預(yù)測(cè)諸如休息、步行和跑步等活動(dòng)。tinyML 模型根據(jù)來(lái)自 3 Axis IMU 的數(shù)據(jù)預(yù)測(cè)活動(dòng)。
隨附的移動(dòng)應(yīng)用程序通過(guò)藍(lán)牙連接到設(shè)備,微控制器每分鐘發(fā)送一次預(yù)測(cè)數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)在移動(dòng)本地存儲(chǔ)上并繪制在圖表上以提供有意義的洞察力。
從 XIAO 開(kāi)始構(gòu)建
在開(kāi)始使用 XIAO 編程之前,您需要安裝板固件。最好的資料來(lái)源是wiki ,你可以在上面得到逐步的指導(dǎo),以設(shè)置您的 Arduino IDE。
EI Blue - 通過(guò)藍(lán)牙收集數(shù)據(jù)
對(duì)于任何機(jī)器學(xué)習(xí)項(xiàng)目,數(shù)據(jù)收集都是非常重要的部分。為了捕捉更準(zhǔn)確的數(shù)據(jù),我必須在我的狗戴著項(xiàng)圈時(shí)收集數(shù)據(jù),這意味著我無(wú)法收集通過(guò) USB 線將 XIAO BLE Sense 連接到計(jì)算機(jī)的數(shù)據(jù)。因此,我創(chuàng)建了一個(gè)名為 EI Blue 的移動(dòng)應(yīng)用程序,使用它從 XIAO 無(wú)線收集數(shù)據(jù)。該應(yīng)用程序?qū)⒓铀俣扔?jì)數(shù)據(jù)直接發(fā)送到 Edge Impulse 工作室。
該應(yīng)用程序非常易于使用。您需要將固件內(nèi)核上傳到您的XIAO,掃描二維碼在應(yīng)用程序上配置項(xiàng)目并開(kāi)始采樣。
您應(yīng)該在 Edge Impulse Studio 上看到如下數(shù)據(jù)。我收集了5s樣本。為穩(wěn)健的 ML 模型收集盡可能多的數(shù)據(jù)。我已經(jīng)收集了大約 6 分鐘的數(shù)據(jù)以開(kāi)始使用,并且隨著時(shí)間的推移將繼續(xù)收集更多數(shù)據(jù)。
創(chuàng)造行為
您可以在此處定義輸入數(shù)據(jù)、要用于模型的任何數(shù)字信號(hào)處理和神經(jīng)網(wǎng)絡(luò)。
如您所知,加速度計(jì)數(shù)據(jù)基本上是時(shí)間序列原始數(shù)據(jù)。我選擇了頻率 = 50Hz,這意味著每秒將有 50 個(gè)加速度計(jì)數(shù)據(jù)讀數(shù),間隔為 1000/50=200 毫秒。
我選擇了光譜分析作為我的處理模塊,因?yàn)樗梢院芎玫嘏c加速度計(jì)數(shù)據(jù)一起提取有意義的特征。
在光譜分析頁(yè)面上,確保選中“計(jì)算特征重要性”,這將根據(jù)您的數(shù)據(jù)指示哪些特征很重要。例如,如您在上圖中所見(jiàn),“accX Spectral Power”具有最高的重要性,因?yàn)槲矣行菹ⅰ⒉叫泻团懿降臄?shù)據(jù),其中 X 軸變化很大并進(jìn)行了分離。
我在模型測(cè)試期間獲得了 90% 的準(zhǔn)確率但請(qǐng)記住,這是一個(gè)概念證明,我只從我的狗那里收集數(shù)據(jù)。理想情況下,我應(yīng)該收集來(lái)自不同犬種的數(shù)據(jù),這將增加數(shù)據(jù)集中的多樣性并使模型變得健壯。但就目前而言,它解決了目的。
完成后,下載 Arduino 庫(kù)并添加到 Arduino IDE。然后上傳XIAO_BLE_Pet_Activity.ino程序到XIAO BLE Sense。
為 iOS 構(gòu)建移動(dòng)應(yīng)用程序
移動(dòng)應(yīng)用程序是用 Flutter 編寫(xiě)的。所以你需要安裝顫振。我強(qiáng)烈建議使用 Flutter 配置 VS Code,這使得在 flutter/dart 中編寫(xiě)代碼變得非常容易。按照此鏈接開(kāi)始從安裝到編寫(xiě)第一個(gè) Flutter 應(yīng)用程序的 Flutter。
安裝和配置所有軟件后,克隆此repo 。
我已經(jīng)為 iOS 構(gòu)建了該應(yīng)用程序,因?yàn)槲椰F(xiàn)在沒(méi)有任何 Android 設(shè)備。但是 Flutter 是一個(gè)混合移動(dòng)框架,這意味著相同的代碼也應(yīng)該適用于 Android 應(yīng)用程序。
要為 iOS 構(gòu)建,請(qǐng)從項(xiàng)目文件夾的根目錄運(yùn)行以下命令。
open ios/Runner.xcworkspace/
之后就會(huì)打開(kāi) Xcode,你就可以使用您的配置文件簽署應(yīng)用程序并在您的手機(jī)上運(yùn)行,到此一切準(zhǔn)備工作就完成了。
-
微控制器
+關(guān)注
關(guān)注
48文章
7552瀏覽量
151426 -
追蹤器
+關(guān)注
關(guān)注
0文章
171瀏覽量
25710
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論