【開箱文】VIA Pixetto視覺感測器的軟硬體開發工具

作者/圖片:Ted Lee

VIA Tech(威盛電子)新推出的 VTS-8787 智慧感測器(Smart Sensor)(文後皆用 8787 稱之)是一款內建 AI 類神經網路(Neural Networks)的攝影機模組(module),它利用板載的攝影機鏡頭,將擷獲的影像經過處理後透過 micro USB 轉 USB 接頭和電腦相接,那當然我們也可以使用 UART(Universal Asynchronous Receiver/Transmitter)的非同步傳輸與 Arduino 各系列相容板的各種開發板(development board)做對接處理。

由於官方並未公開 8787 的硬體規格,以下筆者僅就板上可視、可查的八大要件稍加說明:

VIA Pixetto 視覺感測器正面

1. 攝影鏡頭

2. 4 腳 JST(Japan Solderless Terminal)公座接頭或稱 Grove。接線和接腳的連接方式為:黃接 Rx、白接 Tx、紅接+、黑接-

3. micro USB 接頭:亦可使用 Andoid 手機或平板 4 或 5 線的充電/傳輸線

4. SpiFlash:串列存取(Serial Peripheral Interface,SPI)的快閃記憶體;筆者從此 IC 的型號FP1928 SF1GQ4UBY16 HFW240 查不到相關資料,個人猜測為 Gigadevice(北京兆易創新科技公司)所生廠的快閃記憶體IC,僅供參考(若有謬誤,尚請包涵與指正)

5. 聲音感測器(sound sensor):這是一般常見的麥克風(microphone,mic),而 8787 搭載了這個元件很容易推測出它能利用內部的神經網路來做語音處理(speech processing)

VIA Pixetto 視覺感測器背面

6. WiFi 模組:Hisilicon(海思)的 Hi 1131IC,4G 單頻、單通道

7. IP 攝影機晶片:Hi 3518E。720p IP-Cam SoC

8. SD 卡插槽

9. CPU:8787 應該會有一個強而有力的心臟來處理大量影像的數值運算因此,這部份就請看官猜猜它座落於8787的何處呢?

軟體開發工具Pixetto

8787 提供的開發工具稱為 Pixetto,它提供 Scratch、Blockly 風格的積木式、 Arduino 的 C/C++ 以及 Python 語法式等四種程式開發語言供使用者挑選。

離線(offline)/單機(standalone)版的讀者可從線上教學手冊中軟體設置一節下載單機離線 Windows版的 Pixetto Junior,安裝後就可以用 Blockly 的方式來開發 8787 的機電整合電控程式,如下圖所示:

8787 開發工具 Pixetto Junior 的介面

本工具採 Blockly 積木和 Arduino 語法雙併設計,當我們從最左邊的積木抽屜拉一塊積木時,最右邊的小視窗會自動產生(Auto Generate)對應的指令語法;此外,我們也可以切換到手動編輯模式(Manual Edit)自行增刪指令以完成 Arduino 程式碼。

另一方面,我們可以將 8787 視為 Arduino 的擴充板(extension board),因此只要掛上 Smart Sensor 函式庫(從線上教學手冊軟體設置一節第三項的 Arduino 庫文件連結下載後匯入(import)到 Arduino IDE 內),Arduino IDE就可以立即使用,但前提是必須請先掛上驅動程式(driver)才能讓電腦認得 Nano(可參考 Arduino Nano操作手冊)。

線上(online)版的 Pixetto 還提供了一套架在台灣主機上的線上版機器學習加速平台可以做連線編輯程式,如下圖所示:

Pixetto 線上版

  • Scratch 風格的積木式開發工具:由「Blocks」點入,它的操作方法類似於 Scratch for Arduino(S4A),也就是結合 Scratch 與 Arduino 開發板的軟硬整合開發介面,如下圖所示:

軟硬體整合的 Scratch 風格開發工具

  • Jupyter Notebook 風格的 Pyhton 語法式開發工具:由「Python」點入後,可以用直譯(interpreter)或編譯(compiler)兩種方式來編寫 8787 的控制程式,如下圖所示:

Jupiter Notebook 風格的 Pyhton 開發工具

一起BlinkBlink吧!

我們在離線 Blockly 版的 Pixetto Junior 上以 Arduino 界最具盛名的 Blink(讓板載在 D13 腳位上的 SMD LED 不停閃爍)來測式與展示 Pixetto 在 Arduino Nano 開發板上的控制吧!

  1. 連接 Nano:按下左上角的「Not Connected」後讓 Junior 透過 UART 和 Nano 相接

連接 Junior 和 Nano

  1. 拉 Blink 積木:拉出控制 D13 LED 閃爍的程式積木,以便讓 Junior 在右側的小視窗內自動產生對應的 Arduino 程式碼

撰寫 Blink 積木程式

  1. 上傳 Arduino 程式:由於 2、3 版的 Junior 還認不得 Nano,我們必須回到 Arduino IDE 上將程式碼上傳至 Nano,如下圖所示;其中,讀者需要先照著 Arduino Nano操作手冊的說明在 Windows上預先掛載 Nano 驅動程式,並且在 Arduino IDE 上設定開發板型號與 COM 埠

在 Arduino IDE 上燒錄 Blink

(本文經作者同意轉載自泰布布部落格原文連結;責任編輯:賴佩萱)

Ted Lee

Author: Ted Lee

從工程師轉任中學教師,又為了捍衛教育理念,投身成為 STEAM 教育工作者,自稱「無可救藥的人文教育理想主義者」的李俊德(Ted Lee)。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *