ethernet over USB
Posted: Wed Oct 02, 2024 8:10 am
Hello community,
recently Ive found some cool protocol
https://en.wikipedia.org/wiki/Ethernet_over_USB
and I think it may be useful in many situations, for example when we dont want or cant to expand esp32-p4 with radio module.
In this case we still can implement http server in our code and access it from host PC over USB. This lets us to have some web UI to control device, change settings, or even to OTA it. Its easy to implement it on any USB featured SoC, which is S2/S3/P4.
Some quick performance test shows it is possible to achieve over 5mbit/s on S3 and over 32mbit/s on P4, which is not that bad.
With this component we can use websockets and should be possible to run ftp server, telnet server and some other TCP/IP and UDP protocols we can run on esp32 with wifi.
After adding this captive portal component we can have really nice apps
https://github.com/espressif/esp-idf/tr ... ive_portal
Here we can find simplest example
https://github.com/esp32-open-source/usb-netif-example
and my first component
https://components.espressif.com/compon ... /usb-netif
Have a fun playing with it
recently Ive found some cool protocol
https://en.wikipedia.org/wiki/Ethernet_over_USB
and I think it may be useful in many situations, for example when we dont want or cant to expand esp32-p4 with radio module.
In this case we still can implement http server in our code and access it from host PC over USB. This lets us to have some web UI to control device, change settings, or even to OTA it. Its easy to implement it on any USB featured SoC, which is S2/S3/P4.
Some quick performance test shows it is possible to achieve over 5mbit/s on S3 and over 32mbit/s on P4, which is not that bad.
With this component we can use websockets and should be possible to run ftp server, telnet server and some other TCP/IP and UDP protocols we can run on esp32 with wifi.
After adding this captive portal component we can have really nice apps
https://github.com/espressif/esp-idf/tr ... ive_portal
Here we can find simplest example
https://github.com/esp32-open-source/usb-netif-example
and my first component
https://components.espressif.com/compon ... /usb-netif
Have a fun playing with it