usbtoggle/README.md
2026-08-13 13:23:30 +02:00

58 lines
1.5 KiB
Markdown

# 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
```