| 3 dk okuma | 16 okunma

Bölüm 9: ESP32 ile Mesajlaşın: Kendi Telegram Botunuzu Yapın!

ESP32'nizin cebinize doğrudan mesaj atmasını ister misiniz? Bu bölümde popüler mesajlaşma uygulaması Telegram'ı kullanarak kendi botumuzu oluşturacağız. Cihazımız bir hareket algıladığında, ortam fazla ısındığında veya sadece uyandığında cep telefonumuza anlık bildirim (mesaj) göndermeyi öğrenecek!

Bölüm 9: ESP32 ile Mesajlaşın: Kendi Telegram Botunuzu Yapın!

Önceki bölümlerde ESP32'nin okuduğu verileri ThingSpeak gibi bir bulut paneline göndermeyi öğrenmiştik. Bu harika bir yöntem, ancak verileri görmek için o siteye girmemiz gerekiyor.

Peki ya acil bir durum varsa? Örneğin; evinize kurduğunuz hareket sensörü bir hareket algılarsa, saksıdaki çiçeğinizin toprağı kurursa veya akıllı yangın alarmınız duman algılarsa? Sizin siteye girmenizi bekleyemeyiz; cihazın size anında mesaj atması gerekir!

Bunun için en kolay, en ücretsiz ve en güvenilir yol Telegram kullanmaktır. ESP32, Telegram'ın sunucularına bağlanarak kendi oluşturduğumuz bir "Bot" üzerinden bize mesaj gönderebilir.

1. Adım: Telegram'da Bot Oluşturmak (BotFather)

Öncelikle ESP32'mizin kullanacağı bir "kimlik" (Bot) yaratmalıyız.

  1. Cep telefonunuzdan veya bilgisayarınızdan Telegram uygulamasını açın.
  2. Arama kısmına BotFather yazın (Yanında mavi tik olan resmi hesabı seçin) ve sohbeti başlatın.
  3. Mesaj kısmına /newbot yazıp gönderin.
  4. BotFather size botunuzun adını soracak. Bir isim verin (Örn: EvBekcisiBot).
  5. Sonra sizden bir kullanıcı adı (username) isteyecek. Sonu "bot" ile bitmeli (Örn: benim_ev_bekcisi_bot).
  6. İşlem başarılı olduğunda BotFather size uzun bir şifre verecek. Buna HTTP API Token denir. (Örn: 123456789:ABCdefGhIJKlmNoPQRstuVWxyz). Bu şifreyi kopyalayın, kodumuzda kullanacağız!

2. Adım: Chat ID (Sohbet Kimliği) Öğrenme

ESP32'nin mesajı kime (yani size) göndereceğini bilmesi için sizin Telegram kimlik numaranıza (Chat ID) ihtiyacı var.

  1. Telegram arama kısmına IDBot veya RawDataBot yazıp sohbeti başlatın.
  2. Ekranda size özel bir id numarası belirecek (Örn: 987654321). Bunu da kopyalayın.
  3. Son olarak, kendi oluşturduğunuz botun adını aratın (Örn: EvBekcisiBot), sohbete girin ve "Başlat" (Start) tuşuna basın. (Siz sohbeti başlatmazsanız, bot size ilk mesajı atamaz).

3. Adım: Mesaj Gönderen ESP32 Kodu

Bölüm 7'de öğrendiğimiz HTTPClient kütüphanesiyle Telegram'ın web adresine minik bir talep göndereceğiz. Arduino IDE'yi açın ve aşağıdaki kodu yapıştırın.

(Not: WIFI_ADI, WIFI_SIFRESI, BOT_TOKEN ve CHAT_ID kısımlarını kendi bilgilerinizle doldurmayı unutmayın!)

C++


#include <WiFi.h>
#include <HTTPClient.h>

// Wi-Fi Bilgileriniz
const char* ssid = "WIFI_ADI";
const char* password = "WIFI_SIFRESI";

// Telegram Bilgileriniz
String botToken = "BURAYA_BOT_TOKEN_GELECEK";
String chatId = "BURAYA_CHAT_ID_GELECEK";

void setup() {
  Serial.begin(115200);
  
  // Wi-Fi'a Bağlanıyoruz
  WiFi.begin(ssid, password);
  Serial.print("Wi-Fi'a baglaniliyor");
  while(WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nBaglanti Basarili!");

  // Wi-Fi bağlandığı gibi telefonumuza bir karşılama mesajı atalım!
  // Boşluklar yerine %20, yeni satır yerine %0A gibi URL formatları da kullanılabilir.
  String gonderilecekMesaj = "Merhaba! Ben senin ESP32 cihazınım. Uyandım, ağa bağlandım ve göreve hazırım! 🚀";
  
  // Telegram mesaj gönderme fonksiyonumuzu çağırıyoruz
  telegramMesajGonder(gonderilecekMesaj);
}

void loop() {
  // İleride buraya 5. Bölümdeki sensör okuma kodlarını ekleyebilirsiniz.
  // Örnek mantık: Eğer (sicaklik > 30) ise { telegramMesajGonder("Dikkat ev çok sıcak!"); delay(60000); }
}

// Telegram'a mesaj atan özel fonksiyonumuz
void telegramMesajGonder(String mesaj) {
  HTTPClient http;
  
  // Telegram API URL'sini oluşturuyoruz
  String url = "https://api.telegram.org/bot" + botToken + "/sendMessage?chat_id=" + chatId + "&text=" + mesaj;
  
  Serial.println("Mesaj Telegram'a gonderiliyor...");
  
  // İnternet adresine gidiyoruz
  http.begin(url);
  int httpCode = http.GET(); // Talebi gönder
  
  if(httpCode > 0) {
    Serial.println("Basarili! Mesaj telefonunuza iletildi.");
  } else {
    Serial.print("Hata olustu! Kodu: ");
    Serial.println(httpCode);
  }
  
  http.end(); // Bağlantıyı kapat
}

4. Adım: Test Edelim!

Kodu ESP32'nize yükleyin ve Seri Port ekranını açın. Cihazınız Wi-Fi ağına bağlandığı an, cebinizdeki telefon titreyip Telegram'dan bir bildirim verecek.

Mesajı açtığınızda: "Merhaba! Ben senin ESP32 cihazınım. Uyandım, ağa bağlandım ve göreve hazırım! 🚀" yazısını göreceksiniz.

Proje Fikirleri: Artık bir sensörle bu kodu birleştirebilirsiniz! Bölüm 8'deki "Derin Uyku" moduyla birleştirip, posta kutunuza bir mektup atıldığında uyanıp size "Postan var!" diye Telegram mesajı atan pilli bir IoT cihazı bile yapabilirsiniz!

Ertan Dağdelen

Yazan

Ertan Dağdelen

Brain & Youth Information Worker, Author, .Net, Flutter, AJAX, Arduino & Esp32, Pcb, 3D, Galatasaray, Gemini

Bu yazıyı paylaş

Diğer Yazılar

ESP32 vs Arduino: 2026’da Hangisini Seçmelisiniz?

ESP32 vs Arduino: 2026’da Hangisini Seçmelisiniz?

ESP32 ve Arduino, hobiden profesyonel IoT projelerine kadar en popüler geliştirme kartlarıdır. Arduino basitliği ve eğitim odaklı yapısıyla yeni başlayanlar için idealken, ESP32 yerleşik Wi-Fi, Bluetooth, yüksek işlem gücü ve düşük maliyetiyle modern bağlı cihazlar için çok daha güçlü bir alternatiftir. Bu yazıda ikisini hız, bellek, bağlantı, güç tüketimi ve kullanım alanları açısından karşılaştırıyoruz. 2026 itibarıyla çoğu IoT ve akıllı ev projesi için ESP32 öne çıkıyor.

Bölüm 10: Kablolara Veda Edin: ESP32'yi Wi-Fi Üzerinden (OTA) Programlamak

Bölüm 10: Kablolara Veda Edin: ESP32'yi Wi-Fi Üzerinden (OTA) Programlamak

Projenizi güzelce kutuladınız, lehimlediniz ve ulaşması zor bir yere monte ettiniz. Peki kodda ufak bir hata fark ederseniz veya yeni bir özellik eklemek isterseniz ne olacak? Cihazı yerinden sökmeye hiç gerek yok! Bu bölümde akıllı telefonların güncelleme almasına benzeyen OTA (Over-The-Air) teknolojisini öğrenecek ve ESP32'mize USB kablosu olmadan, havadan kod yükleyeceğiz.

Bölüm 8: Pille Çalışan Projelerin Sırrı: "Deep Sleep" (Derin Uyku) Modu

Bölüm 8: Pille Çalışan Projelerin Sırrı: "Deep Sleep" (Derin Uyku) Modu

ESP32'nin çok güç tükettiğini mi duydunuz? Haklı olabilirsiniz, sürekli Wi-Fi'a bağlı kalmak pili hızla bitirir. Peki ya cihazınızı bir pille aylarca çalıştırmak isterseniz? Bu final bölümünde, ESP32'nin hayat kurtaran "Deep Sleep" (Derin Uyku) modunu öğrenecek ve pille çalışan taşınabilir IoT projelerinin sırrını çözeceğiz.