klingelbot/README.md

65 lines
3.4 KiB
Markdown
Raw Permalink 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.

# 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.