현재 온도보다 낮거나 높을 경우 제어의 기준이 됩니다.
LED 커넥터의 릴레이와 액추에이터로 전기 히터를 켜고 끌 계획입니다.
소스 코드
#포함하다
#포함하다
#포함하다
Adafruit_AM2320 am2320 = Adafruit_AM2320();
const char* ssid = “IOT999”;
const char* 비밀번호 = “kbs48752”;
//포트 80
// 서버 인스턴스 생성
// 수신할 포트를 인수로 제공
WiFiServer 서버(80);
플로트 온도 = 0.0;
플로트 h = 0.0;
서명되지 않은 긴 이전 Millis = 0;
일정한 긴 간격 = 10000;
#define LED2 2 // LED2는 내장 LED입니다.
문자열 상황 = “”;
int wait30 = 30000; // 연결이 끊어지면 다시 연결할 시간입니다.
잘못된 설정() {
Serial.begin(115200);
핀모드(LED2, 출력);
// WiFi 네트워크를 연결합니다.
Serial.println();
Serial.print(“연결”);
Serial.println(ssid);
WiFi.begin(ssid, 비밀번호);
동안 (WiFi.status() !
= WL_CONNECTED) {
지연(500);
Serial.print(“.”);
}
Serial.println(“와이파이에 연결되었습니다.
”);
// 웹 서버를 시작합니다.
서버.시작();
Serial.println(“Adafruit AM2320 기본 테스트”);
am2320.begin();
Serial.println(“웹 서버가 시작되었습니다.
”);
// 이것은 IP입니다.
// Serial.print(“웹서버 IP:”);
Serial.print(“http://”);
Serial.println(WiFi.localIP());
}
무효 루프() {
unsigned long currentMillis = millis();
if (currentMillis – previousMillis >= 간격) {
이전Millis = 현재Millis;
float newT = am2320.readTemperature();
if (isnan(newT)) {
Serial.println(“AM2320 센서에서 읽기 오류!
”);
}
다른 {
기질 = newT;
Serial.println(성질);
}
}
// 연결이 끊긴 경우 30초마다 다시 연결을 시도합니다.
if ((WiFi.status() !
= WL_CONNECTED) && (millis() > wait30)) {
Serial.println(“Wi-Fi에 다시 연결하려고 합니다…”);
WiFi.disconnect();
WiFi.begin(ssid, 비밀번호);
wait30 = 밀리스() + 30000;
}
// 클라이언트가 연결되어 있는지 확인..
WiFiClient 클라이언트 = server.available();
경우 (!
고객) {
돌려 주다;
}
Serial.print(“신규 고객: “);
Serial.println(클라이언트.remoteIP());
// 클라이언트가 데이터를 보낼 때까지 기다립니다.
// 클라이언트가 데이터를 보낼 때까지 기다립니다.
// 클라이언트가 보낸 정보를 읽습니다.
String req = client.readStringUntil(‘\r’);
Serial.println(req);
// 클라이언트의 요청을 만듭니다.
if (req.indexOf(“http://spring99.m/on2”) !
= -1) {digitalWrite(LED2, HIGH); 상황 = “ON”;}
if (req.indexOf(“http://spring99.m/off2”) !
= -1){digitalWrite(LED2, LOW); 상황 = “꺼짐”;}
if (req.indexOf(“http://spring99.m/consultation”) !
= -1){
if (digitalRead(LED2)){상황 = “ON”;}
그렇지 않으면 {상황 = “꺼짐”;}
}
/////////////////////////////////////////
// 웹사이트. ///////////////////////////
client.println(“HTTP/1.1 200 OK”);
client.println(“콘텐츠 유형: 텍스트/html”);
클라이언트.println(“”); // 중요한.
클라이언트.println(“DOCTYPE HTML>“);
클라이언트.println(““);
클라이언트.println(“
클라이언트.println(“
클라이언트.println(“
온도 제어
“);
클라이언트.println(“
“);
클라이언트.println(“
“);
client.println(기질);
클라이언트.println(“
“);
클라이언트.println(“
“);
클라이언트.println(““);
client.println(상황);
클라이언트.println(“
“);
클라이언트.println(“
“);
클라이언트.println(““);
클라이언트.println(“
“);
클라이언트.println(“
“);
클라이언트.println(““);
클라이언트.println(“
“);
클라이언트.println(“
Serial.print(“클라이언트 연결 해제: “);
Serial.println(클라이언트.remoteIP());
클라이언트.플러시();
클라이언트.스톱();
}