概要
本日はUSB HostでUSB NICを使うのではなく、ESP32-S3自体がUSBデバイスとなりパソコンと通信をする方法です。PCに接続してブラウザで特定のURLを開くだけでそのまま設定などが可能になります。
方法

EspUsbDevice/examples/UsbNetwork at main · tanakamasayuki/EspUsbDevice
Contribute to tanakamasayuki/EspUsbDevice development by creating an account on GitHub.
上記になります。基本的にUSBデバイスとしてNICをESP32-S3に登録するだけで動きます。設定するのはIPアドレスなどの設定のみとなります。
デフォルトではESP32-S3が192.168.7.1となり、接続したPCが192.168.7.2になります。ルーター側がESP32-S3で、PC側が子どもになります。あとはPCから192.168.7.1に接続することで通信が可能です。
通信自体はlwIP/esp_netifを利用していますので、Wi-Fiなどでインターネット接続したときと同じ動きとなり、WebServerなどをWi-Fiのときと同じように動かせばアクセスが可能です。変に独自ネットワークにしないでlwIPの上で動いていますので非常に素直に使えます。
まとめ
何に使えるかはわからないのですが、今までESP32側をWi-Fi APにしてスマホなどで接続してからブラウザから設定するような設定画面をUSB接続からに変更できる可能性があります。個人的にはWi-Fi APに接続しに行くの面倒なんですよね。
もともとはEspUsbHostの検証用にEspUsbDeviceを作っているところもあるので、Host側の検証としてDevice側も準備してある状態です。でもなにか面白い使い方があると嬉しいです。
個人的にはAtomS3UのようにUSB端子が直接あるデバイスをぶすっとPCに接続すれば通信できるのでなにか使い方見つかればいいなと思っています。



コメント