esp8266 (Arduino) üzerinde akıllı ev veya wi-fi web sunucusu -
WI-FI\NodeMCU ESP8266 Web Sunucusu üzerinden Bilgisayar tarafından kontrol edilen akıllı ev sistemi nasıl yapılır
Örneğin, çizim, akıllı ev modüllerini ve sensör okumasını gerçek zamanlı olarak kontrol etmek için kodu gösterecektir.
Proje, bir LED, bir DHT11 sıcaklık modülü ve bir ESP8266 ile bir NodeMcu kartı içeriyordu.
Çizim örneği
#include
#include
#include
#include
#include
#include
#include
#define ONE_WIRE_BUS 15
int pinDHT11 = D7;
SimpleDHT11 dht11;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
MDNSResponder mdns;
// Wi-Fi
const char* ssid = "xxxx";
const char* password = "xxxx";
byte arduino_mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };
IPAddress ip(192,168,1,35);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
ESP8266WebServer server(80);
int D0_pin = 16;
int D2_pin = D4;//d4
int D1_pin = 5;
void setup(void){
// preparing GPIOs
pinMode(D0_pin, OUTPUT);
digitalWrite(D0_pin, LOW);
pinMode(D2_pin, OUTPUT);
digitalWrite(D2_pin, LOW);
pinMode(D1_pin, OUTPUT);
digitalWrite(D1_pin, LOW);
sensors.begin();
delay(100);
Serial.begin(115200);
WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
if (mdns.begin("esp8266", WiFi.localIP())) {
Serial.println("MDNS responder started");
}
//+++++++++++++++++++++++ START LED-1 ++++++++++++++++++++
server.on("/", [](){
server.send(200, "text/html", webPage());
});
server.on("/socket1On", [](){
digitalWrite(D0_pin, HIGH);
server.send(200, "text/html", webPage());
delay(100);
});
server.on("/socket1Off", [](){
digitalWrite(D0_pin, LOW);
server.send(200, "text/html", webPage());
delay(100);
});
//+++++++++++++++++++++++ END LED-1 ++++++++++++++++++++
//+++++++++++++++++++++++ START LED-2 ++++++++++++++++++++
server.on("/socket2On", [](){
digitalWrite(D2_pin, HIGH);
server.send(200, "text/html", webPage());
delay(100);
});
server.on("/socket2Off", [](){
digitalWrite(D2_pin, LOW);
server.send(200, "text/html", webPage());
delay(100);
});
// +++++++++++++++++++++++ END LED-2 ++++++++++++++++++++
//+++++++++++++++++++++++ START LED-3 ++++++++++++++++++++
server.on("/socket3On", [](){
digitalWrite(D1_pin, HIGH);
server.send(200, "text/html", webPage());
delay(100);
});
server.on("/socket3Off", [](){
digitalWrite(D1_pin, LOW);
server.send(200, "text/html", webPage());
delay(100);
});
// +++++++++++++++++++++++ END LED-3 ++++++++++++++++++++
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}
String webPage()
{
sensors.requestTemperatures();
byte temperature = 0;
byte humidity = 0;
dht11.read(pinDHT11, &temperature, &humidity, NULL);
String web;
web += " ESP 8266button{color:red;padding: 10px 27px;}"; web += "ESP8266 Web Server"; //++++++++++ LED-1 +++++++++++++ web += "----LED 1----"; if (digitalRead(D0_pin) == 1) { web += "ON"; } else { web += "OFF"; } web += "ON OFF"; // ++++++++ LED-1 +++++++++++++ //++++++++++ LED-2 +++++++++++++ web += "----LED 2----"; if (digitalRead(D2_pin) == 1) { web += "ON"; } else { web += "OFF"; } web += "ON OFF"; // ++++++++ LED-2 +++++++++++++ //++++++++++ LED-3 +++++++++++++ web += "----LED 3----"; if (digitalRead(D1_pin) == 1) { web += "ON"; } else { web += "OFF"; } web += "ON OFF"; // ++++++++ LED-3 +++++++++++++ //++++++++++ DS18B20 TEMP +++++++++++++ // web += "----DS18B20 TEMP----"; // web += ""+ String(sensors.getTempCByIndex(0))+""; // ++++++++ DS18B20 TEMP +++++++++++++ //++++++++++ DHT11 TEMP +++++++++++++ web += "----DHT11 TEMP----"; web += ""+ String((int)temperature)+""; // ++++++++ DHT11 TEMP +++++++++++++ //++++++++++ DHT11 H +++++++++++++ web += "----DHT11 H----"; web += ""+ String((int)humidity)+""; // ++++++++ DHT11 H +++++++++++++ // ========REFRESH============= web += "REFRESH"; // ========REFRESH============= web += ""; return(web); }
Download Link;
https://ulozto.net/file/BLoZbTaPCzml/web-server-esp8266-zip
https://www36.zippyshare.com/v/dUHWp7sJ/file.html
Tepkiniz nedir?