Code

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

#include <ESP8266WiFi.

h>

#include <ESP8266WebServer.h>

ESP8266WebServer server(80);

#include "PVL_VN_DHT.h"

DHT dht;

const int DieuHoa = D1;

const int QuatMat = D8;

// Chế độ phát wifi

const char* ssid_sta = "DoKhacSon";

const char* pass_sta = "01030609";

bool ledState = false;

float humidity;

float temperature;

void mainpage();

const char MainPage[] PROGMEM = R"=====(

<!DOCTYPE html>

<html>

<head>

<title>HOME PAGE</title>

<style>

body {

text-align:center;

h1 {

color:#003399;

font-size: 36px; /* Đổi kích thước của các tiêu đề h1 */

a{

text-decoration: none;
color:#FFFFFF;

font-size: 30px; /* Đổi kích thước của các liên kết */

.bt_on {

height:300px; /* Đổi kích thước của nút */

width:400px; /* Đổi kích thước của nút */

margin:50px 0;

background-color:#00FF00;

border-radius:20px;

font-size: 50px; /* Đổi kích thước của chữ trong nút */

.bt_off {

height:300px; /* Đổi kích thước của nút */

width:400px; /* Đổi kích thước của nút */

margin:50px 0;

background-color:#FF0000;

border-radius:20px;

font-size: 50px; /* Đổi kích thước của chữ trong nút */

</style>

<meta charset="UTF-8">

<script>

function toggleLED() {

var xhttp = new XMLHttpRequest();

xhttp.onreadystatechange = function() {

if (this.readyState == 4 && this.status == 200) {

document.getElementById("ledButton").innerHTML = this.responseText;

document.getElementById("ledButton").classList.toggle("bt_on");

document.getElementById("ledButton").classList.toggle("bt_off");

};
xhttp.open("GET", "/toggleLED", true);

xhttp.send();

</script>

</head>

<body>

<div> <h1>Địa chỉ: 192.168.1.1 </h1><b></b></div>

<div>

<h1> PHẦN MỀM ĐIỀU KHIỂN GIÁM SÁT TỪ XA HỆ THỐNG ĐIỀU HÒA Ô TÔ </h1>

<h1> NGHIÊN CỨU KHOA HỌC</h1>

</div>

<div>

<button id="ledButton" class="bt_on" onclick="toggleLED()">BẬT/TẮT ĐIỀU HÒA BẰNG


TAY</button>

</div>

<div>

<h1>Temperature: <span id="temperature">{{temperature}}</span> °C</h1>

<h1>Humidity: <span id="humidity">{{humidity}}</span> %</h1>

</div>

</body>

</html>

)=====";

void setup() {

Serial.begin(115200);

dht.setup(D4);

pinMode(DieuHoa, OUTPUT);

pinMode(QuatMat, OUTPUT);

digitalWrite(DieuHoa, HIGH);

digitalWrite(QuatMat, HIGH);
WiFi.mode(WIFI_AP);

WiFi.softAP(ssid_sta, pass_sta);

Serial.println("Access Point IP address:");

Serial.println(WiFi.softAPIP());

server.on("/", HTTP_GET, mainpage);

server.on("/toggleLED", HTTP_GET, []() {

ledState = !ledState;

digitalWrite(DieuHoa, ledState ? HIGH : LOW);

server.send(200, "text/plain", ledState ? "OFF" : "ON");

});

server.begin();

Serial.println("HTTP server started");

void loop() {

delay(dht.getMinimumSamplingPeriod());

humidity = dht.getHumidity();

temperature = dht.getTemperature();

if(ledState==1)

digitalWrite(DieuHoa, HIGH);

else if(ledState==0)

if (temperature > 20 && temperature < 30)

digitalWrite(DieuHoa, HIGH);

else if (temperature > 35)


digitalWrite(DieuHoa, LOW);

if (humidity > 20 && humidity < 80)

digitalWrite(QuatMat, HIGH);

else if (humidity > 90)

digitalWrite(QuatMat, LOW);

server.handleClient();

delay(250);

void mainpage() {

String s = FPSTR(MainPage);

s.replace("{{temperature}}", String(temperature));

s.replace("{{humidity}}", String(humidity));

server.send(200, "text/html", s);

You might also like