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?
Frank E. schrieb: > Hat das hier schonmal jemand gemacht? Das müsste es sein: https://github.com/espressif/esp-idf/tree/master/examples/peripherals/usb/device/tusb_ncm
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.
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.
Ich hoffe ich bin keinem Quatsch aufgesessen. Kannst du das testen?
Muss das unbedingt ein ESP32 sein? Es gibt doch so viele ARM-Plattformen: Pi Pico, TI CC33xx, Microchip PIC32MZ-W1, ... fchk
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 ...
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 ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.