コンテンツにスキップ

WiFi につなぐ

両機種ともネットワークにつながります。つなぐと次のことができます。

  • 遠隔画面 — パソコンのブラウザに実機の画面が出て、パソコンの キーボードとマウスで操作できます (Modern のみ)
  • アプリからの通信 — Net::HTTP、WebSocket、TLS
  • mDNS — 実機が名前で引けるようになり、アドレスを探さずに済みます

対応しているのは 2.4GHz 帯だけです。

ネットワークにつなぐと何が見えるか

どれも接続してくる相手を制限しません。ネットワークにつないだ時点で、同じネットワークに いる人は遠隔画面を開いて本体を操作できますし、BLE の届く範囲にいる人はファイルを 読み書きできます。合言葉の確認はどこにもありません。下に書く接続情報も、実機の中に 平文で保存されます。

信頼できる環境で使ってください。知らない人と共有しているネットワークにつなぐ前に、 セキュリティ を読んでください。

/etc/wifi.toml に接続先を書く

接続先は実機の中のファイルにあります。公開しているファームウェアにはこのファイルが 入っていません。ご家庭の合言葉を、誰でも入手できるビルドに焼き込むわけにいかないためです。 実機のエディタで一度だけ作ってください。

  1. エディタを起動します。デスクトップで E を押すか、ランチャーから開きます
  2. File → Open で /etc/wifi.toml を開きます

    無ければ、空の状態で中身を打ち込んで File → Save as で /etc/wifi.toml として 保存します

  3. 自分のネットワークを書きます

    ```toml [wifi] enable = true ssid = "your-ssid" password = "your-password"

    hostname は書かなくてかまいません (下記)

    ```

  4. 保存して、システムメニューの Reset で再起動します

項目 意味
enable false にすると、設定は残したまま接続しません
ssid / password 接続先。2.4GHz 帯のみ
hostname mDNS の名前。書かなくてかまいません (下記)

実機が答える名前

hostname を書かなければ、実機は自分で名前を作ります。fmruby-XXXXXX.local の 6 文字は WiFi の MAC の下 3 バイトです。起動ログに出ます。1 つのネットワークに 2 台あるとき、 どちらかを指すのはこの名前です。

どの実機も fmruby.local にも答えます。1 台しかないときはこちらが便利ですが、2 台ある ときはどちらが答えるか決まりません。そのときは実機ごとの名前を使います。

hostname を書くと、自分で作る名前の代わりにそれが使われます。2 台に書くなら別々の値に してください。

実機で打ちたくない場合

パソコンから web コンソール 経由でファイルを送ることもできます。 こちらは BLE で実機とやりとりします。

つながったか確認する

再起動したら、システムメニューの Network を開きます。

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

接続できたか、割り当てられたアドレス、ホスト名が出ます。Refresh で読み直します。

メニューバーの時計の左にも、WiFi の状態を示す小さな印が出ます。

アプリからは次のように取れます。

if FmrbApp.wifi_connected?
  info = FmrbApp.wifi_info
  Log.info("address: #{info[:ip]}")
end

Retro は無線を 1 つずつしか使えません

ここが意外と引っかかる違いです。

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

Retro では、起動時に BLE が立ち上がっていると WiFi は起動しません (ログにその旨が出ます)。 WiFi を使うには、システムメニューの Config で ble_auto_start を off にして再起動して ください。BLE はその後、コンソールが必要になったときにシステムメニューから手で起動できます。

同じ画面の wifi_auto_start は、そもそも起動時に WiFi を立ち上げるかどうかの設定です。

つながらないとき

  • enable = true がファイルに入っているか確認してください
  • SSID の綴りを確認してください。大文字小文字も区別されます
  • 2.4GHz 帯のみです。5GHz しか出していないネットワークには一生つながりません
  • Retro では、BLE が無線を握っていないか確認してください (上記)
  • WiFi はデスクトップより後に立ち上がります。数秒待ってから判断してください。 ネットワークを使うアプリは、つながっている前提にせず FmrbApp.wifi_connected? を 待つように書きます

関連