03.02 「开箱」VIA Pixetto 视觉感测器的软硬件开发工具

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 开发工具

一起Blink、Blink吧!

我们在离线 Blockly 版的 Pixetto Junior 上以 Arduino 界最具盛名的 Blink(让板载在 D13 脚位上的 SMD LED 不停闪烁)来测式与展示 Pixetto 在 Arduino Nano 开发板上的控制吧!

1.连接 Nano:按下左上角的「Not Connected」后让 Junior 通过 UART 和 Nano 相接。

连接 Junior 和 Nano

2.拉 Blink 积木:拉出控制 D13 LED 闪烁的程序积木,以便让 Junior 在右侧的小视窗内自动产生对应的 Arduino 代码。

编写 Blink 积木程序

3.上传 Arduino 程序:由于 2、3 版的 Junior 还不认识 Nano,我们必须回到 Arduino IDE 将代码上传至 Nano,如下图所示;其中,读者需要先按照 Arduino Nano 操作手册的说明在 Windows 上预先挂载 Nano 驱动程序,并且在 Arduino IDE 上设定开发板型号与 COM。

在 Arduino IDE 上烧录 Blink


Pixetto教学手册(https://mls.pixetto.ai)


Pixetto教学手册(https://mls.pixetto.ai)