Ich plane (also rein weg im Kopf) gerade ein Nebenprojekt.
Ich möchte einen ESP32 einsetzen, um meinen PC resetten.
Also den ESP direkt mit dem Reset-Taster des PCs intern verbinden und wenn der Telegram Bot auf dem ESP einen bestimmten Befehl bekommt, dann soll nach Bestätigung ein Reset ausgeführt werden.
Begründung:
ganz simpel Fernwartung. "Hier geht schon wieder was nicht" ... Moment, *tipptipp* - RESET.
Der Code sollte schon passen (ist jetzt 1:1 via Gemini generiert):
#include <WiFi.h>
#include <TelegramBot.h>
// WLAN-Zugangsdaten
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
// Telegram Bot Token (Dummy: 123456789)
const char* botToken = "123456789";
// Telegram Bot Chat ID
const long chatId = YOUR_CHAT_ID;
// GPIO-Pin für den Reset-Button
const int resetPin = 2;
// TelegramBot-Instanz
TelegramBot bot(botToken);
void setup() {
// Serial-Verbindung initialisieren
Serial.begin(115200);
// Verbindung zum WLAN herstellen
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WLAN verbunden!");
// Telegram Bot initialisieren
bot.begin();
// GPIO-Pin für den Reset-Button als Ausgang konfigurieren
pinMode(resetPin, OUTPUT);
// Event-Handler für Nachrichten vom Bot registrieren
bot.onMessage([&](const TelegramMessage& message) {
// Nachricht verarbeiten
String text = message.text;
// Nur bei Übereinstimmung mit dem Reset-Befehl fortfahren
if (text == "/reset") {
// Bestätigungsnachricht an den Bot senden
bot.sendMessage(chatId, "Möchtest du den PC wirklich zurücksetzen? (Bestätige mit /ja)");
// Event-Handler für Bestätigungsnachricht registrieren
bot.onMessage([&](const TelegramMessage& message) {
if (message.text == "/ja") {
// Reset-Button auslösen
digitalWrite(resetPin, LOW);
delay(1000);
digitalWrite(resetPin, HIGH);
// Bestätigungsnachricht an den Bot senden
bot.sendMessage(chatId, "PC wurde zurückgesetzt!");
}
});
}
});
}
void loop() {
// Telegram Bot aktualisieren
bot.update();
}
Alles anzeigen
Sollte ja laufen. Aber bevor ich mir jetzt irgendwas zu Elektroschrott zauber:
wie schließe ich den Resett-Button an? Der schließt ja die PINs auf dem MB. Dann muss ja ein Kabel vom Mainboard in den ESP an einen PIN und auch wieder raus ins MB.
Genau da hapert es gerade. Dem Code nach gehe ich vom MB in den ESP auf PIN2.
Und dann? Via Masse vom ESP wieder auf das MB?
Bonusfrage (keine Angst, ich habe einen Feuerlöscher) :
den Strom für den ESP würde ich aus dem USB-Port des zu resettenden PCs ziehen.
Kann das zu Problemen führen? Common-Ground oder ähnliches.