WindowsでM5stack UnitV AI cameraを使う備忘録 

こんにちは　たけちぬ＠takechinu3　です。　
画像認識に興味を持ちM5Stack社が2020年2月に発売したUnitV AI Cameraを入手しました。

早速、AIで物体検知してみようとしたですが、この商品すぐに使えません。特有の設定が必要です。
（ネット情報を検索すると、Macユーザー向けに以下のものが上位にきます。）
　　・「MacでM5 Unit Vを使う備忘録」｜RoboTakaoさん
　　　　http://blog.robotakao.jp/blog-entry-396.html
　　・「UnitV AI Cameraの使い方」｜Fusic Tech Blog
　　　　　　https://tech.fusic.co.jp/posts/2020-05-11-unitv-ai-camera/?fbclid=IwAR1bl5QRsLXTo9bjLPD7UgvXmguPZGHwAFdI5lYgx87eYYhJe_zI0QvUUzA
M5stack、M5stickCとかと違って初めての用語が多くてとっつきにくいです。
Windowsユーザーのサイトを見つけるのに苦労しましたので備忘録的にまとめておこうと思います。 記事内容・リンクは2020/10/24時点です。【2020･10･25追記】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
◇公式サイト　https://docs.m5stack.com/#/en/unit/unitv?id=sd-card-test

設定のためのリンク先と商品スペックなどが記載されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/5daf0b08-97bb-1025-d8fd-b9d309b3c30f.png)

＜設定のためのリンク先＞
Quick-start（クイックスタート）
V-Function

＜商品＞
Description（商品概要）
Product Features（特徴）
Include（付属品）
Applications（）
Specification（仕様）

＜他＞
SD card test（SDカードの相性）
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
このサイトではQuick-start（クイックスタート）をみます。
以下のようにV-Function、V-training、Maixpyの３つが出できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/288bd056-9b3c-6249-ee89-2691b7c2a4cb.png)

上記ネット情報では、”基本的にクイックスタートに従います”と
あいまいに記載されています。（のちほど理由がわかりました）
左からクリックしたらいいのかなと思って実際そうすると
V-Functionのページにとんで迷い子になりました。

初期設定で認識すべきこと
あたりまえのことなんですが
　UNIT-VはKendryteK210を搭載した新しいAIカメラです。
　M5とは違う特別な設定をしなければいけない
ということ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/98193d1a-4074-353d-ba9b-712df03014ef.png)

UnitV Maixpy Quick Startのページへ
https://docs.m5stack.com/#/en/quick_start/unitv/unitv_quick_start_maixpy

maixpyの設定が始まるのかと思いきや、設定手段はいろいろ書いてあって
・EasyLoader（Windows）

・Firmware
　　Windowsユーザ－　：　Kflash_GUIをインストールし、これを使って書き込む
　　Macユーザー（＝For users who are used to command line operation）
　　　：kflash.pyをインストールし、コマンド指令を使って書き込む
　　
・Serial-Tool
　　シリアル関係はPuppyというツールがあるようですが、インストールには関係なし。
・Edit and Run the Code
・MaixPy IDE
　　ベースのファームウェアやFirmwareLISTは
　　MicroPython環境でのプログラミングで書かれているので
　　修正必要な場合はインストールします。
    【2020･10･25追記】インストール時に必要。あとでダウンロード先説明します。
　　　　　　　　PCと接続した状態で起動するかどうかチェックするのに使用します
・WS2812
　　ファームウェアには、WS2812 RGBLEDドライバーライブラリが組み込まれています。

ではKflash_GUIでのインストール方法　　　　
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/c3c590b1-71c8-74e1-02ef-682c4b9ac847.png)

７ｚファイル（kflash_gui_v1.5.3_windows.7z）と
ファームエアM5StickV_Firmware_v5.1.2.kfpkgがダウンロードされていました。
↓
７ｚ圧縮ファイルの方を解凍する
↓
PCとUNITVをUSBケーブルで接続したら
解凍ﾌｧｲﾙﾎﾙﾀﾞの中のフラッシュツールKflash_GUIを起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/fd48429d-81fe-bc5c-f684-b35769e0a072.png)
↓
１）OPEN FILE　をクリックし、ダウンロードにある
　　　ファームエアM5StickV_Firmware_v5.1.2.kfpkg
　　を選択する
２）BOARDにはUnitVが選択肢に無いのでM5STICKVで設定
３）PC接続USBに合わせてPortを選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/17c76b98-279c-0565-d3b4-26444ca44ef1.png)

Downloadボタンでダウンロード開始
緑バーが進行状態を示し、以下の画面で完了

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/2e01c4e9-2738-7950-6748-5e82229bbdda.png)




次に

V-Functionファームウェア群には以下のようなものがあり
FirmwareLISTとして掲載時では以下のようなものがあります。
使いたいものを選ぶ必要があります。

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/a79c8506-90bd-70e7-23ee-4e8e0f6c5815.png)

・Motion detect 
・Target Trace
・Color Trace 
・Face detect 
・QRCODE
・BarCode
・DatamatrixCode
・ApriltagCode
・Tag Reader 
・Line Tracker

個々にリンクがあるのではなく、M5Burnerと呼ばれる窓口アプリを使っています。
使用環境(Win、Mac、Linux）に合わせてダウンロードし、解凍してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/f05644cd-1f66-a87a-1ffe-e1e09200811e.png)

、左側でM5stickV、UNitVなどVｰseries商品を選ぶと使えるもの出てきます。
　使いたいもの例えばobjectTrackerを選びBURNを押すと
　UnitVへのダウンロードが始まります。成功と出れば完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/a7c0477c-a1b3-191b-3000-b02df42d644e.png)

MaixPy IDEによるプログラムの実行
MaixPyのインストール
MicropythonをK210上で実行するためにMaixPy IDEをインストールします。
【追記】＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　PC側　win版MaixPy IDE（v0.2.5）と
　　　　UnitV側　M5StickV_Firmware_v5.1.2.kfpkgの
　　　　組合せではうまくいきませんでした。（2020･10･25時点）
　　　　win版MaixPy IDEのバージョンはv0.2.4じゃないとうまくいかないようです。
　
　MaixPy IDE(v0.2.4)のダウンロード
　　dl.sipeed.com社のリンク先　https://dl.sipeed.com/MAIX/MaixPy/ide/
　　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/2f26cd4e-4c5a-9d8f-545b-72b88f10e491.png)
　　こちらではv0.2.4は直接ダウンロードできないです。
　　READMEを見ても私にはたどりつけない。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/7c0549da-d683-6bba-4a9b-078f779faa80.png)

　Sipeed社のWEBサイトで公開されています。
　→ MaixPy IDE - Sipeed share files

　　Windows用、Mac用、Linux用とあります。

Windows maixpy-ide-windows-0.2.4.exe
Mac maixpy-ide-mac-0.2.4.dmg
Linux maixpy-ide-linux-x86_64-0.2.4.run
です。Windows版をダウンロードします。
　http://dl.sipeed.com/MAIX/MaixPy/ide/_/v0.2.4/maixpy-ide-windows-0.2.4.exe
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝　
無事ダウンロードできたら
MaixPy起動
　左下の鎖マークをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/a89dbb6f-43a9-7ecb-bb42-e04406cbd373.png)

helloworld.pyを動かしUnitVにアクセスします。
[ファイル]>[例]>[01-Basics]>[helloworld.py] をクリックして、
helloworld.pyを開きます。
UnitVをUSB接続した状態で、IDEの「接続する」をクリックし、接続します。
（【追記】MaixPy IDE(v0.2.5)だと、ここから先に進めない状態となります。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/2676e261-0b4a-fa08-8cbb-ae3008a094db.png)

【追記】無事に右側にカメラ画像とRGB情報が出ていればOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402809/49d0326c-2de7-d638-c7ba-f0630e115af0.png)

結論）UnitVを使うにはwindowsでも、MaixPy（v0.2.4）の旧バージョンを使うということですね。