MacでM5 Stick Vのソフト開発できるようになるまで
今回は実家に帰ったのでM5 Stick Vを触ってみることにしました。 なんか場所を変えると普段あんまやれないことをやれたりするじゃないですか。あれです。
M5 Stick Vとは
M5Stick VはAIOT(AI + IoT)カメラです。これだけで顔認識や物体認識などができてしまいます。
https://www.switch-science.com/catalog/5700/
SoCはKendryte社のK210です。 他のM5 Stackと同じのようにArduinoのスケッチ描いて……みたいにはいかない模様。
とりあえず動かす
Quick StartだとEasy Loaderをダウンロードって書いてあるけどWindowsしかないので無視。
次にQuickStartのページから、Kflash_GUIのMac版とfirmwareをダウンロード。
Kflash_GUIを起動したらこんな感じで設定してDownloadをクリック。
firmwareの書き込みが始まります。 うまくいったら"Download Success"というメッセージが出ます。
次にシリアル接続をします。
まずは接続先を確認しましょう。
ターミナルを開き以下のコマンドを実行します。
ls /dev/tty.*
デバイスの一覧が出てきます。
/dev/tty.Bluetooth-Incoming-Port /dev/tty.usbserial-00002014
この中でtty.usbserial-00002014というのがそれっぽいのでこれに接続します。
接続はscreenコマンドを利用します。
インストールされてない場合はhomebrewなどでインストールしてください。
screen /dev/tty.usbserial-00002014 115200
うまく行くとこんな感じになります。
[MAIXPY]Pll0:freq:832000000 [MAIXPY]Pll1:freq:398666666 [MAIXPY]Pll2:freq:45066666 [MAIXPY]cpu:freq:416000000 [MAIXPY]kpu:freq:398666666 [MAIXPY]Flash:0xc8:0x17 open second core... gc heap=0x8016fbe0-0x801efbe0 [MaixPy] init end __ __ _____ __ __ _____ __ __ | \/ | /\ |_ _| \ \ / / | __ \ \ \ / / | \ / | / \ | | \ V / | |__) | \ \_/ / | |\/| | / /\ \ | | > < | ___/ \ / | | | | / ____ \ _| |_ / . \ | | | | |_| |_| /_/ \_\ |_____| /_/ \_\ |_| |_| M5StickV by M5Stack : https://m5stack.com/ M5StickV Wiki : https://docs.m5stack.com Co-op by Sipeed : https://www.sipeed.com [MAIXPY]: result = 0 [MAIXPY]: numchannels = 1 [MAIXPY]: samplerate = 44100 [MAIXPY]: byterate = 88200 [MAIXPY]: blockalign = 2 [MAIXPY]: bitspersample = 16 [MAIXPY]: datasize = 158760 init i2c2 [MAIXPY]: find ov7740
ここままだとデフォルトのコードが実行された状態なので、Ctrl+Cでデフォルトコードを停止させます。
すると
">>>"
というマークが出てコマンドを入力できる状態になるのでコマンドを入力します。
import lcd lcd.init() lcd.draw_string(100, 100, "hello world", lcd.RED, lcd.BLACK)
LCDにhello worldと出てきたら成功。
終了したい場合はCtrl+A, K(controlキーを押しながらaとdを順番に押す)です。
ここまでで、一応M5 StickVのプログラミングができるようになりましたが、これだけだと再起動するたびにプログラムが消えてしまうので、ファイルをアップロードしてプログラムを書き換えられるようにします。
プログラムを書き換える
uPyLoaderの準備
uPyLoaderをダウンロードします。
https://github.com/BetaRavener/uPyLoader/releases/tag/v0.1.3
ちなみに最新は0.1.4だが、mac版がないので一つ古いバージョンをダウンロードしました。
uPyLoaderを開きます。
Connectionを先ほど開いたシリアルポートを選択します。
M5 Stickが立ち上がる時にLCD隣の大きなボタンを押しながら起動します。
ちなみにM5 Stickの電源を落とすのは、SDカードリーダ隣のボタンを6秒長押しです。
USBで接続されていれば勝手に再起動します。
再起動した状態でuPyLoaderのConnectボタンを押します。
うまくいけば右側にファイルのリストが表示されます。
File -> Init transfer files
を選択するとファイル転送の準備ができます。
バックアップ
念の為M5 StickV内のファイルはバックアップを取っておきましょう。
boot.pyを上書きしても削除したら復活するらしいのでしなくても良さそう。
右側のリストからboot.pyを選択します。PC Pathを任意のディレクトリにします。
PC Pathの右隣にあるTransferボタン(左ではないので注意)を押すと設定したディレクトリにファイルが保存されます。
プログラムの書き換え
boot.pyを書き換えます。
boot.pyを作成し、適当なプログラムを作成します。
書き込めるかの確認だけなので先ほどと同じhello worldを表示するプログラムを作りました。
import lcd lcd.init() lcd.draw_string(100, 100, "hello world", lcd.RED, lcd.BLACK)
uPyLoaderの左側のパネルから作成したboot.pyを選択しMCU name:右隣にあるTransferボタンを押すとファイルが転送されます。
m5Stickを再起動すると起動後hello worldが表示されます。
この要領でファイルを書き換えればM5 StickVでいろいろできるようになります。
以上、MacでM5 StickVで開発できるようになるまででした。
素敵なM5 StickVライフを!