M5StickVの初期設定
M5StickVはM5Stackの小型版(M5Stick)の、さらにAIエンジン搭載のもの、らしい。情報がなく、いろいろ苦労する。
Firmwareの書き込み
pip install kflushでCUIツールをインストール
電源を落とし、一旦コネクタを抜いたあと、正面のAボタンを押しながらコネクタを差し込んでboot.pyの自動起動を回避。
以下のcommandで書き込んだ。
code:shell
kflash -B M5StickV -p /dev/cu.usbserial-B55A3DF445 -b 115200 ~/Downloads/m5stickV_Firmware_0630Fixed.kfpkg
-Bには機種名を入れるのだが、M5StickVがどれに該当するのかわからず、適当に書いたら自動認識(goE/kd233)してくれた。
Serial TerminalからのHello worldの実行は問題なかったが、MaiXPy IDEからのコードの書きこみはまだうまくいかない。もしかして、IDEで書いたあと、一旦セーブして、あらためて転送しないといけない?
uPyLoaderの意義もよくわからない。MaiXPy IDEのtransferは機能しないのだが、uPyLoaderを一旦実行して、__upload.pyが生成したら問題は解決する、のか?
とりあえず書いてある通りにやってみる。uPyLoaderをダウンロードし、実行。M5StickVにはじめから書きこまれているファイルをMacに落として中身を見てようやく理解。boot.pyが起動時に実行されているようだ。つまり、これを書きかえてやれば、何でもできる、と。
処理の様子を見る限り、MicroPythonでもそれなりの速度が出ている。また、kpuを利用したければ、MicroPythonを使わざるをえないのだろう。とりあえずIDEは当分使わない予定。
さくっと試しに実行するだけなら、ターミナルでシリアル接続して、直にPython interpreterに書くのがてっとりばやい。
code:shell
% sudo cu -l /dev/cu.usbserial-B55A3DF445 -s 115200
Connected.
open second core...
gc heap=0x80184b70-0x80204b70
MaixPy sd_init | SD_CMD0 is FF __ __ _____ __ __ _____ __ __
| \/ | /\ |_ _| \ \ / / | __ \ \ \ / /
| \ / | / \ | | \ V / | |__) | \ \_/ /
| |\/| | / /\ \ | | > < | ___/ \ /
| | | | / ____ \ _| |_ / . \ | | | |
|_| |_| /_/ \_\ |_____| /_/ \_\ |_| |_|
init i2c2
MAIXPY: find ov7740 (ここでCtrl-Cを押して強制終了) Traceback (most recent call last):
File "_boot.py", line 38, in <module>
File "./boot.py", line 122, in <module>
NameError: name 'sys' isn't defined
MicroPython v0.3.2-44-ga21a2ba1c-dirty on 2019-06-30; M5StickV with Kendryte-k210
Type "help()" for more information.
>>
>>
今後は、
1. emacsでコーディング
2. uPyLoaderで書き込みboot.pyを上書き
3. 再起動実行
というサイクルで使うのかな。
ToDos
仮に、KPUを使わずにただのビデオカメラとして使うとどれぐらいのfpsを出せるのか。→7fpsぐらい? 大差ない。
シャッターボタンを組みこんで、とりあえず普通のstill cameraにできるか。→できるけど、保存方法がまだ不明。
電池を内蔵しているのでWirelessでは使えるものの、Wifiが搭載されていない。この点はPi Zero (Zero Wではなく)に近い。Groveコネクタを使って、外部と連携させないとただのカメラになってしまう。
KPUの学習をさせる方法を知りたい。
適切な用途。