Skip to content

dahyun24/BESFarm_control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🌱 스마트 온실 제어 시스템 (BESFarm_control)

KS3267 표준 기반 RS485 Modbus RTU 통신을 이용해 센서-제어기-구동기 간 실시간 데이터 흐름과 자동 제어를 구현한 스마트 온실 제어 시스템입니다. 온도, 습도, CO₂ 등 다양한 센서로부터 데이터를 수집하고, 제어 룰에 따라 구동기를 제어합니다.


🛠 프로젝트 개요

  • 기간: 2024.06 ~ 2024.12
  • 개발 인원: 2명 (하드웨어 1명, 소프트웨어 1명)
  • 주요 역할: 소프트웨어 설계 및 구현 (센서 수집, 룰 기반 명령 생성, 구동기 통신)
  • 기술 스택:
    • C++, Python
    • MariaDB
    • RS485, Modbus RTU (KS3267 표준)
    • Raspberry Pi 4B

🧩 시스템 구성

  • 센서 노드: 온도/습도/CO₂ 측정 가능한 SH-VT260 센서 → RS485 통신

  • 제어기 노드 (Raspberry Pi):

    • Modbus 프로토콜로 센서 데이터 수집
    • MariaDB에 데이터 저장
    • 제어 룰 기반으로 제어 명령 생성
    • 명령을 구동기로 전송
  • 구동기 노드: 펌프, 팬, 히터 등 작동 → 명령 수신 후 작동 (신호등 센서로 동작 확인)

    설계도


💡 주요 기능

기능 설명
✅ 센서 데이터 수집 Modbus RTU로 센서값을 읽어 DB에 저장
✅ 제어 명령 생성 특정 온도/습도 범위를 벗어나면 자동으로 명령 생성
✅ 구동기 제어 생성된 명령을 기준으로 구동기 작동 요청
✅ KS3267 준수 국내 스마트팜 표준 규격에 맞춘 통신 프로토콜 설계
✅ 데이터 기록 및 모니터링 모든 센서 및 구동기 데이터를 DB에 저장하여 추후 분석 가능

🧪 실험 결과 및 성과

  • 센서-제어기-구동기 통신 성공률 94% 이상
  • End-to-End 제어 시나리오 완성
  • KS3267 통신 표준 준수 환경에서 안정적 동작 확인

📂 파일 구조

BESFarm_control/
├── controller/                          # 제어기 관련 코드
│   ├── sensor/                          # 센서 데이터 수집
│   │   └── sensor_node.cpp              # 센서 값을 읽는 코드
│   └── rule_map/                        # 제어 룰 처리
│       └── Control_Rule/                # 제어 로직 구현 파일들
│           ├── main.cpp
│           ├── SensorController.h
│           ├── SensorController.cpp
│           ├── writenode.h
│           └── writenode.cpp
│
├── actuator/                            # 구동기 관련 코드
│   └── actuator.cpp
│
├── db/                                  # MariaDB 테이블 정의
│   └── init.sql
└── README.md                            # 프로젝트 소개 문서

About

실시간 센서 데이터를 바탕으로 제어 룰을 적용하여 구동기에 자동으로 명령을 내리는 지능형 제어 시스템 개발

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages