ChromebookでM5Stackを触る

# はじめに
学生向けM5Stackを見せる機会ができたので、学校で生徒が使っているChromebookでM5Stackのプログラムを作れるようにするための環境構築的なメモです。
本当はArduino IDE使ってChromebookのみで完結させたかったんですが、USB接続とかアプリのインストールなどセキュリティ関係の制限等など制約がありそうで、無線＋ブラウザで開発できるUIFlowにしました。(そもそもLinuxのインストールも制限されている可能性もあり。。。)
ただそうなると、最初のM5Stackのファームウェア書き換えでどうしてもWindows10のPCが必要だったのがネック。。。とはいえ、初回のファームウェアの書き換えされ乗り切ればこれが一番簡単な気がする。

ChromebookのLinux環境が使える場合はChromebookだけで完結できます。
参考：[ChromebookだけでM5StackのUIFlowを使えるようにする](https://qiita.com/t-sho/items/a3ed0ab4579c56d15594)

# 準備するもの
* M5Stack Basic
* Chromebook
* Windows10のPC(初回の準備で使います)

# 準備（最初の1回だけ）
M5StackはそのままだとUIFlowが使えないため、Windows10のPCを使ってM5Stackのファームウェアを書き換える必要があります。
1. ドライバーのダウンロード
    [M5Stackのダウンロードサイト](https://docs.m5stack.com/en/download)の中段くらいにある「CP210x_VCP_Windows」をダウンロードします。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/ef5c8487-ce29-410c-89d0-30ad11a24e6e.png)


1. ドライバーをインストールする
    ダウンロードした「CP210xVCPInstaller_x64_v6.7.0.0.exe」を実行してインストールを行います。特に何も考えずに画面の表示に従って「Install」をクリックすれば完了するかと思います。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/9bb27d40-f99d-826e-2d4e-10e9919ebe28.png)


1. Windows10のPCをM5StackをUSBで接続する
    接続すると給電されて書き込み済みのプログラムが起動するかもしれませんが無視してよいです。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/36343957-4756-7861-46ec-b7d2f9dc367b.png)
1. M5Burnerをダウンロードする
     先ほどと同じ[M5Stackのダウンロードサイト](https://docs.m5stack.com/en/download)にある「M5Burner Win10 x64 v3.0」をダウンロードします。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/5aae9cab-adde-83f0-91d6-c390f4964eed.png)

1. M5Burnerを起動する
    ZIPファイルを解答した後、「M5Burner.exe」を起動します。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/28011b5f-e882-62f9-e3cd-9715c0c4b39a.png)

1. UIFlowのファームウェアをダウンロードする
    まずはUIFlow(Core)のダウンロードを行います（初回だけです。ダウンロード済みの場合は次に進んでください）
    バージョンはひとまず最新でよいです（デフォルト表示されているもので良いです）。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/f732c09b-7423-9f2d-0c13-f8ec1a463d4c.png)
1. ファームウェアを書き込む
    Burnボタンをクリックしてファームウェアを書き込みを開始します。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/dd9d200f-e50f-2799-560b-21c273e1b4ed.png)

1. M5Stackが接続するWi-Fiの接続情報を入力する
    ファームウェアを書き込む際、M5Stackが接続するWi-Fiの接続先のSSIDとパスワードを入力してください。
    この時、自宅で使う場合は自宅のもので良いですが、職場や学校で使う場合はその場所で使うネットワークを指定してください。
    入力後、「Next」ボタンをクリックしてください
    ※接続先は2.4G帯にしてください
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/f8492a20-c63e-ce4a-e8ce-226f4d60a8de.png)
1. Startボタンをクリック
    ポートを選択し「Start」ボタンをクリックします。Rateは変更なしです。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/f7c2c902-d9e1-aff6-4576-d7e69a8bf34c.png)
    ポートがわからない場合はデバイスマネージャから確認できます。「CH9102」というのが選択対象です。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/72ba260b-501f-9b8a-ca65-9f1e05fa4e12.png)



1. 書き込みが終わるまで待つ
    もしエラーが発生する場合はエラー内容を読んで解消してください。（よくあるのがCOMポートの選択ミスです）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/9c3ea7a6-9b56-3385-79f2-7b879ac9baeb.png)

1. 書き込み完了
    「Burn successfully, Click here to return」ボタンをクリックして、最初の画面に戻ります。
    M5Stackの画面には何か表示されてるかもしれませんが、今は無視してよいです。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/02d3deea-a730-08b7-86a0-48acb8404d46.png)
1. 設定画面を表示する
    「Configurate」ボタンをクリックします。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/917746c9-b0c7-f8db-44e0-f22cae947508.png)
    ポート選択の画面が出ますが、そのまま「Load」ボタンをクリックします。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/d4fd9190-4c49-4d52-82ee-a4487a741c80.png)
1. StartModeを確認する
    Start Modeが「Internet Mode」になってることを確認してください。
    ついでに「APIKEY」が表示されてることも確認しておいてください（後で使うので念のため）
    
    また、WIFI SSIDとパスワードが先ほど入力した内容と一致してるか確認してください。もし間違えてた場合は修正してください。
    修正した場合は「SAVE」ボタンをクリックして保存します。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/083405e4-82c4-6801-9bfa-e2f669eb6f90.png)
    
    
1. M5StackをPCから切り離し、再起動する
    こんなメッセージが表示されている場合は、説明に従って、リセットボタンを押して、真ん中のボタンを押し続けます。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/c2453be8-fea6-f8a7-f9f0-cc6ed57b5663.png)

1. Wi-Fiに接続失敗したらこんな感じになりますので、再度PCに接続し、設定画面からSSIDとパスワードを確認してください。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/4879bb4d-5bb7-ba1f-e6a3-1b3502abf081.png)


1. 再起動後、Wi-Fiに接続しAPIEKYが表示されれば完了
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/f2fa4ff4-26be-7d33-cbe9-8a3638d54752.png)

ここまでで準備完了です。
ここまで来たら、Wi-Fi情報やファームウェアを書き換えない限りあとはChromebookだけで大丈夫です。

# ChromebookでHello World
いよいよChromebookから操作していきます。
1. M5Stackの画面に表示されているURLにアクセスします。
    [ブラウザ版UIFlowのサイト](https://flow.m5stack.com/)にアクセスします。
1. APIKEYを入力する
    M5Stackの画面に表示されているAPIKEYを入力してください。
    言語は何でも良いですが、ここでは日本語としておきます。
    一番下のデバイスのアイコンは左上の「Core」を選択してください。
    最後に「OK」ぼたんをくりっくします
    ![Screenshot 2023-02-08 16.22.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/b4ffde71-7d7d-52bf-166d-0a1741057a24.png)
1. 接続済みになったことを確認する
    画面右下に「接続済み」と表示されていればOKです
    ![Screenshot 2023-02-08 16.25.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/2a2f1799-bccd-87b2-2145-55bf36ea8acf.png)

1. Labelを画面にD&D
    ![Screenshot 2023-02-08 16.29.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/3eb0a97b-fc77-5ad7-35a9-c102c1a045ac.png)
1. TextにHello Worldと入力
    ![Screenshot 2023-02-08 16.33.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/06cd806e-4e00-7cc0-b374-d67d513d0b3f.png)

1. 「Run」ボタンクリックして実行
    ![Screenshot 2023-02-08 16.37.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/b0d2a182-dccd-4346-9231-2fa91cec8000.png)

1. M5Stack本体に表示される
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/69ac36de-cd39-4b98-4f1e-a14bdc5c779c.png)

今回はここまで。
次回UIFlowでブロックプログラミングをやってみようと思います