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