Merhaba arkadaşlar elimde 2 tane esp8266 , 2 tane röle , hi-link 3.3 volt transistor, ve usb to esp-01 adaptör var. Bunlardan esp ile röleye aç kapat yaptırmak istiyorum. ardunio.cc sitesinden programını indirdim. esp8266 2.3.0 versiyonunu programa kurdum. Esp8266 yı usb dönüştürücüye takıtım ve vcc ile ch_en pinlerini birleştirdim(1.Resim). Sonra usb ttl `i programlama moduna aldım. İçine aşşağıdaki kodu yükledim. Kodlar bu şekilde içine yüklendi. Esp modemede bağlandı. Esp deki vcc ve ch_en birbirine bağladığım pinleri, aynı şekilde röleye taktım. Röleye taktığımda wifiye tekrar bağlandı ve kırmızı ışığı yanıyordu. Ama ne yazıkki röleye 192.168.0.x üzerinden aç kapa komutunu uyguladığımda rölede hiç bir değişiklik yoktu. yapmak istediğim proje aşşağıdadır.(2 ve 3. Resim). Elimdeki Tüm Malzemeler(4. Resim)
Ekli dosyayı görüntüle 56364
//Arduino IDE kodlarımız.
#include <ESP8266WiFi.h>
const char* ssid = "wifi adı";
const char* password = "şifre";
WiFiServer server(80);
int val;
void setup() {
Serial.begin(9600); //Röle ile haberleşmesi için bağlantı hızı 9600 olmalı.
delay(10);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Server başlıyor
server.begin();
Serial.println("Server started");
// IP adresi yazıyor.
Serial.println(WiFi.localIP());
}
void loop() {
// ağa bağlanana kadar bekliyor
WiFiClient client = server.available();
if (!client) {
return;
}
// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}
// serverdan gelen bilgileri okuyor
String req = client.readStringUntil('\r');
Serial.println(req);
client.flush();
const byte miBufferON[] = {0xA0, 0x01, 0x01, 0xA2}; //Röleyi açacak hex kodlarımız.
const byte miBufferOFF[] = {0xA0, 0x01, 0x00, 0xA1};//Röleyi kapatacak hex kodlarımız.
if (req.indexOf("?pin=OFF1") != -1)
{
val = 0;
Serial.write(miBufferOFF, sizeof(miBufferOFF)); //röle için yazdırıyoruz.
}
else if (req.indexOf("?pin=ON1") != -1)
{
val = 1;
Serial.write(miBufferON, sizeof(miBufferON));
}
client.flush();
// Prepare the response
String s = "<h1>ESP8266 Relay Kontrol</h1><p>Relay On/Off <a href=\"?pin=ON1\"><button>ON</button></a> <a href=\"?pin=OFF1\"><button>OFF</button></a></p>";
s += (val)?"Relay On":"Relay Off";
s += "</html>\n";
client.print(s);
delay(1);
Serial.println("Client disonnected");
}
Ekli dosyayı görüntüle 56365
Ekli dosyayı görüntüle 56366
Ekli dosyayı görüntüle 56367