TinyML 是指在 Arduino 這類 MCU 板子上也能做到簡(jiǎn)易的神經(jīng)網(wǎng)絡(luò)推論,讓基本的傳感器數(shù)據(jù)分析也能透過機(jī)器學(xué)習(xí)來(lái)找到更多有趣的信息。
Wio Terminal 就是在這股浪潮下所產(chǎn)生的一個(gè)產(chǎn)品,除了使用 ATSAMD51 核心并搭配 Realtek RTL8720DN 的 Wi-Fi / 藍(lán)牙芯片,還支持Grove 系列傳感器。
最重要的當(dāng)然是本文核心– TinyML,可將所收集到的數(shù)據(jù)透過 Edge Impulse 網(wǎng)站來(lái)進(jìn)行一條龍的處理、訓(xùn)練與測(cè)試流程,再把神經(jīng)網(wǎng)絡(luò)檔案導(dǎo)出到 Wio Terminal 上來(lái)執(zhí)行,過程不能說(shuō)超簡(jiǎn)單,但確實(shí)已經(jīng)方便非常多了!
本文要介紹使用 Wio Termianl 所提供的好用韌體,來(lái)收集咖啡、酒精的氣味資料。非常有趣的題目,您一定會(huì)喜歡的喔!
注:本文將使用 Grove –多通道氣體傳感器 V2,直接接上 Wio Terminal 的任一個(gè) Grove 接口就好。
Grove – 多通道氣體傳感器 V2
Wio Termina嗅覺鼻子實(shí)驗(yàn)套件
Wio Terminal 的基本環(huán)境設(shè)定
關(guān)于 Wio Terminal 的基本環(huán)境設(shè)定,請(qǐng)參考之前的文章。我也錄制了影片帶您一步步操作:
不過呢,這次就不用自己再寫 Arduino 的上傳程序了,直接使用現(xiàn)成的 Firmware。
請(qǐng)把 Wio Terminal 接上計(jì)算機(jī),再把它的開關(guān)往 use port 的方向拉兩下,它會(huì)變成一個(gè) Arduino 的磁盤,請(qǐng)把 .uf2 檔丟進(jìn)去就會(huì)自動(dòng)更新這個(gè)韌體,之后再重新插拔 usb 線讓他重開機(jī)就好了,簡(jiǎn)單~
開啟 cmd 或 anaconda prompt,開始上傳數(shù)據(jù) (如果還沒有安裝 node.js 的畫,請(qǐng)安裝 node.js v14 以上) :
連上 Edge Impulse
先安裝 Edge Impulse cli 工具:
npm install -g edge-impulse-cli
接著輸入以下指令來(lái)登入 Edge Impulse 網(wǎng)站 (當(dāng)然您需要先注冊(cè)賬號(hào),并在網(wǎng)站上建立一個(gè)項(xiàng)目):
edge-impulse-daemon --clean
請(qǐng)依序輸入賬號(hào)密碼、命名 WioTerminal 裝置 (如圖中的 wio_nose)、、選擇項(xiàng)目 (我也取名為 wio_nose),最后看到“[WS ] Go to ”,就可以回到 Edge Impulse 網(wǎng)站了。
Edge Impulse 收集資料
請(qǐng)確認(rèn)氣體傳感器已經(jīng)接好,并開啟 Edge Impulse 網(wǎng)站,進(jìn)入您所建立的項(xiàng)目,點(diǎn)選左側(cè)的 Data acquisition,先看到右側(cè)的 Sensor,從下拉式選單可以看到wio 內(nèi)建與常用的傳感器只要接好就好。
先輸入 Label 為你所定義的類別,在此有以下三個(gè)類別:
?coffee: 泡一杯香濃的咖啡吧~
?75_alcohol: 容易取得的 75% 洗手酒精
?surrounding:遠(yuǎn)離以上兩種氣味的環(huán)境將傳感器置于該情境中,例如咖啡杯上方、噴了酒精的衛(wèi)生紙,按下 Start sampling,在此我們把 Sample length (ms) 樣本長(zhǎng)度設(shè)定為 10000 ms,因?yàn)闅馕稌?huì)延續(xù)一段時(shí)間。
收集完三類別的數(shù)據(jù)如下圖,可以看到四軸的數(shù)據(jù)變化:
coffee 的資料:
75_alcohol 的資料:
Surrounding:遠(yuǎn)離咖啡與酒精的環(huán)境氣味數(shù)據(jù)
建立 Impulse 來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)
詳細(xì)設(shè)定請(qǐng)參考上一篇,請(qǐng)看我的 Impulse 與神經(jīng)網(wǎng)絡(luò)設(shè)定:
使用以下設(shè)定來(lái)訓(xùn)練,準(zhǔn)確度有到 100% !別高興太早,這應(yīng)該只能說(shuō)這三種味道的差異本來(lái)就很大,您之后可以試試看去分析紹興酒與高粱酒的差別,挑戰(zhàn)性應(yīng)該很高!
使用 EON Tuner 優(yōu)化
EON Tuner 可針對(duì)各平臺(tái)來(lái)優(yōu)化,整個(gè)流程需要數(shù)小時(shí),不過這期間您還是可以進(jìn)行其他操作,請(qǐng)參考以下設(shè)定來(lái)設(shè)定 target:
?Dataset category: continous motion (震動(dòng)、氣味等時(shí)間較久的訊號(hào)),如果是上一篇的手勢(shì),請(qǐng)改選 motion events
?Target device:Wio Terminal
?Time per inference: 2000 ms (這里可以自由設(shè)定,氣味的話就久一點(diǎn)吧)
審核編輯:劉清
-
mcu
+關(guān)注
關(guān)注
146文章
17173瀏覽量
351624 -
氣體傳感器
+關(guān)注
關(guān)注
14文章
547瀏覽量
37721 -
CMD命令
+關(guān)注
關(guān)注
0文章
28瀏覽量
8323 -
TinyML
+關(guān)注
關(guān)注
0文章
42瀏覽量
1250
原文標(biāo)題:TinyML – 使用Wio Terminal 與氣體傳感器收集咖啡氣味數(shù)據(jù)!
文章出處:【微信號(hào):易心Microbit編程,微信公眾號(hào):易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論