Rehberler · 10 dk okuma

ESP32 Telefondan Kontrol: BlueGrays IoT ile 5 Adımda Kurulum

ESP32 telefondan kontrol rehberi: BlueGrays IoT ile röle ve DHT22 bağlantısı, Ohmi'nin hazırladığı kod, 5 kurulum adımı, grafikler ve sık hataların çözümü.

ESP32 telefondan kontrol etmek; kartın üzerindeki bir röleyi, LED'i ya da motoru cebindeki telefondan açıp kapatmak ve sensör değerlerini telefonda görmek demektir. IoT öğrenmenin en keyifli ilk adımı da budur. ESP32'nin içinde 2,4 GHz Wi-Fi ve Bluetooth bulunduğu için ek bir modüle gerek kalmaz. Asıl soru hangi yolu seçeceğin. ESP32 uygulama ile kontrol için kendi web sunucunu yazabilir, Bluetooth üzerinden bağlanabilir ya da bir Telegram botu kurabilirsin. Blynk ve Arduino IoT Cloud gibi bulut panelleri de bir seçenektir. Her yöntemin kurulum süresi, menzili ve sınırları farklıdır.

Bu rehberde en kısa yolu adım adım kuracaksın: BlueGrays uygulamasındaki BlueGrays IoT özelliği. Kodu senin için Ohmi hazırlar. Sen yalnız devreyi kurar, kodu Arduino IDE'den ESP32'ye yüklersin. Kart şifreli bir bağlantıyla BlueGrays sunucusuna bağlanır, bu yüzden telefonun ve kartın aynı ağda olması gerekmez. Evdeki lambayı işteyken mobil veriyle de açabilirsin. Önce röleyle bir lamba anahtarı yapacaksın. Sonra devreye DHT22 ekleyip sıcaklık ve nemi canlı değer ve grafik olarak telefonuna taşıyacaksın. Yazının sonunda diğer yöntemlerle bir karşılaştırma ve en sık görülen hataların çözüm tablosu da var.

Telefondan kontrol edilecek ESP32 geliştirme kartı
ESP32, içindeki 2,4 GHz Wi-Fi ile doğrudan internete çıkar; telefondan kontrol için ek kablosuz modül gerekmez.

ESP32'yi telefondan kontrol etmenin 5 yolu

  • Yerel web sunucusu: ESP32 bir web sayfası sunar, sen de telefonun tarayıcısından kartın IP adresine girersin. Ek hesap gerekmez ama normalde yalnız aynı Wi-Fi ağından erişilir. Ayrıntılar ESP32 Async Web Server yazısında.
  • Bluetooth Classic ve BLE: İnternet ve modem gerekmez, telefon karta doğrudan bağlanır. Menzil iç mekânda genellikle 10 metre civarındadır. İki türü de ESP32 Bluetooth rehberinde anlattık.
  • Telegram botu: Karta mesajla komut gönderir, karttan bildirim alırsın. Evin dışından da çalışır ama grafik ya da kaydırıcı gibi bir panel sunmaz. Kurulum için ESP32 Telegram Bot yazısına bakabilirsin.
  • Bulut panelleri (Blynk, Arduino IoT Cloud): Web konsolunda şablon ve değişkenleri tanımlar, kodu kendin yazar, telefonda paneli kendin tasarlarsın. Esnek bir yoldur ama birkaç ayrı ekranı ve kavramı öğrenmen gerekir. Blynk için Blynk ESP32 Rehberi hazır.
  • BlueGrays IoT: Uygulamada 8 hazır şablondan birini seçersin. Ohmi kodu senin pin ayarlarınla ve cihaz anahtarınla hazırlar. Telefonda anahtar, kaydırıcı, renk seçici ve grafikler şablona göre kendiliğinden çıkar. Panel tasarlaman ya da sunucu kurman gerekmez.

Gerekenler: malzeme ve yazılım listesi

MalzemeNe işe yarar?Not
ESP32 geliştirme kartıWi-Fi'lı denetleyiciESP32 Dev Module, WROOM, S3 ve C3 desteklenir
USB veri kablosuKod yükleme ve beslemeYalnız şarj eden kabloda port görünmez
5 V röle modülüLambayı anahtarlamakOptokuplörlü, 3,3 V sinyalle çeken modül tercih et
LED + 220 Ω dirençRöle yerine güvenli ilk denemeKodda RELAY_ACTIVE_LOW = false yapılır
DHT22 (isteğe bağlı)Sıcaklık ve nem ölçmekOda istasyonu şablonu için
Breadboard ve jumper kablolarBağlantıları kurmakModüller için erkek-dişi kablo pratiktir
2,4 GHz Wi-Fi ağıKartın internete çıkışıKart 5 GHz ağa bağlanmaz
Arduino IDEKodu karta yüklemekEspressif esp32 paketi 3.x sürümü gerekir
BlueGrays uygulamasıKurulum ve telefondan kontroliOS ve Android; ilk cihazın ücretsiz

ESP32 uygulama ile kontrol nasıl çalışır?

BlueGrays IoT'de telefon ile ESP32 birbirine doğrudan bağlanmaz. Kart açılınca önce evdeki 2,4 GHz Wi-Fi ağına bağlanır. Ardından BlueGrays sunucusuna 443 portu üzerinden şifreli bir WebSocket (TLS) bağlantısı açar ve bu bağlantıyı sürekli açık tutar. Telefondaki uygulama da aynı sunucuya bağlanır. Lamba anahtarına dokunduğunda komut telefondan sunucuya, sunucudan karta gider. Bağlantı zaten açık olduğu için komut beklemeden ulaşır. Kartın gönderdiği sıcaklık değeri de aynı yolu ters yönde izler. 443, web sitelerinin de kullandığı porttur. Bu yüzden modemde port yönlendirme yapman, kendi sunucunu kurman ya da kartın IP adresini bilmen gerekmez.

Kartı sunucuya tanıtan şey cihaz anahtarıdır. Bu anahtar, uygulamanın cihazı oluştururken ürettiği, bgd_ ile başlayan gizli bir metindir. Kart bağlantıyı açarken anahtarı bağlantı başlığında gönderir. Sunucu da telefondan gelen komutu doğru karta iletir. Anahtar Seri Port Ekranı'na yazdırılmaz. Bağlantı koparsa BlueGraysIoT kütüphanesi artan aralıklarla kendisi yeniden dener. Çevrimdışıyken ölçtüğü değerleri bağlanınca gönderir, elektrik gidip gelince anahtarların son durumunu geri yükler. Kartın ve telefonun internete erişmesi yeterlidir: kart ev Wi-Fi'ında, telefon başka bir şehirde mobil veride olabilir.

Devre: röle modülünü ESP32'ye bağlamak

Lamba anahtarı ve oda istasyonu şablonlarında varsayılan pinler şöyledir: röle IN ucu GPIO26'ya, DHT22'nin veri ucu GPIO4'e bağlanır. Bu pinleri kurulumun 3. adımında değiştirebilirsin. Kartının bacak dizilimini Pinout aracından kontrol et. Bazı kartlarda 5 V pininin üzerinde VIN, bazılarında 5V yazar.

ParçaParça piniESP32 piniNot
Röle modülüVCC5V (VIN)Bobin 5 V ister; kart USB'den beslenirken bu pinde yaklaşık 5 V vardır
Röle modülüGNDGNDOrtak toprak
Röle modülüINGPIO263,3 V kontrol sinyali
LED (deneme için)Uzun bacak (+)GPIO26220 Ω dirençle; kısa bacak GND'ye, kodda RELAY_ACTIVE_LOW = false
DHT22VCC3V3Oda istasyonu için
DHT22DATAGPIO4Çıplak sensörde 10 kΩ pull-up gerekir; modüllerde kart üzerindedir
DHT22GNDGNDOrtak toprak
Röleyle 220 V şebeke lambası ya da prizi anahtarlamak tehlikelidir. Bu işi bilen biriyle yap ve bağlantıları fiş prizden çekiliyken kur. Açık uç bırakma, devreyi kapalı bir kutuya al. Uygulama da röle şablonlarında aynı uyarıyı gösterir: önce bir LED ile dene. ESP32 3,3 V mantıkla çalışır. 5 V röle modüllerinin çoğu bu sinyalle çeker ama hepsi çekmez; bu yüzden optokuplörlü bir modül seç. Ayrıntılar Röle Modülü Nedir? yazısında.

BlueGrays IoT kurulumu: uygulamadaki 5 adım

Uygulamada Atölyem › Cihazlarım › Yeni cihaz ekle yolunu izle. Ekranın üstünde "Adım 1 / 5" gibi bir sayaç görürsün. İlk üç adım telefonda geçer, dördüncü adım bilgisayarda, beşinci adım yine telefonda.

  1. Kart ve şablon: "Kartın hangisi?" sorusunda ESP32'yi seç, "Ne yapacak?" sorusunda 8 şablondan birini işaretle. İlk deneme için "Röle ile lamba" ya da sensörlü "Oda istasyonu" iyi bir başlangıçtır. Cihaza "Salon lambası" gibi kolayca tanıyacağın bir ad ver.
  2. Parçalar ve devre: "Parçaları hazırla" listesi şablonun istediği parçaları gösterir. "Kabloları bağla" şeması da hangi ucun hangi pine gideceğini çizer. Röle şablonlarında "220 V ile çalışacaksan bunu bilen biriyle yap. Önce bir LED ile dene." uyarısını görürsün.
  3. Wi-Fi ve kod: Wi-Fi ağ adını ve şifresini gir. Ağ adı birebir aynı olmalı ve 2,4 GHz bandına ait olmalı. İstersen "Bağlantı pinleri" bölümünde GPIO26 ve GPIO4'ü başka pinlerle değiştir. Sonra "Cihazı oluştur ve kodu hazırla" düğmesine bas. Ohmi kodu senin cihaz anahtarınla hazırlar; "Kodu kopyala" ya da "Paylaş" ile kodu bilgisayarına aktar.
  4. Arduino IDE'ye yükle: Kodu ESP32'ye yüklersin. Uygulamadaki alt adımları bir sonraki bölümde tek tek anlattık.
  5. Bağlantı: "Kartın bekleniyor" ekranı, kart sunucuya bağlandığı anda kendiliğinden ilerler.

Adım 4 ve 5: kodu yüklemek ve bağlantıyı görmek

  1. Arduino IDE kurulu değilse kur. Adımlar Arduino IDE Kurulumu yazısında.
  2. Kart Yöneticisi'nde "esp32" ara ve Espressif'in esp32 paketini kur. Bu paketin 3.x sürümü gerekir; eski 2.x sürümü kuruluysa güncelle. Paketin kurulumu ESP32 Nedir? yazısında da var.
  3. Kartı veri taşıyan bir USB kablosuyla tak. Araçlar › Kart menüsünden ESP32 Dev Module'ü (ya da kartının modelini), Araçlar › Port menüsünden yeni çıkan portu seç. Port görünmüyorsa kabloyu değiştir. Ardından kartındaki USB çipine göre CP210x ya da CH340 sürücüsünü kur.
  4. Kütüphane Yöneticisi'nde BlueGraysIoT diye ara ve Kur'a bas. Bağımlılıkları sorduğunda "Tümünü kur" de; böylece WebSockets, ArduinoJson ve DHT sensor library de kurulur. Takılırsan Arduino Kütüphane Ekleme rehberine bak.
  5. Yeni bir taslak aç, içindekileri silip uygulamadan kopyaladığın kodu yapıştır ve Yükle'ye bas. Alt pencerede "Connecting…" yazısında takılırsa karttaki BOOT düğmesine basılı tut. Yazma yüzdeleri görünmeye başlayınca düğmeyi bırak.
  6. Seri Port Ekranı'nı aç ve hızı 115200 yap. Önce "Wi-Fi bağlandı", birkaç saniye sonra "BlueGrays IoT: bağlandı" satırını görmelisin.

Seri ekranda bağlandı yazısı çıktığı anda telefondaki "Kartın bekleniyor" ekranı "Bağlandı: Değerler artık anlık geliyor." ekranına geçer. Şimdi lamba anahtarına dokun: rölenin tık sesini duymalı ya da LED'in yandığını görmelisin. Kart 2 dakika içinde bağlanmazsa uygulama üç şeyi kontrol etmeni ister. 2,4 GHz ağı mı seçtin? Seri ekranda "Wi-Fi bağlandı" yazıyor mu? Şifrede büyük-küçük harfler doğru mu? İlk satır hiç gelmiyorsa sorun Wi-Fi tarafındadır. O durumda ESP32 WiFi Bağlanmıyor yazısındaki kontrol listesi işini görür.

İlk kod: telefondan lamba açıp kapatmak

Uygulamanın "Röle ile lamba" şablonu için hazırladığı kod aşağıdakine benzer. En üstteki üç satır senin cihaz anahtarın, ağ adın ve şifrenle dolu gelir; burada yer tutucularla gösterildi. Kodun geri kalanı kısadır: bir röle fonksiyonu, bir anahtar tanımı ve tek satırlık bir loop().

C++ (Arduino IDE)
1/*
2 * Salon lambası · BlueGrays IoT
3 * BlueGrays · bluegrays.com
4 * Bu kodu paylaşma: içinde cihaz anahtarın ve Wi-Fi şifren var.
5 * Do not share this code: it contains your device key and Wi-Fi password.
6 */
7
8#include <BlueGraysIoT.h>
9
10// Uygulama bu üç satırı senin bilgilerinle doldurur / The app fills these three lines with your details
11const char *DEVICE_KEY = "bgd_UYGULAMADAKI_ANAHTARIN";
12const char *WIFI_NAME = "EV_AGI_2_4_GHZ";
13const char *WIFI_PASSWORD = "WIFI_SIFREN";
14
15BlueGraysIoT bg(DEVICE_KEY);
16
17const int RELAY_PIN = 26;
18const bool RELAY_ACTIVE_LOW = true;  // çoğu röle modülü LOW ile çeker / most relay modules switch on LOW
19void setRelay(bool on) { digitalWrite(RELAY_PIN, (on != RELAY_ACTIVE_LOW) ? HIGH : LOW); }
20
21void setup() {
22  Serial.begin(115200);
23  pinMode(RELAY_PIN, OUTPUT);
24  setRelay(false);                  // açılışta lamba kapalı / lamp off at power-up
25  bg.onSwitch("lamba", setRelay);   // uygulamadaki "Lamba" anahtarı / the "Lamba" switch in the app
26  bg.setDebug(Serial);              // durum mesajları Seri Port Ekranı'na / status messages to the Serial Monitor
27  bg.setLanguage(BG_LANG_TR);
28  bg.begin(WIFI_NAME, WIFI_PASSWORD);
29}
30
31void loop() {
32  bg.loop();  // burada uzun delay() kullanma / avoid long delay() calls here
33}
34
SatırGörevi
#include Kütüphaneyi ekler; Wi-Fi, şifreli bağlantı ve yeniden bağlanma işlerini kütüphane yönetir
DEVICE_KEY, WIFI_NAME, WIFI_PASSWORDCihaz anahtarı (bgd_ ile başlar), 2,4 GHz ağ adı ve şifresi; uygulama doldurur
BlueGraysIoT bg(DEVICE_KEY)Anahtarla bg nesnesini oluşturur; diğer bütün komutlar bu nesneyle verilir
RELAY_PIN = 26Röle IN ucunun bağlı olduğu pin; 3. adımda pini değiştirdiysen burada başka sayı görürsün
RELAY_ACTIVE_LOW = trueÇoğu röle modülü LOW sinyalle çeker; LED ile deniyorsan false yap, yoksa ters çalışır
setRelay(bool on)on true olduğunda aktif seviyeyi yazar: aktif LOW modülde LOW, diğerinde HIGH
setRelay(false) (setup içinde)Kart açıldığında lamba kapalı başlar
bg.onSwitch("lamba", setRelay)Uygulamadaki Lamba anahtarı her değiştiğinde setRelay fonksiyonunu true ya da false ile çağırır
bg.setDebug(Serial)Bağlantı durum mesajlarını Seri Port Ekranı'na yazar
bg.setLanguage(BG_LANG_TR)Durum mesajlarını Türkçe yazdırır
bg.begin(WIFI_NAME, WIFI_PASSWORD)Wi-Fi ağına ve BlueGrays sunucusuna bağlanmayı başlatır
bg.loop()Gelen komutları işler, bağlantıyı canlı tutar; loop() içinde sürekli çağrılmalıdır
loop() içinde uzun delay() kullanma. delay(5000) yazarsan kart 5 saniye boyunca bg.loop()'u çağıramaz. Telefondan gelen anahtar komutu gecikir, bağlantı da kopabilir. Zamanlamaya ihtiyacın varsa bir sonraki örnekteki gibi millis() kullan. Mantığını Arduino millis() ve delay() yazısında anlattık.

Sensör eklemek: Oda istasyonu (röle + DHT22)

Şimdi aynı karta bir DHT22 ekleyip telefona veri gönderelim. Uygulamada "Oda istasyonu" şablonunu seçersen lamba anahtarının yanına sıcaklık (°C) ve nem (%) değerleri ile grafikleri de gelir. DHT22, -40 ile 80 °C arasını yaklaşık ±0,5 °C doğrulukla ölçer. Nemi %0–100 aralığında ölçer ve en fazla 2 saniyede bir okunabilir. Veri ucunu GPIO4'e, VCC'yi 3V3'e, GND'yi GND'ye bağla. DHT ailesinin çalışma mantığını DHT11 Sıcaklık ve Nem Sensörü yazısında karşılaştırmalı olarak anlattık.

C++ (Arduino IDE)
1/*
2 * Oda istasyonu · BlueGrays IoT
3 * BlueGrays · bluegrays.com
4 * Bu kodu paylaşma: içinde cihaz anahtarın ve Wi-Fi şifren var.
5 * Do not share this code: it contains your device key and Wi-Fi password.
6 */
7
8#include <BlueGraysIoT.h>
9#include <DHT.h>
10
11const char *DEVICE_KEY = "bgd_UYGULAMADAKI_ANAHTARIN";
12const char *WIFI_NAME = "EV_AGI_2_4_GHZ";
13const char *WIFI_PASSWORD = "WIFI_SIFREN";
14
15BlueGraysIoT bg(DEVICE_KEY);
16
17const int RELAY_PIN = 26;
18const bool RELAY_ACTIVE_LOW = true;  // çoğu röle modülü LOW ile çeker / most relay modules switch on LOW
19void setRelay(bool on) { digitalWrite(RELAY_PIN, (on != RELAY_ACTIVE_LOW) ? HIGH : LOW); }
20DHT dht(4, DHT22);                   // DHT22 veri ucu GPIO4 / DHT22 data on GPIO4
21unsigned long lastReadMs = 0;
22
23void setup() {
24  Serial.begin(115200);
25  pinMode(RELAY_PIN, OUTPUT);
26  setRelay(false);
27  bg.onSwitch("lamba", setRelay);
28  dht.begin();
29  bg.setDeadband("sicaklik", 0.1);   // 0,1 °C değişmeden gönderme / send only after a 0.1 °C change
30  bg.setDeadband("nem", 1.0);        // %1 değişmeden gönderme / send only after a 1 % change
31  bg.setDebug(Serial);
32  bg.setLanguage(BG_LANG_TR);
33  bg.begin(WIFI_NAME, WIFI_PASSWORD);
34}
35
36void loop() {
37  bg.loop();  // burada uzun delay() kullanma / avoid long delay() calls here
38  if (millis() - lastReadMs >= 2000) {  // DHT22 en fazla 2 saniyede bir okunur / DHT22 reads at most every 2 s
39    lastReadMs = millis();
40    bg.send("sicaklik", dht.readTemperature());
41    bg.send("nem", dht.readHumidity());
42  }
43}
44

Röle kısmı ilk kodla aynıdır; yeni olan üç şey var. Birincisi bg.send("sicaklik", dht.readTemperature()) satırıdır: karttan uygulamaya değer gönderir ve ilk parametre uygulamadaki değişkenin adıdır. İkincisi bg.setDeadband("sicaklik", 0.1) satırıdır. En küçük değişim payını belirler: sıcaklık 0,1 °C değişmeden yeniden gönderilmez, nem için bu pay %1'dir. Üçüncüsü loop içindeki millis() - lastReadMs >= 2000 kontrolüdür. Sensör 2 saniyede bir okunur, ama arada bg.loop() beklemeden dönmeye devam eder. Kütüphane değeri yalnız değiştiğinde gönderir ve plan hızını aşmaz. Aynı değişken için iki gönderim arasında ücretsiz planda en az 1 saniye, Premium'da en az 0,2 saniye geçer. Bu sınırlar sunucuda kontrol edilir; koddaki sayıları değiştirmek onları aşmaz. Oda sıcaklığı dakikalarca 23,4 °C'de kalırsa kart yeni değer göndermez, 23,5 °C olunca tek bir mesaj gider. Kablo gevşekse ya da pull-up eksikse okuma geçersiz (NaN) olur. Değer gelmiyorsa önce GPIO4 bağlantısını ve beslemeyi kontrol et.

Telefonda ne görürsün?

  • Durum: Cihaz ekranının üstünde Çevrimiçi ya da Çevrimdışı yazar, altında "Son veri … önce" bilgisi bulunur. Kartın gerçekten bağlı olup olmadığını ilk buradan anlarsın.
  • Kontroller: Lamba şablonunda aç/kapat anahtarı çıkar. RGB şerit şablonunda renk seçici, %0–100 parlaklık ve efekt seçimi gelir. Perde şablonunda da 0–180° açı kaydırıcısı bulunur.
  • Canlı değerler ve grafikler: 1 sa, 24 sa, 7 gün ve 30 gün aralıkları vardır. 7 ve 30 günlük görünümde saatlik ortalama gösterilir. Grafikte En düşük, En yüksek ve Son değerler yazar. Kart bağlı kaldıkça her dakika yeni bir nokta eklenir.
  • Kod ve anahtar: Kodun tamamını, cihaz anahtarını ve Wi-Fi bilgilerini sonradan da burada görürsün. Kartı yeniden programlaman gerekirse kodu buradan kopyala.
  • Anahtarı yenile: Biri anahtarını gördüyse ya da kartı değiştirdiysen kullan. Eski anahtar hemen geçersiz olur, yeni kodu karta bir kez yüklemen yeterlidir.
  • Cihazı kaldır: Cihaz ve grafik geçmişi silinir, cihaz hakkın geri gelir.

Ücretsiz ve Premium: ne kadar kullanabilirsin?

İlk cihazın ücretsiz. Bir ESP32 ile lamba anahtarı ya da oda istasyonu kurmak için başka bir şeye ihtiyacın yok. Oda istasyonunda sıcaklık ve nem iki ayrı değişkendir. Ücretsiz planda ikisinin de canlı değeri telefona gelir, ama grafik geçmişi yalnız bir değişken için tutulur. Planlar arasındaki farklar aşağıda; ayrıntılar BlueGrays Premium Neleri Açar? yazısında.

ÖzellikÜcretsizPremium
Cihaz sayısı110
Grafik geçmişi tutulan değişken120
Geçmiş süresi24 saat30 gün
Aynı değişken için iki gönderim arası en az süre1 saniye0,2 saniye

Diğer yöntemlerle karşılaştırma

YöntemEvin dışından erişimKurulumda senin işinPanel ve grafikNe zaman uygun?
Yerel web sunucusuNormalde yok, aynı ağdanESP32 kodu ve HTML sayfası yazmakKendin tasarlarsınİnternetsiz ev içi kontrol paneli
Bluetooth / BLEYok, yaklaşık 10 mKart kodu ve telefon tarafında bir uygulamaKullandığın uygulamaya bağlıModem olmayan yerler, yakından kontrol
Telegram botuVarBot oluşturmak ve kodu yazmakMesaj ve düğmeler, grafik yokBildirim ve basit komutlar
BlynkVarŞablon, datastream, panel ve kodHazır widget'lar ve grafikKendi panelini tasarlamak isteyenler
Arduino IoT CloudVarArduino hesabında Thing ve değişken tanımlamak, kodu tamamlamakDashboard widget'larıArduino ekosisteminde kalanlar
BlueGrays IoTVarDevreyi kurmak ve kodu yüklemekŞablona göre hazır kontroller ve grafiklerHızlı başlamak ve öğrenirken kullanmak

Doğru seçim ihtiyacına bağlı. İnternet hiç yoksa Bluetooth ya da yerel web sunucusu tek seçenektir. BlueGrays IoT, Blynk ve Arduino IoT Cloud kartın ve telefonun internete erişmesini ister. Arayüzü sıfırdan tasarlamak ya da Home Assistant'a bağlanmak gibi esnek kurulumlar istiyorsan ESP32 MQTT ve bulut panelleri daha geniş seçenek sunar. BlueGrays IoT'de hazır şablon sayısı 8'dir. Buna karşılık devre şeması, parça listesi, kod ve telefon arayüzü birbiriyle uyumlu olarak hazır gelir. Öğrenirken bir yerde hata yapma ihtimalin azalır.

Güvenlik: anahtar, Wi-Fi şifresi ve kod

  • Cihaz anahtarı kartın kimliğidir. bgd_ ile başlayan anahtarı bilen biri senin kartının yerine geçebilir. Bu yüzden anahtarı ekran görüntüsünde, forumda ya da mesajlaşma grubunda paylaşma.
  • Wi-Fi şifresi telefonda kalır. Şifre sunucuya gönderilmez; ağ adı ise kodu sonra yeniden gösterebilmek için cihazla birlikte saklanır. Ama karta yüklenen kodun içinde şifre yazılıdır.
  • Kodu paylaşma. Uygulamanın da uyardığı gibi kodun içinde cihaz anahtarın ve Wi-Fi şifren var. Yardım istemek için kodu forumda göstereceksen önce DEVICE_KEY, WIFI_NAME ve WIFI_PASSWORD satırlarını sil.
  • Bağlantı şifrelidir. Kart ile sunucu arasındaki trafik 443 portunda TLS ile gider, aynı ağdaki biri komutları okuyamaz.
  • Şüphelendiğinde anahtarı yenile. Anahtarı yenile düğmesi eski anahtarı hemen geçersiz kılar. Kartı başkasına vereceksen de anahtarı yenile ya da cihazı kaldır.

Sık hatalar ve çözümleri

BelirtiOlası sebepÇözüm
Seri ekranda "Wi-Fi bağlandı" hiç çıkmıyor5 GHz ağ seçilmiş ya da şifrede büyük-küçük harf hatası var2,4 GHz ağın adını gir; modemde bantlar aynı adı taşıyorsa ayır; şifreyi dikkatle yeniden yaz
Araçlar › Port menüsünde port yokYalnız şarj eden kablo ya da eksik sürücüVeri kablosu kullan; çipe göre CP210x ya da CH340 sürücüsünü kur
Yükleme "Connecting…" yazısında takılıyorKart yükleme moduna geçmiyorBOOT düğmesine basılı tut, yazma başlayınca bırak; daha fazlası Arduino Kod Yüklenmiyor yazısında
Derleme ESP32 çekirdeğiyle ilgili hatalarla duruyoresp32 paketinin eski 2.x sürümü kuruluKart Yöneticisi'nden 3.x sürümüne güncelle
"No such file or directory" (BlueGraysIoT.h, DHT.h, WebSockets)Kütüphane ya da bağımlılıkları kurulmamışBlueGraysIoT'yi yeniden kur ve "Tümünü kur" de; eksik olanı adıyla ayrıca ara
Seri ekranda anlamsız karakterlerHız 115200 değilSeri Port Ekranı'nın hızını 115200 yap
"Wi-Fi bağlandı" var ama "BlueGrays IoT: bağlandı" yokAğ internete çıkmıyor, kurum ağı engelliyor ya da yenilenmiş anahtardan önceki kod yüklüTelefonun hotspot'uyla dene; Kod ve anahtar ekranındaki güncel kodu yükle
Röle tıklayınca kart yeniden başlıyorBesleme yetersiz (brownout)Kaliteli kablo ve güçlü adaptör kullan, röleyi 5V'tan besle; bkz. ESP32 Brownout
Anahtar kapalıyken LED yanıyorRELAY_ACTIVE_LOW röle için true bırakılmışDoğrudan LED kullanıyorsan RELAY_ACTIVE_LOW = false yap
Analog sensör Wi-Fi açılınca hep aynı değeri veriyorSensör ADC2 pinine bağlıADC1 pinlerinden birini (GPIO32–39) kullan; ayrıntılar ADC Nedir? yazısında
Sıcaklık ve nem değerleri gelmiyorDHT22 veri ucu yanlış pinde ya da pull-up eksikDATA ucunu GPIO4'e bağla, VCC'yi 3V3'e ver; çıplak sensörde 10 kΩ pull-up ekle

ESP32 ile kurabileceğin IoT proje fikirleri

Kart, sunucu ve telefon arasındaki yolu bir kez kurduktan sonra yeni bir cihaz eklemek birkaç dakikanı alır. Lamba anahtarıyla başla, ardından DHT22 ile verinin telefona aktığını gör, sonra sulama ya da perde gibi daha büyük projelere geç. BlueGrays uygulamasında bu ESP32 IoT projelerine adım adım devre şeması ve koduyla bakabilirsin. Keşfet'teki IoT projeleri süzgecini kullanabilir, proje sayfasındaki "IoT cihazı olarak kur" kartıyla aynı devreyi doğrudan telefonuna bağlayabilirsin.

Sıkça sorulan sorular

ESP32 telefondan nasıl kontrol edilir?

ESP32 telefondan yerel web sunucusu, Bluetooth, Telegram botu ya da bulut panelleriyle kontrol edilebilir. BlueGrays IoT ile Atölyem › Cihazlarım › Yeni cihaz ekle yolunu izlersin. Kartı ve şablonu seçer, Wi-Fi bilgilerini girer, Ohmi'nin hazırladığı kodu Arduino IDE ile yüklersin. Kart bağlandığında anahtarlar ve değerler telefonda görünür.

ESP32 internet olmadan telefondan kontrol edilir mi?

BlueGrays IoT ile hayır; hem kartın hem telefonun internete bağlı olması gerekir, çünkü komutlar sunucu üzerinden taşınır. İnternetsiz kontrol için Bluetooth (BLE) ya da aynı ağda çalışan bir ESP32 web sunucusu kullanabilirsin.

ESP32'yi başka bir şehirden kontrol edebilir miyim?

Evet. Kart ve telefon aynı sunucuya bağlandığı için aynı ağda olmaları gerekmez. Kart evdeki 2,4 GHz Wi-Fi'da, telefon mobil veride olabilir. Port yönlendirme, sabit IP ya da kendi sunucun gerekmez.

BlueGrays IoT ücretli mi?

İlk cihazın ücretsiz. Ücretsiz planda 1 cihaz, 1 değişkenin grafik geçmişi ve 24 saatlik geçmiş bulunur. Premium'da 10 cihaz, 20 değişkenin grafik geçmişi ve 30 güne kadar geçmiş açılır.

ESP32'yi Bluetooth ile mi Wi-Fi ile mi kontrol etmeliyim?

Bluetooth internet ve modem istemez, ama menzili iç mekânda genellikle 10 metre civarındadır. Wi-Fi ve sunucu üzerinden kontrolde kartı dünyanın her yerinden yönetirsin, grafik ve geçmiş de tutulur. Sürekli evdeysen ve modem yoksa Bluetooth, uzaktan erişim istiyorsan Wi-Fi daha uygundur.

BlueGrays IoT'ye kaç cihaz bağlayabilirim?

Ücretsiz planda 1, Premium'da 10 cihaz ekleyebilirsin. Desteklenen kartlar ESP32 (Dev Module, WROOM, S3, C3) ve Raspberry Pi Pico W'dir. Bir cihazı kaldırdığında cihaz hakkın geri gelir.

Tüm projeleri gör
ESP32 IoT Lamba Anahtarı (Röle)
#372Başlangıç
IoT

ESP32 IoT Lamba Anahtarı (Röle)

Lambanı nerede olursan ol telefondan aç, kapat. Bu proje uygulamadaki Röle ile lamba IoT şablonunun adım adım rehberi: ESP32 ve röle modülü ile kurulur, önce bir LED ile denenir. Atölyem › Cihazlarım › Yeni cihaz ekle yolunu izle, Röle ile lamba'yı seç; kodu Ohmi senin cihaz anahtarınla hazırlar. Bu sayfadaki kod örnektir: anahtar ve Wi-Fi bilgileri yer tutucu.

0.0(0)
ESP32 IoT Oda İstasyonu (Röle + DHT22)
#371Orta
IoT

ESP32 IoT Oda İstasyonu (Röle + DHT22)

Lambanı telefondan aç, odanın sıcaklığını ve nemini nerede olursan ol canlı izle. Bu proje uygulamadaki Oda istasyonu IoT şablonunun adım adım rehberi: ESP32, röle modülü ve DHT22 ile kurulur. Atölyem › Cihazlarım › Yeni cihaz ekle yolunu izle, Oda istasyonu'nu seç; kodu Ohmi senin cihaz anahtarınla hazırlar. Bu sayfadaki kod örnektir: anahtar ve Wi-Fi bilgileri yer tutucu.

0.0(0)
1
ESP32 IoT Bitki Sulama (Nem Sensörü + Pompa)
#376Orta
IoT

ESP32 IoT Bitki Sulama (Nem Sensörü + Pompa)

Saksının toprağı kuruyunca pompa kendiliğinden çalışsın, toprak nemini telefondan canlı izle. Bu proje uygulamadaki Toprak nemi + pompa IoT şablonunun adım adım rehberi: ESP32, toprak nem sensörü, röle ve mini su pompası ile kurulur. Atölyem › Cihazlarım › Yeni cihaz ekle yolunu izle; kodu Ohmi senin cihaz anahtarınla hazırlar. Bu sayfadaki kod örnektir: anahtar ve Wi-Fi bilgileri yer tutucu.

0.0(0)
ESP32 IoT RGB LED Şerit (WS2812B)
#374Orta
IoT

ESP32 IoT RGB LED Şerit (WS2812B)

Odanın ışığını telefondan yönet: rengi seç, parlaklığı ayarla, gökkuşağı ya da nefes efektini aç. Bu proje uygulamadaki RGB LED şerit IoT şablonunun adım adım rehberi: ESP32 ve 30 LED'lik WS2812B şerit ile üç kabloda kurulur. Atölyem › Cihazlarım › Yeni cihaz ekle yolunu izle, RGB LED şerit'i seç; kodu Ohmi senin cihaz anahtarınla hazırlar. Bu sayfadaki kod örnektir: anahtar ve Wi-Fi bilgileri yer tutucu.

0.0(0)
1
ESP32 IoT Perde Açıcı (SG90 Servo)
#378Orta
IoT

ESP32 IoT Perde Açıcı (SG90 Servo)

Telefondaki + ve − düğmelerine dokun, servo aynı anda o açıya dönsün: maket bir perdeyi, jaluzinin çevirme çubuğunu ya da küçük bir kapağı nerede olursan ol aç kapat. Bu proje uygulamadaki Servo ile perde IoT şablonunun adım adım rehberi: ESP32 ve SG90 servo ile, yalnız 3 kabloyla kurulur. Atölyem › Cihazlarım › Yeni cihaz ekle yolunu izle; kodu Ohmi senin cihaz anahtarınla hazırlar. Bu sayfadaki kod örnektir: anahtar ve Wi-Fi bilgileri yer tutucu.

0.0(0)
1
Pico W IoT Sıcaklık ve Nem (DHT22)
#373Başlangıç
IoT

Pico W IoT Sıcaklık ve Nem (DHT22)

Odanın sıcaklığını ve nemini nerede olursan ol telefondan canlı izle, değişimi grafikte gör. Bu proje uygulamadaki Sıcaklık ve nem IoT şablonunun adım adım rehberi: Raspberry Pi Pico W ve DHT22 ile üç kabloda kurulur. Atölyem › Cihazlarım › Yeni cihaz ekle yolunu izle, kart olarak Pico W'yi, şablon olarak Sıcaklık ve nem'i seç; kodu Ohmi senin cihaz anahtarınla hazırlar. Bu sayfadaki kod örnektir: anahtar ve Wi-Fi bilgileri yer tutucu.

0.0(0)
1
Pico W IoT Kapı Sensörü (Reed)
#375Başlangıç
IoT

Pico W IoT Kapı Sensörü (Reed)

Kapı ya da pencere açık mı kaldı? Nerede olursan ol telefondan bak. Bu proje uygulamadaki Kapı / pencere IoT şablonunun adım adım rehberi: Raspberry Pi Pico W, bir reed anahtar ve küçük bir mıknatıs ile iki kabloda kurulur. Atölyem › Cihazlarım › Yeni cihaz ekle yolunu izle, kart olarak Pico W'yi, şablon olarak Kapı / pencere'yi seç; kodu Ohmi senin cihaz anahtarınla hazırlar. Bu sayfadaki kod örnektir: anahtar ve Wi-Fi bilgileri yer tutucu.

0.0(0)
Pico W IoT Hareket Sayacı (PIR)
#377Başlangıç
IoT

Pico W IoT Hareket Sayacı (PIR)

Kapıdan ya da koridordan kaç kez geçildiğini say, hareket olduğu anı telefondan canlı gör. Bu proje uygulamadaki Hareket algılayıcı IoT şablonunun adım adım rehberi: Raspberry Pi Pico W ve PIR hareket sensörü ile, yalnız 3 kabloyla kurulur. Atölyem › Cihazlarım › Yeni cihaz ekle yolunu izle; kodu Ohmi senin cihaz anahtarınla hazırlar. Bu sayfadaki kod örnektir: anahtar ve Wi-Fi bilgileri yer tutucu.

0.0(0)