VelxioでシミュレートされたESP32は、これまでもWiFiを利用できました。内蔵ネットワークに接続し、IPを取得し、実際のWiFiスタックを実行してインターネットに到達できます。唯一できなかったのは、どのネットワークに接続するかを指定することでした。今日からそれが可能になります。Makerプランをご利用の場合、キャンバスにWiFiアクセスポイントパーツを配置するだけで、エミュレートされた無線があなたのSSIDをブロードキャストします。

あなたのSSID、あなたのチャンネル、あなたのルール
このパーツは、カタログで初めてピンを持たないパーツです。電気部品ではなく、電波空間です。名前、チャンネル、信号強度を指定すると、スケッチは実際にその名前のネットワークに接続します。
WiFi.begin("HomeNet", ""); // アクセスポイントパーツのSSID

書き換えも、デモ用ネットワークも不要です。入力したSSIDがそのまま存在するSSIDになります。そして、キャンバスが電波空間を定義するため、スキャンではそこに配置したものだけが正確に表示されます。複数のアクセスポイントを追加して、それぞれにチャンネルと強度を設定すれば、ネットワーク選択UIの構築とテストが可能です。スキャンは、実際のものと同じように、パスごとに数dBのジッターも発生します。
知っておくべき2つのスイッチがあります:
- インターネット — オフにすると、ネットワークは分離されます。ボードは関連付けられ、DHCPリースを取得しますが、外部へのルーティングは行われません。これはプロビジョニング/キャプティブポータルシナリオであり、シミュレータで初めてテスト可能になりました。
- パスワード — パーツに保存され、そのカードに表示されます。パスワードを渡すスケッチは正常に接続できます。
プロジェクトにアクセスポイントパーツが1つでもあると、内蔵のデモネットワークは停止します。キャンバスが全スペクトラムになるのです。
WiFiパネルと、実際のパケットキャプチャ
ツールバーのWiFiアイコンは、分割ボタンになりました。アイコン自体はワンクリックアクションを維持しています。IPがある場合はボードのWebサーバーを開きます。その隣の小さなキャレットをクリックすると、新しいWiFiパネルが開きます:

現在電波上にあるネットワーク、ボードが接続したネットワークとそのIP、そしてすべての組み込み開発者が手に取るであろうパーツ、PCAPダウンロードが表示されます。これにより、実行時の802.11トラフィックがキャプチャファイルとして提供され、Wiresharkで直接開くことができます。関連付けハンドシェイク、DHCP、DNS、スケッチが作成したTCPなどが、シミュレートされたタイムスタンプ付きで含まれます。アップロードされるものは何もなく、ファイルはブラウザ内で生成されます。次に接続が「どうしてもうまくいかない」場合、Serial.printlnで推測する代わりに、どこで停止したかを正確に確認できます。
自分のネットワークに到達する
シミュレートされたボードは、デフォルトではVelxioのクラウドゲートウェイを通じてインターネットに到達します。ただし、ローカルネットワークには到達できません。新しいローカルネットワークゲートウェイがこの制限を解除します。これは、自分のマシンで実行する小さなプログラム(velxiogw、ソース公開、バイナリ無料)で、WiFiパネルからワンタイムコードでペアリングします。次のRun以降、ボードのトラフィックはあなたのマシンから出力されます。あなたのMQTTブローカー、あなたのHome Assistant、localhostで開発中のAPIなど、すべてスケッチから到達可能になり、マシン自体もhost.velxio.internalとしてアドレス指定できます。
Velxio Desktopアプリでは、それすら必要ありません。シミュレーションはすでにあなたのマシン上で実行されているため、ボードは構造上、あなたのネットワーク上にあります。
試してみる
Connect to your own WiFi network の例を開いてください(アクセスポイントがすでに配置されています)。または、パーツピッカーで「WiFi Access Point」を検索してください。詳細は、ESP32 WiFiガイドとローカルゲートウェイのチュートリアルをご覧ください。
カスタムアクセスポイントとローカルゲートウェイはMakerプランの機能です。WiFiパネルとPCAPエクスポートは、すべてのユーザーに無料で提供されます。