ESP8266 Wifi Modülü ile RemoteXY Kullanarak İNTERNETTEN led kontrol uygulaması (Arduino Dersleri, 35) Featured

Rate this item
(2 votes)

Bu uygulamamızda ESP8266 Wifi modülü ile arduinoyu kullanarak internet ile uzaktan kontrol edilebilir bir uygulama gerçekleştireceğiz.  Yapacağımız uygulamada ESP8266 wifi modülüne bir isim ve parola vereceğiz, cep telefonumuzda kullanacağımız RemoteXY uygulaması ile bu oluşturduğumuz sisteme bağlanıp ledleri ve buzzzerı internetten kontrol edeceğiz. İnternetten kontrol etmek için bize bir bulut sunucu veya veritabanı lazım. Bu uygulamada RemoteXY'nin bulut sunucusunu kullanacağız. Başlayalım..

Gerekli Malzemeler

1 adet Arduino Uno R3
1 adet breadboard
1 adet ESP8266 Wifi Modül
1 adet buzzer
2 adet led (kırmızı, yeşil)
5 adet direnç (2 adet 220 ohm,3 adet 1K)
12 adet jumper kablo (7EE, 5DE)

ESP8266 Wifi Modülü ile RemoteXY Kullanarak İnternetten led kontrol DEVRESİ

NOT: ESP8266 modülü 3.3 Volt ile çalışmaktadır. (Bir çok kaynakta 3.3V ile kullanırken de 1K ve 2Klık dirençler kullanarak voltaj bölücü devre kullanılmıştır. Biz de uygulamalarımızda 1K ve 2Klık dirençler kullanarak devreyi oluşturduk.) Ancak ESP8266 modülü bağlantı ve veri gönderme sırasında Arduino'nun verebileceği akımdan fazlasına ihtiyaç duyabilmektedir. Bu durumda ESP8266'yı verimli kullanabilmek için harici bir 3.3V ile beslemek en doğru kullanım şekli olacaktır. 

 

REMOTE XY.com ayarları ve Arduino Kodunun oluşturulması
(ESP8266 Wifi Modülü ile RemoteXY Kullanarak İnternetten led ve buzzer kontrol uygulaması Arduino Kodları)

RemoteXY.com sitesine girip, start now a tıkladığımızda karşımıza bir uygulama ekranı gelecek. Sağ kısımda bulunan Ayarlar (configuration) kısmından sırasıyla Connection -Cloud Server , Device -Arduino Uno, Module - ESP8266 Wifi Module, IDE- Arduino Ide'yi seçiyoruz. Yani aşağıdaki resimdeki gibi olacak seçimlerimiz. Daha sorna APPLY yani uygula seçeneğini tıklayıp çıkıyoruz bu alandan.

 

Hemen aynı tarafta bulunan Module Interface kısmından  Hardware Serial veya Software Serial seçeneklerini seçiyoruz. ESP8266 modülünü arduino'da 0 ve 1 numaralı  pinlere mi (hardware serial) , yoksa software serial kullanarak farklı pinlere mi takacağız onu belirtiyoruz. Bir bu uygulamada donanımsal iletişim pinlerini yani ARduino'nun 0 ve 1 numaralı pinlerini kullanacağımız için HArdwareSErialı seçtik, hemen altından boudrate değerini 115200 yapıyoruz.

Wifi Connection kısmına sistemin internete bağlanabilmesi için var olan kablosuz adı ve paralosını yazıyoruz. Port 6377 olarak kalıyor.

Cloud Server Kısmında bilgileri girmeden önce remotexy.com sitesine üye olduktan sonra sağ üst kısımda bulunan My Tokens'ı tıklıyoruz. Ve burada cloud server için token oluşturuyoruz. Sistemimizin  internet üzerinden kontrolünü cloud server ile sağlıyoruz. Burada yer alan token değerini alıyoruz.
Şimdi mobil uygulama arayüzünü yaptığımız kısımda bulunan Cloud Server kısmına geliyoruz ise server adresi kısmına cloud.remotexy.com, token kısmına token değerimizi yazıyoruz.

Şimdi ayarları yaptığımıza göre sol kısımda bulunan, Elements üzerinden  buton ve switch gibi elementlerle uygulamamızı oluşturabiliriz. Biz bu uygulamada iki led ve bir buzzer kullanacağımız için ledler için buton, buzzer için ise switch yani anahtar seçiyoruz.
Butonu sürükleyip telefon ekranına bıraktıktan sonra, sağ alt kısımda bulunan Element kısmından özelliklerini değiştirebilirsiniz. Burada önemli kısım butonun hangi numaralı pine etki edeceğini seçmek olacaktır.Örneğin yeşil ledimin takılı olduğu 12 numaralı pini kontrol etmesini istiyorsam Snap To Pin kısmından 12 numarlaı pini seçiyoruz. Aynı şekilde kırmızı led için 13 ve buzzer için buzzerın takılı olduğu 7 numaralı pini seçiyoruz.

Ayarları yaptıktan sonra Get Source kısmından oluşturulan kodu ve kütüphaneyi indiriyoruz. http://remotexy.com/en/library/ RemoteXY küttüphanesini kurup, kodu da arduinoya yüklüyoruz. Kodu arduino'ya yüklerken 0 numaralı pini çıkarmayı unutmuyoruz, yoksa yükleme yapmayacaktır.

 


#define REMOTEXY_MODE__ESP8266_HARDSERIAL_CLOUD

#include <RemoteXY.h>

// RemoteXY connection settings 
#define REMOTEXY_SERIAL Serial
#define REMOTEXY_SERIAL_SPEED 115200
#define REMOTEXY_WIFI_SSID "@fatih"
#define REMOTEXY_WIFI_PASSWORD "!1qaz2WSX3edc4RFV5tgb%56"
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "019e538bc5fe9d559cef1673a035a156"


// RemoteXY configurate  
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,3,0,0,0,54,0,8,180,0,
  1,0,9,9,12,12,1,31,107,196,
  177,114,109,196,177,122,196,177,0,2,
  0,51,15,22,11,2,26,31,31,79,
  78,0,79,70,70,0,1,0,9,29,
  12,12,135,31,121,101,197,159,105,108,
  0 };
  
// this structure defines all the variables of your control interface 
struct {

    // input variable
  uint8_t button_1; // =1 if button pressed, else =0 
  uint8_t switch_1; // =1 if switch ON and =0 if OFF 
  uint8_t button_2; // =1 if button pressed, else =0 

    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0 

} RemoteXY;
#pragma pack(pop)

/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////

#define PIN_BUTTON_1 13
#define PIN_SWITCH_1 7
#define PIN_BUTTON_2 12


void setup() 
{
  RemoteXY_Init (); 
  
  pinMode (PIN_BUTTON_1, OUTPUT);
  pinMode (PIN_SWITCH_1, OUTPUT);
  pinMode (PIN_BUTTON_2, OUTPUT);
  
  // TODO you setup code
  
}

void loop() 
{ 
  RemoteXY_Handler ();
  
  digitalWrite(PIN_BUTTON_1, (RemoteXY.button_1==0)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH);
  digitalWrite(PIN_BUTTON_2, (RemoteXY.button_2==0)?LOW:HIGH);
  
  // TODO you loop code
  // use the RemoteXY structure for data transfer


}


ESP8266 Wifi Modülü ile RemoteXY Kullanarak İnternetten led kontrol uygulaması için MOBİL Uygulamanın indirilmesi ve Sistemin çalıştırılması

Devreyi oluşturduk, arduino kodlarını yükledik ve sıra geldi sistemin çalışması için cep telefonu kısmına.
Öncelikle Google Play'den RemoteXY uygulamasını indiriyoruz.
Cep telefonumuzdan RemoteXY programını açıyoruz
Sağ üst kısımda bulunan + işaretini tıklıyoruz.
Cloud Server'ı seçiyoruz
Token değerimizi token kısmına yazıyoruz.
Remotexy.com sitesinde oluşturduğumuz arayüzümüz karşımıza çıkıyor. Ve sistemi kontrol edebiliriz artık.

Kaynak ve Ayrıntılar için :

http://remotexy.com/en/help/start/arduino-esp8266-cloud/

 

 

CTRL Bizde

Kendi halinde bir kaç kişiyiz,. Karşılaştığımız sorunları çözmek için bazen "çok zaman" harcadığımızı fark edip

devamı

Yeni Eklenenler