Modern (M5Stack Tab5)¶
改造していない 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 端子を使いません
マウスは必須ではありません。画面のタッチがそのままトラックパッドとして使えます (タッチで操作する 参照)。ただし窓を動かすような操作は実際のマウスのほうが楽です。
キーボードとマウスのワイヤレスセットも使えます。受信機 1 個を USB-A 端子に挿すだけで、ハブは要りません
あると良いもの¶
- WiFi。設定すると 遠隔画面 が使えるようになり、パソコンの ブラウザに Tab5 の画面が出て、パソコンのキーボードとマウスで操作できます。アプリから インターネットにもつながります
- GROVE ケーブル。センサをつないだり、外部音源に MIDI を送るときに使います
ファームウェアの書き込み¶
Modern はチップが 1 個なので、書き込むファームウェアも 1 つです。
- Chrome / Edge / Opera で Family mruby Web Installer を開く
- USB-C ケーブルで Tab5 とパソコンをつなぐ
- Family mruby Modern (Tab5) の節までスクロールする
- 書き込むバージョンを選ぶ (既定で最新が選ばれています)
- Connect & Flash Tab5 firmware を押す
- ブラウザが出すダイアログで Tab5 のシリアルポートを選ぶ
- 待つ。チップが ESP32-P4 であることを書き込みツールが確認するので、別機種向けの ファームウェアを誤って書き込むことはできません
Tab5 はパソコンと USB-Serial-JTAG でつながるので、ボタンを押しながら挿す必要はありません (多くの ESP32 基板とはここが違います)。書き込み後に止まってしまったときだけ、リセット ボタンを 1 回押してください。
書き込むとファイル領域も消えます
書き込みは、ファイル領域を含めたイメージ全体を上書きします。実機に置いた自作アプリや、 書き換えた設定ファイルは、出荷時の内容に戻ります。残したいものは先にパソコンへ 退避してください (コンソール を参照)。
Retro の手順と、うまくいかないときの対処は ファームウェア更新 に まとめてあります。
最初の起動¶
電源ボタンを押すと、この順に表示されます。
- テキストの起動画面。メモリ、ファイルシステム、各ドライバと、立ち上げている ところを順に出します。起動に失敗したとき、どこで止まったかが分かるようにしています
- ロゴ。中央から開いていき、起動音が鳴ります
- デスクトップ。上端にメニューバー、その下に壁紙、そしてマウスカーソル
起動画面。起動に失敗したときは、ここのどこで止まったかが分かります
デスクトップが出て、指の動きにカーソルがついてくれば、正常に動いています。
画面の見方¶
左上の 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 の動きは デスクトップ にまとめてあります。
タッチで操作する¶
タッチ画面は、スマートフォンではなくノートパソコンのトラックパッドのように動きます。 指でカーソルを動かすのであって、触った場所にカーソルが飛ぶわけではありません。こうすると 窓の見出しやスクロールの棒をつかむ操作が思ったとおりに動きます。
| 操作 | 結果 |
|---|---|
| 指を滑らせる | カーソルが動く。押していないので、カーソルの下のものをつかまない |
| 軽く叩く | カーソル位置で左クリック |
| 止めたまま押し続けて、動かす | 左ボタンを押した状態になり、そのまま引きずる。離すと放す |
| 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 で確認します。
詳しい手順と、つながらないときの対処は 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.toml、wifi.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_layoutをjpかusに合わせて ください
時計がずれている¶
システムメニューの Set Clock で合わせてください。時間帯は別の設定で、Config に あります。
次に読むもの¶
- Hello World — 最初のアプリを書いて動かす
- 標準アプリ — 最初から入っているもの
- 遠隔画面 — パソコンのブラウザから作業する
- API リファレンス — アプリから呼べるもの
- ハードウェア — ピン配置と GROVE 端子