Kurz worum's geht: CDC2NET macht aus einem ESP32-S3 einen USB-Host, der einen angesteckten USB-Stick (CUL/TUL/EUL, nanoCUL & Co.) transparent als raw-TCP-Port ins Netz legt. In FHEM bindet man ihn wie einen lokalen CUL ein, nur über host:port — im Prinzip die Rolle eines CUN, aber mit dem Stick, den man eh schon hat:
define CUL_0 CUL cdc2net.local:2329 1234Die Firmware des Sticks bleibt dabei unangetastet (culfw/a-culfw läuft weiter); CDC2NET trägt nur dessen serielle Leitung über WLAN.
Was heute funktioniert:- native CDC-ACM: klassischer CUL (LUFA/ATmega32U4), C3/C6-USB-Serial-JTAG
- USB-Seriell-Bridges über die VCP-Treiber: FTDI, CH340/CH341, CP210x (inkl. echtem Setzen der Baudrate)
- Per-Port-Serial-Config (Baud/Bits/Parität) im Web-UI, in NVS persistiert; optional RFC2217 für dynamische Baudrate
- WLAN-Onboarding (Improv/Captive-Portal), Web-UI, OTA-Update, mDNS (cdc2net.local)
Roadmap: kabelgebundenes Ethernet (W5500) ist geplant — der Netz-Layer ist dafür schon abstrahiert.
Gesucht sind Tester mit echten Sticks: verschiedene CULs (V3/V4), TUL, EUL, nanoCUL sowie FTDI-/CH340-/CP210x-basierte Sticks. Interessant ist vor allem: Wird der Stick sauber erkannt (Enumeration im Log)? Läuft der FHEM-Dauerbetrieb stabil? Stimmt die Baudrate bei echten UART-Sticks?
Ausprobieren: Web-Flasher (Chromium-Browser) unter https://install.busware.de/cdc2net/ — geflasht wird das ESP32-S3-Board, nicht der Stick.
Quellcode (GPL) und Doku: https://github.com/tostmann/cdc2net
Rückmeldungen und Logs gern hier im Thread oder als GitHub-Issue.
Cheers!