M5STICKのVとCを購入。
2月某日、たまたま在庫があるのを見かけたので即ポチ。
ということで、到着。
M5のSTICKのVとC。
— なかまえ (@ryo_naka) February 22, 2020
Vも小さいんだけど、Cが笑えるほど小さい。 pic.twitter.com/7ZHzQ1nqgJ
小さい。小さいというのは知っていたし、見たこともあるのだが
実際に自分の家でみてみると「小さい」という感想がまず最初に出てくる。
初期動作確認
30日以内なら初期不良交換してくれるみたいなので、とりあえず動作確認
STICK V
参考サイト
https://www.switch-science.com/catalog/5700/
https://docs.m5stack.com/#/en/quick_start/m5stickv/m5stickv_quick_start
https://qiita.com/rhene/items/10ac4238c68e6fe40ba6
ファームウェアの更新
- EasyLoaderをDL
EasyLoader_M5StickV_1022_beta.exe
添付のUSBケーブルでPCと接続して、実行。
が、ポートを認識してくれない。。。 デバイスマネージャを確認してみても、認識してなさそうなので、ドライバーのアップデート。 Windowsごと再起動してちょいびっくり。ポートも認識されているので、Burn。ちゃんと動いている。
数分で完了。
シリアル通信で確認
Putty とかを使おうぜと書いてあるけど、TeraTermでOK
ポートを指定して接続。
ボーレートを115200にするのを忘れずに。
CTRL+Cで入力待ちにできるので、以下を入れてみると
import lcd
lcd.init()
lcd.draw_string(100, 100, "hello world", lcd.RED, lcd.BLACK)
画面に「hello world」が表示される。
わかりやすい。
ただし、これを使うのは扱いにくいのでIDEを使用したほうがいいらしい。
MaixPy IDEを利用
以下からDLできるので、Windows用をDL
https://docs.m5stack.com/#/en/quick_start/m5stickv/m5stickv_quick_start?id=maixpy-ide
DLしたら実行してポチポチと。
特段悩むポイントは無し。
「ツール」メニューから「Select Board」を選び「M5StickV」を選択し、左下の緑色のリンクボタンっぽいヤツをクリック。
※TeraTermで接続したままだと、こっちで接続できないので消す。
この状態で右下の>を押下すると表示されているコードを転送?実行?できる。
サンプルコードは以下。
import sensor, image, time, lcd
lcd.init(freq=15000000)
sensor.reset() # Reset and initialize the sensor. It will
# run automatically, call sensor.run(0) to stop
sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)
sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240)
sensor.skip_frames(time = 2000) # Wait for settings take effect.
clock = time.clock() # Create a clock object to track the FPS.
while(True):
clock.tick() # Update the FPS clock.
img = sensor.snapshot() # Take a picture and return the image.
lcd.display(img) # Display on LCD
print(clock.fps()) # Note: MaixPy's Cam runs about half as fast when connected
# to the IDE. The FPS should increase once disconnected.
カメラ(イメージセンサ)で画像を取得して、それを画面(モニタ)に表示している
って感じかな。
ただ、これで実行してみると、モニタ上では逆さまで表示されるのが謎。
ということで公式のクイックスタート分について終了。
最後で画像が反転されちゃってたのがなんか変な感じがするけど、とりあえずは動きそうかな。
初期動作確認としてはOK・・・なのかな。
STICK C
せっかくなので今まで扱ったことのない「UIFlow」でやってみることにする
参考サイト
https://www.switch-science.com/catalog/5517/
https://docs.m5stack.com/#/ja/quick_start/m5stickc/m5stickc_quick_start
ファームウェアの更新
M5BurnerをDL
※クイックスタートで示しているリンク先は404だったので以下からDL。
とはいえこのリンクも変わるかもしれないのでその場合は探すしかない。。
https://m5stack.com/pages/download
クイックスタートではファームウェアに「UIFlow-vx.x.x-StickC」を選択しろと記載されているが、
そんなものはないやんけ!
と思ったら方法がちょっと違ってた。
最新っぽいUIFlow-v1.4.4をDLしたら、Seriesが表示され、そこでStickCが選択できるように。
ということでこれでBurn
WiFi セッティング
USB接続を外して、電源再起動。
画面にUIFlowと一瞬表示された後にWiFiのSSIDが表示されるので、これに接続
その状態で、192.168.4.1にアクセスすると端末のWiFi情報を設定できるので、接続したい情報を設定。
2.4G帯しか選択できない?
接続に成功したら画面表示が変わりAPIKEYが表示される
ここについては特段悩むことは無し。
UIFlowでアクセス
URL:flow.m5stack.com
APIKEYや言語、デバイスを設定して、サンプルコーディング。
※サンプルコーディングしてみるとわかるが、日本語表記が変な感じなので、英語の方がいいかもしれない。
「Loop」が「ずっと」とかになっているのでよくわからなかった。
とりあえずこれでこっちもクイックスタート分については終了。
USBモードにもできるみたいなので、その辺はおいおい。
まとめ
ちょいちょい悩むところはあったが、全体的にはかなり簡単だなという印象。
これでいろいろと遊べるのだから、大したものだ。