Arkadaşlar merhaba, bu projemizde aynı internetten led açıp kapatır gibi kahve makinemizi açıp kapatacağız. Başlıkta kahve makinesi yazdım fakat bu proje ile ister oda lambanızı, ister televizyonunuzu kapatıp açın, birbirinden hiç bir farkı yok bu işlemlerin.

Öncelikle internete bağlanma, internet üzerinden Arduino’ya veri yollayıp kahve makinemizi açıp kapama işlemlerini ESP8266 üzerinden yapacağız(Bu yüzden daha önce ESP8266 kullanmadıysanız sizi şöyle alalım). Açma kapama komutu Arduino’ya geldikten sonra, kahve makinemizi röle ismi verilen elektromanyetik bir komponent ile kontrol edeceğiz.

Röle üzerinden akım geçtiği zaman çalışan bir elektromanyetik devre elemanı olup, başka bir devrenin açılıp kapanmasını sağlar. Yani bir nevi anahtardır. 5Volt veya 12Volt tetiklemeli modelleri bulunur. Yani bir bacağına 5Volt geldiğinde diğer 2 bacağı kısa devre olur. 5Volt gelmediğinde ise başka 2 bacağı kısa devre olur. Ayrıntılı bilgiye buradan ulaşabilirsiniz.

Kahve makinemizi röle ile kontrol etmemizin sebebi, bildiğiniz gibi evimizdeki tüm elektrikli aletler prizlerden gelen 220V gerilim ile çalışır. Kimisi bunu 12V’a veya 5V’a dönüştürüp o şekilde kullanırken, kimisi 220V gerilimi direkt olarak kullanır. Sonuç olarak öyle ya da böyle cihazlarımızın hepsi ilk önce 220V gerilim ile beslenir ve Arduino ile sadece 5V gerilimleri kontrol edebiliriz.

Röle ile direkt olarak 220Volt’u kontrol edeceğimizden dikkatli olmakta büyük fayda var. İlk defa röle kullanacaksanız 220Volt u kontrol etmek yerine 12Volt’luk bir pili kullanıp 12Volt ile çalışan lambaları kontrol etmeniz sizin için daha iyi olacaktır.

Röle devresini hazır bir şekilde satın alabileceğiniz gibi kendiniz de yapabilirsiniz. Eğer hazır almayıp kendim yapacağım derseniz devrenizi breadboard’a değil pertanaksa kurmanız ve 220Volt geçecek yerleri elektrik bandı veya silikon ile güzelce yalıtmanız gerekmektedir. Breadboard kullanmamamızın nedeni breadboard’ın içindeki iletken yolların AC akımı kaldırmayacağı ve yanacağındandır.

Röle devresini kendi yapacaklar röle devresini kolayca internette aratarak bulabilirler. Bu projede hem kolaylık olması açısından hem de elimde bulunduğu için ben hazır röle kartı kullanacağım.

Projede kullanılacak malzemeler ve araçlar:

İlk önce devremizi kuralım daha sonra kodu anlatıp, yaptığımız projeyi tüm internete açmaktan bahsedeceğim.

ESP8266 modülü ile yaptığımız bu projede, açma kapama işlemlerini internet üzerinden yapabilmek için ESP modülünün IP adresine ihtiyacımız olacak. Bu ip adresi 192.168.X.X şeklinde bir dizilime sahip ve buradaki X’ler sizin evinizdeki esp’nin bağlı olduğu modem tarafından veriliyor. Eğer esp modeme bağlı değilse IP adresiniz 0.0.0.0 şeklinde gözükecektir. Modülünüzün IP adresini bilmiyorsanız daha önceki şu yazımdan bulabilirsiniz.

Kuracağımız devre aşağıdaki şekilde olacak. Fakat kahve makinesinin röleye bağlanacak kısımları için, kablonun kesilmesi gerekiyor. Kesmeye kıyamıyorsanız dişi erkek uçlu kabloyu kahve makinenize bağlayıp onu kesebilirsiniz(Dişi erkek uçlu kablo dediğim bildiğiniz uzatma kablosu).

Bağlantı Şeması:

devre_samasi

RÖLENİN BAĞLANMASI

Röle ile 220 Volt alternatif akımı kontrol edeceğimizden jumper kablo kullanamıyoruz. direk olarak kahve makinemizin kendi prizini kesip aşağıdaki resimlerdeki şekilde röleye bağlamamız gerekmekte. Ya da kesmek istemiyorum derseniz, elektrikçilerde bulunan uzatma kablolarından alıp onu kesebilirsiniz. Yarım metre kablo ve bir dişi bir erkek fiş yeterli olacaktır.

IMG-20160516-WA0006

IMG-20160516-WA0007Devrelerimizi bu şekilde bağladıktan sonra daha önce led yakmak için kullandığımız kod üzerinde küçük oynamalar yapmamız gerekecek. Temelde aynı kod fakat google play üzerinden bir uygulama ile kullanabilmemiz için bir kaç noktayı değiştirmemiz gerekiyor. Google play demişken, rölemizi sadece ip numaramızı internet tarayıcısına girip butonlara tıklayarak değil, android uygulaması üzerinden de kontrol edebileceğiz.

İndirmemiz gereken uygulamayı buradan indirebilirsiniz. Daha bir çok uygulama mevcut bu şekilde kullanılabilecek. Siz de google play’e esp8266 yazarak bir çok uygulamaya ulaşabilirisiniz fakat ben bu uygulamayı kullanacağım projede.

IMG-20160502-WA0000Uygulamayı açtığımızda bizi yandaki gibi bir ekran karşılıyor. Your IP Here yazan kısma IP adresimizi giriyoruz ve kırmızı butona bastığımızda Arduino’muza rölenin açılma komutunu yolluyor, tekrar bastığımızda ise kapatma komutunu yolluyor.

Şimdi gelelim Arduino Kodumuza;

#define ag_ismi "Wifi Adresi"
#define ag_sifresi "Wifi Sifresi"
void setup()
{
  Serial.begin(115200); //Seriport'u açıyoruz. Güncellediğimiz 
                        //ESP modülünün baudRate değeri 115200 olduğu için bizde Seriport'u 115200 şeklinde seçiyoruz
  Serial.println("AT"); //ESP modülümüz ile bağlantı kurulup kurulmadığını kontrol ediyoruz.
  pinMode(8,OUTPUT);
  delay(3000); //ESP ile iletişim için 3 saniye bekliyoruz.
 
  if(Serial.find("OK")){         //esp modülü ile bağlantıyı kurabilmişsek modül "AT" komutuna "OK" komutu ile geri dönüş yapıyor.
     Serial.println("AT+CWMODE=1"); //esp modülümüzün WiFi modunu STA şekline getiriyoruz. Bu mod ile modülümüz başka ağlara bağlanabilecek.
     delay(2000);
     String baglantiKomutu=String("AT+CWJAP=\"")+ag_ismi+"\",\""+ag_sifresi+"\"";
    Serial.println(baglantiKomutu);
     delay(5000);
 }
 
   Serial.print("AT+CIPMUX=1\r\n");
   delay(200);
   Serial.print("AT+CIPSERVER=1,333\r\n");
   delay(1000);
}
void loop(){
  if(Serial.available()>0){
    if(Serial.find("+IPD,")){
      String metin = "<head> Kahve Makinesi </head>";
      metin += "<br><a href=\" /gpio/0\"><button type='button'>ON</button></a>"; 
      metin += "<br><a href=\" /gpio/1\"><button type='button'>OFF</button></a>";      
      String cipsend = "AT+CIPSEND=";
      cipsend +="0";
      cipsend +=",";
      cipsend += metin.length();
      cipsend += "\r\n";
      Serial.print(cipsend);
      delay(500);
      Serial.println(metin);
      role_tetikleme();
      Serial.println("AT+CIPCLOSE=0");
      
    }
  }
}
 
void role_tetikleme(){
 String gelen ="";
 char serialdenokunan;
 while(Serial.available()>0){
 serialdenokunan = Serial.read();
 gelen +=serialdenokunan;

 }
 Serial.println(gelen);
 if((gelen.indexOf(":GET /gpio/0")>1)){  //on butonuna basıldığında server adresinde /?pin=on var ise
  digitalWrite(13,HIGH);                  
 }
  if((gelen.indexOf(":GET /gpio/1")>1)){ // off butonuna basıldığında server adresinde /?pin=off var ise
  digitalWrite(13,LOW);                    
 }
 }

ESP Modülünü Tüm İnternete Açma 

Arkadaşlar buraya kadar yaptıysanız şuanda aynı ağa bağlı tüm cihazlardan AT+CIFSR komutu ile bulduğunuz IP adresini kullanarak bağlanabilir ve kahve makinenizi internet üzerinden çalıştırabilirsiniz. Fakat bu IP adresi ile işinizdeyken kahve makinenizi çalıştıramaz ya da ev ağı dışından bir ağ ile açtığımız sunucuya ulaşamazsınız. Bunun nedeni ise size verilen IP adresinin Local ağ üzerinde tanımlı olmasıdır. Bu local ağdaki IP adresini tüm internete açmak için Port Yönlendirme ismi verilen bir yöntem kullanacağız. Bu kısım ESP8266 ile bağlantılı olmayıp modem ayarları üzerinden gerçekleştirilecektir.

Öncelik ile modemin ayarlarına girmemiz gerekiyor. Bunun için önce modemin IP adresini bulmalıyız. Bu adresil bulabilmek için Windows’da başlata cmd yazıp enter’a basıyoruz ve aşağıdaki gibi bir ekran ile karşılaşıyoruz.

cmd_ekrani

Bu ekranı gördükten sonra ekrana ipconfig yazıyoruz ve aşağıda kırmızı ile kutu içine alınan yeri not ediyoruz. Burası bizim modemimize giriş anahtarı.

cmd_ekrani_ipconfig

Benim modemim netmaster marka bir modem bu yüzden şu şekilde bir ekran ile karşılaştım. Sizin göreceğiniz görüntü daha farklı olabilir.

netmaster

Eğer daha önce değiştirmediyseniz muhtemelen kullanıcı isminiz ve şifreniz ekranda yazacaktır. Giriş yaptığımızda üst menüden gelişmiş sekmesine tıklıyoruz.

netmaster_gelismis

Daha sonra sol taraftan yönlendir seçeneğini işaretliyoruz. Gelen ekran bizim port yönlendireceğimiz yer.

netmaster_yonlendirme

Port yönlendirme ekranına ulaştıktan sonra bilgileri aşağıdaki gibi dolduruyoruz.

NOT: Burada Lokal IP dediği kısım sizin kendi ESP modülünüzün IP adresidir unutmayın.

netmaster_ip4v

Kod içerisinde 333 numaralı portu açtığım için burada başlangıç ve bitiş portunu 333 yaptım. Eğer 80 veya başka bir portu seçseydim, seçtiğim port numarasını girmem gerekecekti.

Port yönlendirme işlemini tamamladıktan sonra, artık sunucumuz tüm internete açılmış durumda. Artık modemimizin bağlı cihazlara atadığı IP adresi ile sunucuya bağlanabiliriz.

Bu IP adresini bulmak için, www.whatismyip.com adresine girip orada yazan ip adresini kullanabilirsiniz.

whatismyip

Örneğin, ben yaptığım projelere 194.27.101.122:333 IP adresi ile girebileceğim. Sondaki 333 port numaramı gösteriyor.

Eğer ESP ile aynı ağa bağlı iseniz, esp’nin kendi IP adresinden bağlanabilirsiniz.

6 Yorumlar

  1. Hocam gerekli bağlamaları yapmama rağmen esp modülünün mavi ışığı hiçbir şekilde yanmıyor. Nerede yanlış yapıyorum kafayı yemek üzereyim.

  2. Yani akıllı ev gibi düşünelim internet üzerinden ışıgı yakmada sorun yok ama bir buton ekleyerek hem butondan hem Internetten odanın lambalarını nasıl yakarız

CEVAP VER