# Arduino Telegram Bot - README ## Übersicht Dieses Projekt implementiert einen Telegram-Bot auf einem ESP8266-Mikrocontroller, der mit einem Telegram-Konto verbunden ist und Nachrichten basierend auf einem externen Eingang (z.B. einem Taster) sendet. Das Setup verwendet die ESP8266WiFi-Bibliothek, um den ESP8266 mit einem WLAN-Netzwerk zu verbinden, und die UniversalTelegramBot-Bibliothek, um den Bot zu steuern. ## Funktionen - **Telegram Bot Integration:** Der ESP8266 ist mit einem Telegram-Bot verbunden, der Nachrichten an einen vordefinierten Chat sendet. - **Eingangserkennung:** Ein GPIO-Pin wird als Eingang verwendet, um ein externes Signal (z.B. ein Tastendruck) zu erfassen. Wenn ein Signal erkannt wird, sendet der Bot eine Nachricht an den definierten Telegram-Chat. - **Prellschutz:** Der Code enthält einen einfachen Mechanismus, um Prellen des Tasters zu vermeiden. ## Komponenten - **ESP8266 Mikrocontroller** (z.B. NodeMCU) - **Taster** oder andere Eingangsquelle, die an den definierten GPIO-Pin angeschlossen ist - **WLAN Netzwerk** mit Zugangsdaten - **Telegram Bot Token** und **Chat ID** ## Bibliotheken Die folgenden Bibliotheken werden verwendet: - `ESP8266WiFi.h`: Ermöglicht die WLAN-Verbindung des ESP8266. - `WiFiClientSecure.h`: Bietet sichere (SSL) Verbindungen für den ESP8266. - `UniversalTelegramBot.h`: Ermöglicht die Steuerung eines Telegram-Bots. ## Installation 1. **Arduino IDE vorbereiten:** - Installiere die Arduino IDE, falls noch nicht geschehen. - Installiere das ESP8266 Board-Paket über den Board-Manager. - Installiere die benötigten Bibliotheken (`ESP8266WiFi`, `WiFiClientSecure`, `UniversalTelegramBot`) über den Bibliotheks-Manager der Arduino IDE. 2. **Telegram Bot erstellen:** - Erstelle einen neuen Bot über den [@BotFather](https://t.me/BotFather) auf Telegram und notiere dir den generierten Bot Token. 3. **Projektkonfiguration:** - Ersetze die Platzhalter `WIFISSID`, `WFIPASS`, `TOKEN`, und `chatID` im Code durch die tatsächlichen Werte für dein WLAN und den Telegram Bot. 4. **Verkabelung:** - Verbinde den Taster (oder einen anderen Eingang) mit dem entsprechenden GPIO-Pin des ESP8266 (z.B. GPIO0, D1 auf einem NodeMCU). ## Nutzung 1. **Upload:** Lade den Sketch auf deinen ESP8266 hoch. 2. **Verbindung:** Der ESP8266 verbindet sich mit dem angegebenen WLAN und startet den Telegram-Bot. 3. **Eingabe Erkennen:** Drücke den angeschlossenen Taster, um eine Nachricht ("Ding Dong") an den konfigurierten Telegram-Chat zu senden. 4. **Nachrichtenüberprüfung:** Der ESP8266 überprüft regelmäßig auf neue Nachrichten im Bot-Chat, die in der Konsole angezeigt werden. ## Anpassungen - **Eingabepin:** Der Eingabepin kann in der `inputPin`-Variable definiert und an die spezifischen Anforderungen angepasst werden. - **Bot-Konfiguration:** Anpassungen an der Frequenz der Nachrichtenüberprüfung (`BOT_MTBS`) und anderen Bot-Einstellungen können vorgenommen werden. ## Fehlersuche - **Verbindung fehlgeschlagen:** Überprüfe WLAN-SSID und Passwort. - **Keine Nachrichten gesendet:** Überprüfe den Status des GPIO-Pins und stelle sicher, dass der Bot korrekt eingerichtet ist. - **Sicherheitswarnungen:** Stelle sicher, dass das Root-Zertifikat für Telegram korrekt eingebunden ist. ## Lizenz Dieses Projekt steht unter der MIT-Lizenz – weitere Informationen findest du in der LICENSE.md Datei im Repository.