WeMos ile uzaktan Cihaz Açıp-Kapama

Arduinonuzu kullanırken uzaktan cihaz kontrollerinde arduinonun üzerine modül yada entegre edilmiş bir network birimi gerekiyordu. Bu durum ise  Eğer arduinonuzun network arabirimi  yaklaşık 10 dolar gerekiyordu. Arabirimi üzerinde olanların fiyatının çok yüksek olmasından dolayı ondan bahsetmeyelim bile.

Geçenlerde elime geçen geliştirme kartı olan WeMos geliştirme kartıyla direk kablosuz olarak networke bağlandığından dolayı hemen tercihiniz bu yönde olacaktır . Tabiki fiyatı ise sadece 3-4 dolar arasında .

Konumuza dönecek olursak network üzerinden herhangi bir cihazın kontrolü için gerekli olan tek ihtiyacımız WeMos ve kablosuz bağlantı. Daha sonrası programlama becerisine kalmış.

Kullanılan Malzemeler

  1. WeMos Geliştirme Kartı
  2. 1 Adet LED

Projemizin bağlantı şeması ise şu şekildedir.

LED pinimizin artı ucunu WeMosun D5 pinine bağlıyoruz eksi ucunu ise GND pinine . Artık Programlayabiliriz.

Programımızı yükledikten sonra ip adresini Arduino IDE ile seri bağlantı ekranından görebilirsiniz.

wemos-ip-address

Daha sonrasında ise ip adresini herhangi bir tarayıcıda yazdığınızda alttaki resimle karşılaşırsınız. Daha sonrasında ise LEDi kapa aç yaparsınız. Wesselam .

wemos-browser

#include <ESP8266WiFi.h>
 
const char* ssid = "ssid name";
const char* password = "ssid password";
 
int ledPin = D5;
WiFiServer server(80);
 
void setup() {
  Serial.begin(115200);
  delay(10);
 
 
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
 
  // 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");
 
  // Start the server
  server.begin();
  Serial.println("Server started");
 
  // Print the IP address
  Serial.print("Use this URL : ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");
 
}
 
void loop() {
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
 
  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }
 
  // Read the first line of the request
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();
 
  // Match the request
 
  int value = LOW;
  if (request.indexOf("/LED=ON") != -1) {
    digitalWrite(ledPin, HIGH);
    value = HIGH;
  } 
  if (request.indexOf("/LED=OFF") != -1){
    digitalWrite(ledPin, LOW);
    value = LOW;
  }
 
 
 
  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
 
  client.print("Led pin is now: ");
 
  if(value == HIGH) {
    client.print("On");  
  } else {
    client.print("Off");
  }
  client.println("

");
  client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 5 ON
");
  client.println("Click <a href=\"/LED=OFF\">here</a> turn the LED on pin 5 OFF
");
  client.println("</html>");
 
  delay(1);
  Serial.println("Client disconnected");
  Serial.println("");
 
}

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.