-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDENEYAP_L10_2_UzaktanLedKontrolu.ino
86 lines (73 loc) · 4.64 KB
/
DENEYAP_L10_2_UzaktanLedKontrolu.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/*
* UzaktanLedKontrolu örneği,
* Bu örnekte bilgisayarınız veya telefonunuzun WiFi ayarlarından DeneyapKart bağlanılması ve "dydkmpv10" şifresini girilmesi gerekmektedir.
* Daha sonra tarayıcıdan "192.168.4.1" bu adrese girilmesi gerekmektedir.
* Açılan ekrandaki butonlar ile led yanıp ve söndürme işlemlerinin kontrolü sağlanmaktadır.
*
*/
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiAP.h>
const char *ssid = "DeneyapKart"; // DeneyapKart Erisim Noktasi (AP) ismi
const char *password = "dydkmpv10"; // DeneyapKart Erisim Noktasi (AP) sifresi
WiFiServer server(80); // WiFi sunucusu icin class tanimlama
void setup() {
pinMode(LEDB, OUTPUT); // Dahili mavi led cikis olarak ayarlandi
digitalWrite(LEDB, HIGH); // Ledin ilk durumu ayarlandi
Serial.begin(115200); // Seri haberlesme baslatildi
Serial.println();
Serial.println("Erisim Noktasi (AP) konfigure ediliyor...");
WiFi.softAP(ssid, password); // Cihaz Erisim Noktasi (AP) olarak baslatildi
IPAddress myIP = WiFi.softAPIP();
Serial.print("Erisim noktasi IP adresi: "); // Baglanti IP adresi seri terminale yazdiriliyor
Serial.println(myIP);
server.begin();
Serial.println("Server baslatildi");
}
void loop() {
WiFiClient client = server.available(); // Baglanti talepleri dinleniyor
if(client) // Istemci varligi kontrol ediliyor
{
Serial.println("Yeni istemci talebi geldi.");
String currentLine = ""; // Istemciden gelen veriyi tutmak icin String degiskeni tanimlaniyor
while(client.connected())
{
if(client.available()) // Istemciden veri kontrolu yapiliyor
{
char c = client.read(); // Veri okunuyor
Serial.write(c); // Seri terminale veri yaz
if (c == '\n') // "Yeni Satir" karakteri geldi mi
{
if(currentLine.length() == 0) // Satirda bulunan veri sayisi sifir mi (istemci talepte bulunmus)
{ //
client.println("HTTP/1.1 200 OK"); // Yanit kodu (e.g. HTTP/1.1 200 OK)
client.println("Content-type:text/html"); // Istemciye icerik turu ile ilgili bilgi gonderiliyor
client.println(); //
client.print("Ledi <a href=\"/H\">YAK</a> <br>"); // Icerik gonderiliyor
client.print("Ledi <a href=\"/L\">SONDUR</a> <br>"); // Icerik gonderiliyor
client.println(); //
break;
}
else // Satirdaki veri sayisi sifir degilse, satir temizleniyor
{
currentLine = "";
}
}
else if(c != '\r') // Veri "Satir Basi" harici baska bir karakter mi
{
currentLine += c; // Gelen veriyi satir sonuna ekle
}
if(currentLine.endsWith("GET /H")) // Istemciden gelen talebi kontrol et, "GET /H" ya da "GET /L":
{
digitalWrite(LEDB, LOW); // GET /H ledi yakar
}
if(currentLine.endsWith("GET /L"))
{
digitalWrite(LEDB, HIGH); // GET /L ledi sondurur
}
}
}
client.stop(); // Yanittan sonra http baglantisi durdurulur ve yeni istemci talebi beklenir
Serial.println("Client Disconnected.");
}
}