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>
66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
# 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.
|