스마트팜 프로그램 작동 방식 설명
Makerist
스마트&tech
0
172
04.28 01:00
프로그램 작동 방식 설명
하드웨어 설정 및 초기화
- NodeMCU 보드에 DHT-22 온습도 센서와 MQ-135 CO2 센서를 연결합니다.
- 팬, 펌프, 펠티어 소자를 NodeMCU의 디지털 핀에 연결하여 제어할 수 있도록 설정합니다.
- NodeMCU가 WiFi 네트워크에 연결되도록 SSID와 비밀번호를 설정합니다.
센서 데이터 수집
- DHT-22 센서를 이용해 실시간으로 온도와 습도를 측정합니다.
- MQ-135 센서를 통해 CO2 농도를 아날로그 값으로 읽어들입니다.
데이터 전송
- 측정된 온도, 습도, CO2 데이터를 HTTP POST 요청을 통해 중앙 웹서버의
data.php
로 전송합니다. - 전송한 데이터가 성공적으로 저장되면 "success" 메시지를, 실패 시 "error" 메시지를 수신합니다.
- 측정된 온도, 습도, CO2 데이터를 HTTP POST 요청을 통해 중앙 웹서버의
제어 명령 수신 및 실행
- NodeMCU는 주기적으로 중앙 웹서버의
control.php
에 HTTP GET 요청을 보내 현재 제어 상태를 요청합니다. - 웹서버는 가장 최근의 제어 명령을 데이터베이스에서 조회하여 NodeMCU에 전달합니다.
- NodeMCU는 받은 명령에 따라 팬, 펌프, 펠티어 소자의 상태를 켜거나 끕니다.
- NodeMCU는 주기적으로 중앙 웹서버의
웹 서버 및 데이터베이스 관리
data.php
는 NodeMCU로부터 받은 센서 데이터를 MySQL 데이터베이스의sensor_data
테이블에 저장합니다.control.php
는 웹페이지에서 제어 명령을 조회하고,control_commands
테이블에서 최신 명령을 반환합니다.set_control.php
는 웹페이지에서 사용자가 제어한 명령을 데이터베이스에 저장하여 NodeMCU가 이를 감지하고 실행할 수 있도록 합니다.
웹 페이지 모니터링 및 제어
index.html
은 실시간으로 센서 데이터를 그래프로 표시하고, 사용자가 팬, 펌프, 펠티어 소자를 제어할 수 있는 인터페이스를 제공합니다.- JavaScript와 Chart.js를 이용해 실시간 그래프를 업데이트하며, AJAX를 통해 센서 데이터와 제어 명령을 주고받습니다.
- 사용자가 제어 폼을 제출하면
set_control.php
로 제어 명령이 전송되어 데이터베이스에 저장됩니다.
데이터 시각화 및 분석
- 웹 페이지는 실시간으로 업데이트되는 그래프를 통해 온도, 습도, CO2 농도의 변화를 시각적으로 모니터링할 수 있습니다.
- 센서 데이터는 일간, 주간, 월간 단위로 분류되어 작물 재배에 필요한 프리셋 조건을 갖출 수 있습니다.
이러한 방식으로 스마트팜 모니터링제어시스템이 실시간으로 센서 데이터를 수집하고, 중앙 웹서버에 저장하며, 웹 인터페이스를 통해 데이터를 시각화하고 제어할 수 있도록 구성됩니다