Files
skrift-auto-recover/esp/README.md
s4luorth 16d603b19f AutoRecover: bei Recover-Fenster ESP-MOSFET triggern („Stromzufuhr aktivieren")
Erkennt AutoRecover das Plotter-Recover-Fenster, ruft es jetzt zuerst
einen ESP auf (HTTP /trigger) und klickt danach „Recover". Der ESP
schaltet einen MOSFET und aktiviert damit die Stromzufuhr. Konfiguration
über config.json (esp_url/esp_path/esp_key/esp_timeout) bzw. Env-Vars;
ohne esp_url unverändertes Verhalten.

Neu: esp/skrift_mosfet.ino (ESP8266/ESP32-Firmware, WLAN + HTTP-Server,
Endpunkte /trigger /on /off, getimter Puls oder Latch) + esp/README.md
(Verdrahtung/Flashen) + config.example.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-21 20:20:36 +02:00

66 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Skrift ESP MOSFET-Trigger
Kleiner WLAN-„Schalter": Wenn am Plotter das **Recover-Fenster** erscheint, ruft
AutoRecover den ESP auf (`/trigger`), der einen **MOSFET** schaltet und damit die
**Stromzufuhr aktiviert**.
## Hardware
- ESP8266 (NodeMCU / Wemos D1 mini) **oder** ESP32.
- N-Kanal-Logic-Level-MOSFET als **Low-Side-Schalter** (z. B. IRLZ44N, oder ein
fertiges AO3400-/IRF520-Modul).
### Verdrahtung (Low-Side)
```
ESP GPIO (MOSFET_PIN) ──[100–220 Ω]── Gate
Gate ──[100 kΩ]── GND (Pulldown: MOSFET beim Booten sicher AUS)
Last(+) ── Versorgung+
Last(−) ── Drain
Source ── GND
GND(ESP) ── GND(Versorgung) (gemeinsame Masse ist Pflicht!)
```
`ACTIVE_HIGH = true`: GPIO **HIGH = MOSFET leitet = Strom an**.
Bei einem fertigen Modul mit „VCC/GND/SIG": SIG an `MOSFET_PIN`, GND gemeinsam.
## Firmware flashen
1. Arduino IDE, passendes Board wählen (ESP8266 **oder** ESP32 – der Sketch
erkennt beides automatisch).
2. In `skrift_mosfet.ino` oben anpassen:
- `WIFI_SSID` / `WIFI_PASS`
- `MOSFET_PIN` (ESP8266: `5` = D1; ESP32: z. B. `23`)
- `PULSE_MS` – wie lange „Strom an" bleibt (Default 3000 ms; `0` = bleibt an bis `/off`)
- optional `AUTH_TOKEN` (dann in der config.json `esp_key` gleich setzen)
- optional feste IP (`USE_STATIC_IP = true`) – **empfohlen**, damit AutoRecover
eine stabile Adresse hat.
3. Hochladen, seriellen Monitor (115200) öffnen → zeigt die IP.
## Endpunkte (HTTP GET, Port 80)
| Pfad | Wirkung |
|------------|-----------------------------------------------------|
| `/` | Statusseite (Text) |
| `/trigger` | MOSFET aktivieren (Puls `PULSE_MS`; `0` = dauerhaft) |
| `/on` | MOSFET dauerhaft AN |
| `/off` | MOSFET AUS |
Test im Browser: `http://<ESP-IP>/trigger`
## AutoRecover verbinden
In `Produktion/AutoRecover/config.json` (siehe `config.example.json`):
```json
{
"esp_url": "http://192.168.2.50",
"esp_path": "/trigger",
"esp_key": "",
"esp_timeout": 5
}
```
Ab dann triggert AutoRecover bei **jedem** erkannten Recover-Fenster zuerst den
ESP und klickt danach „Recover". Ohne `esp_url` bleibt alles beim Alten.