- Python 77.1%
- C++ 22.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .omp/skills/usbtoggle-relay | ||
| include | ||
| lib | ||
| src | ||
| test | ||
| .gitignore | ||
| platformio.ini | ||
| README.md | ||
| relay | ||
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:
./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:
# 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:
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
pio run --target upload --upload-port /dev/cu.usbserial-2110