Forum: PC-Programmierung Web (IP) über USB - auch für ESP32?


von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich besitze einen Ebook-Reader "ReMarkable". Neben WLAN kann der auch 
"IP over USB", und zwar am Mac und auch Windows, ohne dass dazu ein 
extra Treiber installiert werden müsste.

Auf einer der Setup-Seiten des Readers steht, man möge ihn per Kabel mit 
einem Computer verbinden und dann im Browser einfach die IP 10.x.y.z 
eingeben - und siehe da, man kann so völlig problemlos die aufgespielten 
Bücher sehen und verwalten, Up- und Download klappen problemlos.

Bekommt man das auch mit einem ESP32 hin? Wäre cool für ein Messgerät, 
was wir in Arbeit haben, um Kalibrier-Daten zu editieren, ohne WLAN oder 
extra Software - man kann die Daten ja mit einer PIN sichern. Ein 
Webserver ist auf dem ESP ja kein Hexenwerk ...

Hat das hier schonmal jemand gemacht?

von Frank D. (Firma: LAPD) (frank_s634)


Lesenswert?


von Ralf L. (ralfmitkurzschluss)


Lesenswert?

Ich hatte mir überlegt, ob man das Verhalten vom reMarkable 
(IP-over-USB, also Webzugriff über 10.x.y.z ohne Treiber) auch mit einem 
ESP32 nachbauen kann – z. B. für ein Messgerät, um Kalibrierdaten im 
Browser zu editieren, ohne WLAN oder Zusatzsoftware.
Nach etwas Recherche ist klar:
Das, was der reMarkable macht, basiert auf RNDIS bzw. CDC-ECM, also 
einer USB-Netzwerk-Schnittstelle.
macOS, Windows und Linux erkennen das automatisch als virtuelle 
Netzwerkkarte – daher klappt der Webzugriff sofort.

Der ESP32 (klassisch) kann das leider nicht, weil er gar keinen echten 
USB-Port hat.
Erst die neueren ESP32-S2/S3/C3 besitzen USB-OTG-Hardware, aber 
Espressifs aktueller USB-Stack unterstützt nur CDC/ACM (virtuelle 
COM-Ports), HID, MIDI und Mass Storage – kein RNDIS oder ECM.
Es gibt zwar experimentelle TinyUSB-Beispiele, aber noch nichts 
offiziell Stabilisiertes.

Alternativen:
  •  USB-Mass-Storage-Modus: ESP32-S3 meldet sich als Laufwerk, man kann 
Kalibrierdaten einfach als Datei (z. B. JSON) öffnen und ändern – 
funktioniert ohne Treiber.
  •  Serieller Proxy: Webinterface lokal über ein kleines PC-Tool, das 
über die serielle USB-Verbindung kommuniziert.

Kurz:
„IP over USB“ wie beim reMarkable geht mit dem ESP32 derzeit nur mit 
viel Eigenarbeit im TinyUSB-Stack, aber Mass-Storage ist eine einfache, 
treiberlose und praxistaugliche Alternative.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ralf L. schrieb:

> Nach etwas Recherche ist klar:
> Das, was der reMarkable macht, basiert auf RNDIS bzw. CDC-ECM, also
> einer USB-Netzwerk-Schnittstelle.
> macOS, Windows und Linux erkennen das automatisch als virtuelle
> Netzwerkkarte – daher klappt der Webzugriff sofort.


Vielen Dank für deine Recherche.

von Ralf L. (ralfmitkurzschluss)


Lesenswert?

Ich hoffe ich bin keinem Quatsch aufgesessen.
Kannst du das testen?

von Frank K. (fchk)


Lesenswert?

Muss das unbedingt ein ESP32 sein? Es gibt doch so viele 
ARM-Plattformen: Pi Pico, TI CC33xx, Microchip PIC32MZ-W1, ...

fchk

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Frank K. schrieb:
> Muss das unbedingt ein ESP32 sein? Es gibt doch so viele
> ARM-Plattformen: Pi Pico, TI CC33xx, Microchip PIC32MZ-W1, ...
> fchk

Aus rein technischer Sicht muss das natürlich nicht sein.

Aber praktisch hat man halt so seine Erfahrungn, kennt die Hardware, hat 
Code-Schnipsel, ist an IDEs gewöhnt usw. Das wechselt man nicht mal eben 
so ...

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ralf L. schrieb:
> Ich hoffe ich bin keinem Quatsch aufgesessen.
> Kannst du das testen?

Ausgestattet mit neuen Suchworten habe ich bezüglich des ESP32-S3 
eineige Hinweise auf die Existenz passender Libs im Web gefunden. Ich 
lass kommende Woche mal einen Praktikanten darauf los ...

von Markus K. (markus-)


Lesenswert?

Ralf L. schrieb:
> Serieller Proxy: Webinterface lokal über ein kleines PC-Tool, das
> über die serielle USB-Verbindung kommuniziert.

Man kann auch im Browser auf die seriellen Schnittstellen zugreifen. 
Nennt sich Web Serial API. Geht aber nicht bei allen Browsern:
https://caniuse.com/web-serial

Und die Webseite, die das macht, muss ja auch von irgendwoher kommen. 
Die könnte auf dem Mass Storage Device liegen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.