ESP8266 Telegram Bot bauen: IoT-Steuerung leicht gemacht
Komponenten und Zubehör
| Bauteil | Menge | Hinweise |
|---|---|---|
| Espressif ESP8266 ESP-01 | 1 | |
| Arduino UNO | 1 | Als USB-Seriell-Wandler zum Flashen |
| Steckbrücken | 7 | |
| Android-Gerät | 1 | Für Telegram-App |
Software und Online-Dienste
- Telegram Bot API
- Arduino IDE
Projektbeschreibung
Hallo Coder! Dies ist mein erstes Hackster-Projekt und zeigt, wie man einen ESP8266 über einen Telegram-Bot steuert – der Einstieg in die IoT-Welt.
1. Telegram Bot Library installieren
Die TelegramBot-Bibliothek herunterladen und in der Arduino IDE über Sketch → Bibliothek einbinden → .ZIP-Bibliothek hinzufügen installieren.
2. Telegram Bot konfigurieren
- Telegram auf Handy/Laptop installieren und nach @BotFather suchen.
- Neuen Bot über
/newboterstellen. - Den erhaltenen API-Token notieren.
3. Hardware-Aufbau
ESP8266 mit Arduino UNO verbinden (ESP-01 auf UNO als Programmer):
- ESP VCC → 3,3 V (nicht 5 V!)
- ESP GND → GND
- ESP TX → UNO TX (Pin 1)
- ESP RX → UNO RX (Pin 0) über Spannungsteiler (5 V → 3,3 V)
- ESP GPIO0 → GND (Flash-Modus)
- ESP RST → UNO RST
Dann Code hochladen.
4. Der Code
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <TelegramBot.h>
#define LED_PIN 1 // LED an GPIO1 (TX) oder anderer freier Pin
const char* ssid = "DEIN_WLAN_SSID";
const char* password = "DEIN_WLAN_PASSWORT";
const char BotToken[] = "DEIN_BOT_TOKEN";
WiFiClientSecure net_ssl;
TelegramBot bot(BotToken, net_ssl);
void setup() {
Serial.begin(115200);
while (!Serial) {}
delay(3000);
Serial.print("Verbinde mit WLAN: "); Serial.println(ssid);
while (WiFi.begin(ssid, password) != WL_CONNECTED) {
Serial.print("."); delay(500);
}
Serial.println("\nWLAN verbunden");
bot.begin();
pinMode(LED_PIN, OUTPUT);
}
void loop() {
message m = bot.getUpdates(); // Neue Nachrichten abrufen
if (m.text.equals("on")) {
digitalWrite(LED_PIN, HIGH);
bot.sendMessage(m.chat_id, "Die LED ist jetzt AN");
} else if (m.text.equals("off")) {
digitalWrite(LED_PIN, LOW);
bot.sendMessage(m.chat_id, "Die LED ist jetzt AUS");
}
}
Eigene WLAN-Daten und Bot-Token eintragen, dann hochladen.
5. Testen
Im Telegram-Chat mit dem Bot on oder off senden – die LED reagiert entsprechend.
Schaltplan
Siehe Fritzing-Bild im Originalprojekt. Wichtig: GPIO0 auf GND für Flash-Modus, danach für Normalbetrieb lösen.
Herstellungsprozess
- K30 CO₂-Sensor: Echtzeit-Luftqualitätsmessung mit Arduino
- Kommunikationshilfe für Taubblinde: 1Sheeld + Arduino + Sprachausgabe & Anzeige
- Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
- LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
- DFRobot Kapazitiver Fingerabdrucksensor mit Arduino oder ESP8266 einbinden
- Interaktives Nextion HMI Projekt mit Arduino Mega und Sensoren
- Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
- Präzise Solareinstrahlungsmessung mit Arduino UNO & Ethernet Shield
- Kompaktes Arduino-Radar mit HC-SR04 Ultraschallsensor & 1,8″ Display
- Musikalische Töne mit Arduino erzeugen: Schritt-für-Schritt-Anleitung