# USB Toggle ESP8266 (Wemos D1 Mini) firmware om een relais te schakelen via seriële USB. *Dit project is tot stand gekomen met vibecoding.* ## Gebruik Sluit aan via USB en stuur commando's: ```bash ./relay 1 # relais aan ./relay 0 # relais uit ./relay id # toont module-ID (chip-ID, uniek per chip, onafhankelijk van USB-poort) ``` Het script zoekt de module altijd zelf: het probeert alle CH340-poorten met het `id`-commando en gebruikt de eerste die `ID usbtoggle-relay` antwoordt — waar de module ook is aangesloten. Kan de module niet gevonden worden, dan faalt het script met een foutmelding (exit 1). ## Linux Het script draait ongewijzigd op Linux. Vereisten: ```bash # Fedora / RHEL sudo dnf install python3-pyserial # Debian / Ubuntu sudo apt install python3-serial ``` De seriële poort is op Linux meestal `/dev/ttyUSB0` en eigendom van `root:dialout`. De gebruiker moet in de `dialout`-groep zitten, anders weigert het script de poort te openen: ```bash sudo usermod -aG dialout $USER # opnieuw inloggen om de groep actief te maken ``` De poortnaam is verder niet relevant: de auto-detectie vindt de module zonder dat een pad opgegeven hoeft te worden. ## Pinnen | Component | GPIO | |-----------|------| | Relais (shield IN) | 5 (D1) | | LED | LED_BUILTIN | Relais-IN zit op D1 (GPIO5): GPIO0 is bewust vermeden (boot-strapping pin — laag houden kan het board in flash-modus laten booten bij reset). ## Build & Flash ```bash pio run --target upload --upload-port /dev/cu.usbserial-2110 ```