【短文】JACDAC + ML4F — — STEM 教育界的新 AI/TinyML 神器?

Photo by Andrea De Santis on Unsplash

這篇不是什麼教學文;只是最近在國外看到一些東西,但又幾乎沒人討論,覺得很想提一下。

一陣子前我發現微軟的 MakeCode Maker 開始有一些更新。MakeCode Maker 是微軟用 TypeScript 寫成的圖形化教育編輯器,基本上就是從 micro:bit 的版本衍生而來,只是很長一段時間都停在很原始的階段,而且支援的也多半是 Adafruit、Sparkfun 這些洋人公司的產品,所以實用性不怎麼高。

不過,最近該站出現了一些新板子:

JACDAC 是微軟開發的一個硬體通訊協定,可以用插拔的方式連接裝置。你可以查到幾年前就有人已經在針對 MakeCode Arcade 設計的可程式化遊戲機上實作。不過,顯然微軟也將要推出自己的主控制板了,有 ESP32、RP2040、STM32F4 和 nRF52833 四種處理器。(顯然 ESP32 還可以拿來連接微軟 Azure 服務。)

以前在兒童補教業工作時,小朋友最麻煩的就是接線老是接不好。這種保證不接歪的接頭會是 STEM 創客的救星嗎?

還有哪種板子使用 nRF52833 呢?micro:bit V2。

看起來就是 micro:bit 加上轉接板。所以…不知道是不是有受到 Seeedstudio 的 Grove 接口的影響?但 PCB 起碼做得好看一點吧?

從它有提供跟 Node.js 與 JavaScript/TypeScript、還有 JupyterLab notebooks 整合的機制看來,我猜 JACDAC 可能有點類似 Johnny Five,是一個要把裝置連接電腦、以便即時控制這些周邊的協定,至少是在測試或監測數據時需要如此(你還是可以將程式燒錄在板子上獨立運作)。你也可以用前端框架寫一個 App 介面,把你的裝置整合進去。

在 2019 年的影片中,微軟示範過透過 3.5mm 聲音端子來使用 JACDAC 協定

不過,在這些更新當中,最引人注意的或許是一個 extension(可在 MakeCode 匯入的套件),背後連結到一個玩意 ML4F — — 一個能將 Keras 神經網路模型轉換到 Cortex-M4F 處理器版本的函式庫。而且我寫這篇時,它支援 Conv1D、Conv2D、MaxPooling1D、MaxPooling2D、Dense 層,這些就足以應用在影像或聲音辨識方面了。

目前你可以在 MakeCode 編輯器匯入 ML4F extension
如果去點 ML4F 積木區的 Import Model,會出現這個畫面要你丟 Tensorflow.js 模型檔給它

(它讀的是 Tensorflow.js 格式,所以或許可以用 Teachable Machine V2 來產生影像或聲音辨識模型?)

當 micro:bit V2 在 2020 年秋推出時,官方的宣傳詞之一就提到 2021 年會替它推出 AI 工具,而這一年算算也快過去了。micro:bit V2 的新處理器 nRF52833 剛好就是 Cortex-M4F 的一員,而且還配有麥克風和三軸加速儀。所以,我想這就是微軟準備做的事:打造一個以 JACDAC 生態系為主、將各個 MakeCode 編輯器串聯起來(畢竟 Jacdac Services for MakeCode 都做好了)的 STEM 教育工具、當中主打使用 AI 與 IoT、並與前端網站連結的可能性。

在最理想的態下,只要拉拉積木程式就能搞 AI(而且是真正的 TinyML,還不是 Scratch 那種外掛式 AI),我想所有兒童補教業者應該都會樂到發瘋,家長則會更加焦慮 XD。只是這套系統能否普及,或許還取決於 AI 模型的訓練容易度,以及這種特規硬體的成本/第三方廠商願意配合的程度(特別是在亞洲)。它將來會帶來什麼樣的 STEM 教育風雨,仍值得後續觀望。

Photo by Luke Stackpoole on Unsplash

I just like to write weird stuff that have very little to do with my actual work. My normal blog is https://krantasblog.blogspot.com.