M5STICKのCとVの初期設定

# M5STICKのVとCを購入。

2月某日、たまたま在庫があるのを見かけたので即ポチ。

ということで、到着。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">M5のSTICKのVとC。<br>Vも小さいんだけど、Cが笑えるほど小さい。 <a href="https://t.co/7ZHzQ1nqgJ">pic.twitter.com/7ZHzQ1nqgJ</a></p>&mdash; なかまえ (@ryo_naka) <a href="https://twitter.com/ryo_naka/status/1231085129734295552?ref_src=twsrc%5Etfw">February 22, 2020</a></blockquote> 

小さい。小さいというのは知っていたし、見たこともあるのだが
実際に自分の家でみてみると「小さい」という感想がまず最初に出てくる。



# 初期動作確認
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と接続して、実行。

<img width="200" alt="2020-02-22_14h39_53.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/4036ea5d-00ea-4d96-8eb6-dddb5e481965.png">
が、ポートを認識してくれない。。。
デバイスマネージャを確認してみても、認識してなさそうなので、ドライバーのアップデート。
Windowsごと再起動してちょいびっくり。

改めて実行。
<img width="286" alt="2020-02-22_14h58_46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/69164573-999a-ffe1-ac98-90da5d84d40e.png">
<img width="734" alt="2020-02-22_14h55_08.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/1474e7ae-7aa7-5cfd-d7bb-4681aced7fec.png">

ポートも認識されているので、Burn。ちゃんと動いている。
数分で完了。


### シリアル通信で確認
Putty とかを使おうぜと書いてあるけど、TeraTermでOK
ポートを指定して接続。
ボーレートを115200にするのを忘れずに。
<img width="494" alt="2020-02-22_15h00_52.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/d3c68260-c8c5-8b4b-f481-892aa6a2894e.png">

この状態でカメラを人に向けると認識した値が表示される。
<img width="494" alt="2020-02-22_15h13_09.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/67a20e05-5f2c-375d-7fc9-a75f39a1b518.png">


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したら実行してポチポチと。
特段悩むポイントは無し。

起動するとこんな感じ。
<img width="955" alt="2020-02-22_15h34_30.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/f522c320-076b-e1be-6035-1ade012afe1d.png">


「ツール」メニューから「Select Board」を選び「M5StickV」を選択し、左下の緑色のリンクボタンっぽいヤツをクリック。
※TeraTermで接続したままだと、こっちで接続できないので消す。
<img width="460" alt="2020-02-22_15h35_24.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/d14b0da7-5e3c-f7f1-766d-2aae6204551c.png">


接続できるとリンクボタンっぽいヤツがこんな感じになる
<img width="64" alt="2020-02-22_15h37_13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/5ff7f1a4-d969-0c76-318e-7442421e27a5.png">


この状態で右下の＞を押下すると表示されているコードを転送？実行？できる。
サンプルコードは以下。

```
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.
```

カメラ（イメージセンサ）で画像を取得して、それを画面（モニタ）に表示している
って感じかな。
ただ、これで実行してみると、モニタ上では逆さまで表示されるのが謎。
<img width="955" alt="2020-02-22_15h42_20.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/deac74e1-d03d-4c29-291c-8341dd2723a2.png">




ということで公式のクイックスタート分について終了。
最後で画像が反転されちゃってたのがなんか変な感じがするけど、とりあえずは動きそうかな。
初期動作確認としては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」を選択しろと記載されているが、
そんなものはないやんけ！
<img width="710" alt="2020-02-22_18h59_19.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/1e46f9d9-e828-3b98-1fd2-23dc62c52ad3.png">


と思ったら方法がちょっと違ってた。
最新っぽいUIFlow-v1.4.4をDLしたら、Seriesが表示され、そこでStickCが選択できるように。
<img width="710" alt="2020-02-22_19h07_57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/036c6639-f847-7342-1607-d3095b47356c.png">

ということでこれでBurn


### WiFi セッティング
USB接続を外して、電源再起動。
画面にUIFlowと一瞬表示された後にWiFiのSSIDが表示されるので、これに接続
その状態で、192.168.4.1にアクセスすると端末のWiFi情報を設定できるので、接続したい情報を設定。
2.4G帯しか選択できない？

接続に成功したら画面表示が変わりAPIKEYが表示される
ここについては特段悩むことは無し。

### UIFlowでアクセス
URL:flow.m5stack.com

APIKEYや言語、デバイスを設定して、サンプルコーディング。
※サンプルコーディングしてみるとわかるが、日本語表記が変な感じなので、英語の方がいいかもしれない。
「Loop」が「ずっと」とかになっているのでよくわからなかった。
<img width="960" alt="2020-02-22_19h26_43.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/e1890a92-d268-08f9-a13e-49bf0cdf6e93.png">


とりあえずこれでこっちもクイックスタート分については終了。
USBモードにもできるみたいなので、その辺はおいおい。


# まとめ
ちょいちょい悩むところはあったが、全体的にはかなり簡単だなという印象。
これでいろいろと遊べるのだから、大したものだ。







<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>