コンテンツにスキップ

Modern (M5Stack Tab5)

改造していない M5Stack Tab5 から、Family mruby のデスクトップが出るまでの手順です。 はんだ付けもビルドも要りません。書き込みはブラウザから、数分で終わります。

Tab5 Keyboard を取り付けた M5Stack Tab5 で Family mruby のデスクトップが動いている

用意するもの

必須

  • M5Stack Tab5 本体
  • データ通信ができる USB Type-C ケーブル (充電専用ケーブルはブラウザから見えません)
  • Chrome / Edge / Opera が動くパソコン。書き込みには Web Serial を使うので、 Firefox と Safari では書き込めません

必要なのはこれだけです。画面もスピーカーも電池も本体に入っています。

文字を打つために

キーボードが要ります。方法は 2 つあります。

  • USB キーボードを Tab5 の USB-A 端子に挿す。マウスも使いたければ USB ハブを足します。 キーボードもハブも、認識されないものがあります。動作確認済み機器 を確認したうえで、何本か試すつもりでいてください
  • M5Stack Tab5 Keyboard を本体に取り付ける。USB 端子を使いません

マウスは必須ではありません。画面のタッチがそのままトラックパッドとして使えます (タッチで操作する 参照)。ただし窓を動かすような操作は実際のマウスのほうが楽です。

ワイヤレスのキーボードとマウス。受信機を Tab5 の USB-A 端子に挿している
キーボードとマウスのワイヤレスセットも使えます。受信機 1 個を USB-A 端子に挿すだけで、ハブは要りません

あると良いもの

  • WiFi。設定すると 遠隔画面 が使えるようになり、パソコンの ブラウザに Tab5 の画面が出て、パソコンのキーボードとマウスで操作できます。アプリから インターネットにもつながります
  • GROVE ケーブル。センサをつないだり、外部音源に MIDI を送るときに使います

ファームウェアの書き込み

Modern はチップが 1 個なので、書き込むファームウェアも 1 つです。

  1. Chrome / Edge / Opera で Family mruby Web Installer を開く
  2. USB-C ケーブルで Tab5 とパソコンをつなぐ
  3. Family mruby Modern (Tab5) の節までスクロールする
  4. 書き込むバージョンを選ぶ (既定で最新が選ばれています)
  5. Connect & Flash Tab5 firmware を押す
  6. ブラウザが出すダイアログで Tab5 のシリアルポートを選ぶ
  7. 待つ。チップが ESP32-P4 であることを書き込みツールが確認するので、別機種向けの ファームウェアを誤って書き込むことはできません

Tab5 はパソコンと USB-Serial-JTAG でつながるので、ボタンを押しながら挿す必要はありません (多くの ESP32 基板とはここが違います)。書き込み後に止まってしまったときだけ、リセット ボタンを 1 回押してください。

書き込むとファイル領域も消えます

書き込みは、ファイル領域を含めたイメージ全体を上書きします。実機に置いた自作アプリや、 書き換えた設定ファイルは、出荷時の内容に戻ります。残したいものは先にパソコンへ 退避してください (コンソール を参照)。

Retro の手順と、うまくいかないときの対処は ファームウェア更新 に まとめてあります。

最初の起動

電源ボタンを押すと、この順に表示されます。

  1. テキストの起動画面。メモリ、ファイルシステム、各ドライバと、立ち上げている ところを順に出します。起動に失敗したとき、どこで止まったかが分かるようにしています
  2. ロゴ。中央から開いていき、起動音が鳴ります
  3. デスクトップ。上端にメニューバー、その下に壁紙、そしてマウスカーソル
テキストの起動画面。コアの版数、チップ、空きヒープと PSRAM、画面と音声
起動画面。起動に失敗したときは、ここのどこで止まったかが分かります

デスクトップが出て、指の動きにカーソルがついてくれば、正常に動いています。

画面の見方

メニューバーから開いたシステムメニュー

左上の Family mruby を押すとシステムメニューが出ます (Launcher / File Manager / Log Viewer / Monitor / Set Clock / Config / Storage / Network / About / Reset)。バーの 右端には内蔵メモリの空き、BLE と WiFi の状態、時計が並びます。題字の右に出る四角は、 動かしているアプリです。

Ctrl + Q で手前のアプリを終了、Ctrl + Tab で切り替え、デスクトップ上では 1 文字で アプリが起動します (L ランチャー、S シェル、E エディタ)。

デスクトップは両機種で同じです。メニューバーの各要素の意味、ランチャーの挙動、全画面の アプリに対する Ctrl + Tab の動きは デスクトップ にまとめてあります。

タッチで操作する

タッチ画面は、スマートフォンではなくノートパソコンのトラックパッドのように動きます。 指でカーソルを動かすのであって、触った場所にカーソルが飛ぶわけではありません。こうすると 窓の見出しやスクロールの棒をつかむ操作が思ったとおりに動きます。

Tab5 の画面に指を置き、ランチャーの上でカーソルを動かしているところ
操作 結果
指を滑らせる カーソルが動く。押していないので、カーソルの下のものをつかまない
軽く叩く カーソル位置で左クリック
止めたまま押し続けて、動かす 左ボタンを押した状態になり、そのまま引きずる。離すと放す
2 本指で叩く カーソル位置で右クリック

引きずり始めの押し続け時間は 150 ミリ秒なので、普通に叩く操作 (およそ 100 ミリ秒) は クリックとして扱われます。

カーソルの速度は Config の mouse_scale_x / mouse_scale_y で変えられます。

WiFi につなぐ

WiFi につなぐと 遠隔画面ネットワーク API が使えるようになります。接続先は /etc/wifi.toml に 書きます。このファイルは実機のエディタで一度だけ作ります。

[wifi]
enable = true
ssid = "your-ssid"
password = "your-password"
hostname = "fmruby"

保存して Reset で再起動し、システムメニューの Network で確認します。

割り当てられたアドレスを表示する Network ダイアログ

詳しい手順と、つながらないときの対処は WiFi につなぐ にあります。

無線を 2 つ同時に使えます

Modern では ESP32-C6 が WiFi と BLE を同時に受け持つので、WiFi を使いながら BLE の web コンソール も使えます。(Retro の ESP32-S3 は無線が 1 系統なので、 どちらか一方になります。)

パソコンから画面を見る

WiFi がつながっていれば、Tab5 は自分の画面を配信します。同じネットワークにあるパソコンの ブラウザで

http://fmruby.local/

を開いてください。mDNS が引けない環境なら、Network ダイアログに出ているアドレスを 直接開きます。画面がそのまま出て、パソコンのキーボードとマウスで操作できます。 Ctrl + Q などのキーもそのまま効きます。

作業はこれが一番速いです。パソコンのキーボードで書いて、実機が動くのをそのまま見られます。 詳しくは 遠隔画面 を参照してください。

ファイルの置き場所

フラッシュの中身は Unix と同じ形に並んでいます。

場所 内容
/home 自分のファイル。書いた .rb はここに置きます
/app 入っているアプリ。demo / game / tool / basic などに分かれています
/etc 設定。system_conf.tomlwifi.toml
/usr/share 同梱の素材。フォント、壁紙、音、MIDI や NSF の曲
/lib require で読める Ruby のライブラリ
/var/cache システムが自分で作り直すキャッシュ

うまくいかないとき

ブラウザにシリアルポートが出てこない

  • データ通信ができる USB-C ケーブルを使ってください。充電専用は出てきません
  • ハブを介さず、パソコンに直接つないでください
  • Chrome / Edge / Opera を使ってください。Firefox と Safari には Web Serial がありません

書き込めたのに画面が出ない

  • リセットボタンを 1 回押してください
  • シリアルログが boot:0x204 (DOWNLOAD)waiting for download で止まっていたら、 書き込みモードに留まっています。リセットすれば通常起動します

キーボードが効かない

  • USB-C ではなく USB-A 端子に挿さっているか確認してください
  • 認識されないキーボードやハブもあります。動作確認済み機器 を 参照してください
  • 記号の位置がずれるときは、Config の keyboard_layoutjpus に合わせて ください

時計がずれている

システムメニューの Set Clock で合わせてください。時間帯は別の設定で、Config に あります。

次に読むもの