Arduino ile ESP8266 Wi-Fi Modülü Kullanarak Sıcaklık ve Nem Ölçümü (ThingSpeak’e Veri Gönderme)
Arduino ile ESP8266 Wi-Fi Modülü Kullanarak Sıcaklık ve Nem Ölçümü (ThingSpeak'e Veri Gönderme)
Amaç
Bu uygulamanın amacı, DHT11 sıcaklık ve nem sensörü ile ölçülen ortam verilerini ESP8266 Wi-Fi modülü aracılığıyla internete göndererek ThingSpeak IoT platformunda gerçek zamanlı olarak izlemektir.
ESP8266 Wi-Fi Modülü Nedir?
ESP8266, düşük maliyetli ve yüksek performanslı bir Wi-Fi haberleşme modülüdür. Üzerinde bulunan 32-bit mikrodenetleyici sayesinde hem Arduino ile birlikte kullanılabilir hem de tek başına programlanabilir.
ESP8266 sayesinde cihazlar internete bağlanarak sensör verilerini bulut ortamına aktarabilir ve uzaktan kontrol edilebilir.
ESP8266'nın Özellikleri
| Özellik | Değer |
|---|---|
| İşlemci | 32-bit Tensilica L106 |
| Çalışma Gerilimi | 3.3 V |
| Wi-Fi Standardı | IEEE 802.11 b/g/n |
| Frekans | 2.4 GHz |
| GPIO Pinleri | Modüle göre değişir |
| Seri Haberleşme | UART |
| Çalışma Modları | İstemci (Station), Erişim Noktası (Access Point), Her ikisi (AP+STA) |
Not: ESP8266 modülü 3.3 V ile çalışır. 5 V uygulanması modüle zarar verebilir. Arduino UNO ile kullanılırken uygun seviye dönüştürücü (logic level converter) kullanılması önerilir.
ThingSpeak Nedir?
ThingSpeak, sensörlerden gelen verileri internet üzerinden depolayan ve grafikler halinde görüntüleyen ücretsiz bir IoT (Nesnelerin İnterneti) platformudur.
ThingSpeak ile;
-
Sensör verileri kaydedilebilir.
-
Gerçek zamanlı grafikler oluşturulabilir.
-
Veriler uzaktan izlenebilir.
-
MATLAB analizleri yapılabilir.
-
Alarm ve otomasyon sistemleri geliştirilebilir.
Gerekli Malzemeler
| Malzeme | Adet |
|---|---|
| Arduino UNO | 1 |
| ESP8266 Wi-Fi Modülü | 1 |
| DHT11 Sıcaklık ve Nem Sensörü | 1 |
| Breadboard | 1 |
| Jumper Kablolar | Yeterli kadar |
| USB Kablosu | 1 |
Devre Bağlantıları
DHT11
| Arduino | DHT11 |
|---|---|
| 5V | VCC |
| GND | GND |
| D2 | DATA |
ESP8266
| Arduino | ESP8266 |
|---|---|
| D10 | RX |
| D11 | TX |
| 3.3V | VCC |
| GND | GND |
Uyarı: ESP8266'nın RX pini 3.3 V seviyesinde çalışır. Arduino'nun 5 V TX çıkışı doğrudan bağlanmamalı, gerilim bölücü veya seviye dönüştürücü kullanılmalıdır.
Çalışma Prensibi
Sistem aşağıdaki adımlarla çalışır:
-
Arduino açılır.
-
ESP8266 AT komutları ile başlatılır.
-
Wi-Fi ağına bağlanılır.
-
DHT11 sensöründen sıcaklık ve nem okunur.
-
ThingSpeak sunucusuna TCP bağlantısı kurulur.
-
HTTP GET isteği hazırlanır.
-
Sensör verileri API anahtarı kullanılarak ThingSpeak kanalına gönderilir.
-
Bağlantı kapatılır.
-
İşlem belirli aralıklarla tekrarlanır.
Programın Açıklaması
Programda ilk olarak gerekli kütüphaneler eklenir:
-
SoftwareSerial→ ESP8266 ile seri haberleşme için -
DHT11→ Sıcaklık ve nem sensörünü okumak için
Daha sonra;
-
Wi-Fi adı (SSID)
-
Wi-Fi şifresi
-
ThingSpeak IP adresi
-
API anahtarı
-
Sensör pinleri
tanımlanır.
setup() fonksiyonunda:
-
Seri haberleşme başlatılır.
-
ESP8266'nın çalıştığı kontrol edilir.
-
Modül istemci (Station) moduna alınır.
-
Wi-Fi ağına bağlanılır.
loop() fonksiyonunda:
-
DHT11 sensörü okunur.
-
Sıcaklık ve nem değerleri alınır.
-
ThingSpeak için HTTP GET isteği hazırlanır.
-
ESP8266 üzerinden veri gönderilir.
-
TCP bağlantısı kapatılır.
-
Belirlenen süre sonunda işlem tekrarlanır.
ThingSpeak Veri Gönderme
Programda gönderilen örnek HTTP isteği şu şekildedir:
GET /update?api_key=API_ANAHTARINIZ&field1=25.6&field2=48.3
Burada;
-
field1→ Sıcaklık (°C) -
field2→ Nem (%)
değerlerini temsil eder.
ThingSpeak Kanalında Görüntülenen Veriler
Gönderilen bilgiler platformda grafik olarak izlenebilir.
| Alan | Veri |
|---|---|
| Field 1 | Sıcaklık (°C) |
| Field 2 | Nem (%) |
Örnek:
| Zaman | Sıcaklık | Nem |
|---|---|---|
| 10:00 | 24.5 °C | %48 |
| 10:05 | 24.8 °C | %49 |
| 10:10 | 25.2 °C | %50 |
Kullanım Alanları
Bu uygulama aşağıdaki IoT projelerinde kullanılabilir:
-
Akıllı ev sistemleri
-
Sera otomasyonu
-
Hava istasyonları
-
Sunucu odası izleme
-
Soğuk hava depoları
-
Akıllı ofis uygulamaları
-
Uzaktan sıcaklık takibi
-
Endüstriyel izleme sistemleri
Avantajları
-
Kablosuz veri iletişimi sağlar.
-
İnternet üzerinden uzaktan izleme yapılabilir.
-
Düşük maliyetlidir.
-
Gerçek zamanlı veri kaydı oluşturur.
-
ThingSpeak ile grafik analizi yapılabilir.
-
IoT projeleri için uygundur.
Olası Hatalar ve Çözümleri
| Sorun | Olası Neden | Çözüm |
|---|---|---|
| Wi-Fi ağına bağlanmıyor | SSID veya şifre yanlış | Ağ bilgilerini kontrol edin. |
| ESP8266 cevap vermiyor | Baud hızı veya bağlantı hatalı | Seri haberleşme ayarlarını ve kabloları kontrol edin. |
| ThingSpeak'e veri gitmiyor | API anahtarı yanlış | Doğru Write API Key kullanıldığını doğrulayın. |
| Sensör değeri okunmuyor | DHT11 bağlantısı hatalı | Sensör bağlantılarını ve kütüphaneyi kontrol edin. |
| Sürekli bağlantı kopuyor | Yetersiz güç beslemesi | ESP8266 için kararlı 3.3 V besleme sağlayın. |
Geliştirme Önerileri
Bu proje aşağıdaki özelliklerle geliştirilebilir:
-
DHT22 sensörü kullanarak daha hassas ölçüm yapılması
-
OLED veya LCD ekran eklenmesi
-
Röle ile fan veya klima kontrolü
-
Mobil uygulama üzerinden veri görüntüleme
-
E-posta veya SMS uyarıları
-
MQTT protokolü ile haberleşme
-
Birden fazla sensörden veri toplanması
Sonuç
Bu uygulamada Arduino UNO, DHT11 sıcaklık ve nem sensörü ile ESP8266 Wi-Fi modülü kullanılarak ölçülen çevresel veriler internete aktarılmış ve ThingSpeak platformunda gerçek zamanlı olarak görüntülenmiştir. Sistem, kablosuz ağ üzerinden bulut tabanlı veri paylaşımını gerçekleştirerek Nesnelerin İnterneti (IoT) uygulamalarının temel çalışma mantığını göstermektedir. Bu proje sayesinde sensör okuma, seri haberleşme, Wi-Fi bağlantısı, HTTP istekleri ve bulut tabanlı veri kaydı konularında uygulamalı deneyim kazanılmaktadır. Ayrıca uzaktan izleme ve veri analizi gerektiren akıllı ev, sera otomasyonu ve çevresel izleme gibi birçok projeye temel oluşturabilecek niteliktedir.