수행기록퀘스트1
식물재배기용 온도모니터링 프로젝트
2022. 3. 12 (토) 23:22
최주*
조회 629
좋아요 0
스크랩 0
댓글 0
프로젝트 구성
온도를 측정하기 위해서 측정된 값을 디스플레이 하기 위해서 WIFI 모듈이 포함된 모듈을 사용해서
무선으로 현재 값과 제어를 하기 위한 솔루션을 구성하게 된다.
사용된 보드 : Witty Cloud Development 보드 (WIFI 기능이 적용된 저가형 일체형 보드)
소프트웨어 환경: 아두이노
사용센서: DHT11(저가형 온습도 측정모듈)
추가설명- 기본적으로 보드에서 제공하는 광량과 , 버튼 그리고 RGB LED등의 기능을 그대로 두고
DHT11 온습도 센서를 추가해서 온도를 주로 사용하는 프로젝트에 사용하게 된다.
확장- 온도와 습도를 측정함으로 인해서 IOT 장비를 제어하는데 필요한 정보를 얻는데 기본으로 주요
타겟을 식물성장 제어기로 정해서 최종 진행한다.
회로도

펌웨어
헤더파일을 선언한다.
#include #include #include #include #include #include #include #include #include #include ? ? #include "DHT.h"
핀설정 선언
#define DHTPIN 4 #define DHTTYPE DHT11 ? DHT dht(DHTPIN, DHTTYPE); ESP8266WiFiMulti WiFiMulti; ? // Witty Cloud Board specifc pins const int LDR = A0; const int BUTTON = 4; const int RED = 15; const int GREEN = 12; const int BLUE = 13; ? const char* ssid = "xxxxxxx"; const char* password = "xxxxxxxx"; const char* host = "Witty";
웹서버 선언
ESP8266WebServer server(80); WebSocketsServer webSocket = WebSocketsServer(81);
웹소켓 이벤트 처리(온도에 대한 이벤트 처리 루틴)
void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght) {
?
?
...
?
case 't': case 'T':
tTemp = dht.readTemperature();
tTemperature = String(tTemp);
//hHumidity = dht.readHumidity();
?
// Check if any reads failed and exit early (to try again).
if (isnan(tTemp)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
//Serial.print("Temperature: ");
//Serial.print(tTemperature);
//Serial.print(" *C\t");
?
delay(5);
webSocket.sendTXT(0,tTemperature);
break;
셋업루틴
void setup() {
Serial.begin(115200);
Serial.print("\n");
Serial.setDebugOutput(true);
?
for(uint8_t t = 4; t > 0; t--) {
Serial.printf("[SETUP] BOOT WAIT %d...\n", t);
Serial.flush();
delay(1000);
}
?
dht.begin();
// Initialize LDR, Button and RGB LED
pinMode(LDR, INPUT);
pinMode(BUTTON, INPUT);
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
반복 루틴 처리
void loop() {
webSocket.loop();
server.handleClient();
}
테스트 사진들
식물 재배기용 설치 하우스(앞 베란다)

- 첨부파일
- 식물재배기온도측정기프로젝트.pdf 다운로드
로그인 후
참가 상태를 확인할 수 있습니다.

