Skip to content

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

Notifications You must be signed in to change notification settings

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

No packages published

Languages