졸업작품, IoT 재배 환경 시스템 구현

프로젝트명 : IoT 재배 환경 시스템 구현

기간 : 2021-03 ~ 2021-06

프로젝트 개요

해당 프로젝트는 2021년 4학년 1학기 졸업작품 수업을 통해 진행되었으며, 이전에 구현한 ‘사물 인터넷을 활용한 재배 시설의 공기 질 관리 시스템’을 기반으로 하여 실제 사용에 더 적합하고 안정적인 IoT 재배 환경 시스템을 재설계하고 구현하는 것을 목표로 하였습니다.

센서 기반의 환경 데이터 수집부터, 원격 제어 및 사용자 인터페이스를 포함한 전체 시스템을 직접 기획하고 개발하였습니다.

시스템 구성 및 기능

1. 센싱 기능

  • 미세먼지, 온도, 습도, 토양 수분 센서를 통해 실시간 측정
  • 측정된 데이터는 HTTP를 통해 서버 DB에 저장

2. 제어 기능

  • 쿨링 팬, 서보 모터, 워터 펌프 등을 제어
  • 특정 조건 만족 시 자동 제어 및 수동 제어 UI 제공

3. 통신 구조

  • Arduino Uno 2대 + ESP8266 WiFi 모듈로 센싱 및 제어 기능 분리
  • 센싱 데이터를 ESP8266이 수집 후 HTTP를 통해 서버(Raspberry Pi)와 통신
  • Serial 통신으로 센싱-제어 간 연동

4. 클라이언트

  • 웹 (Django Framework 기반)
    • 실시간 센서 값 출력 및 차트화
    • 제어 UI 제공
    • 게시판 기능이 포함된 커뮤니티 페이지 구성 (CRUD 지원)
  • 모바일 앱 (Android)
    • 웹 기능 대부분 동일하게 구현
    • 회원제 기반 권한 설정 및 제어 가능 사용자 제한

주요 부품

역할부품 명칭
온도/습도 센서DHT22
미세먼지 센서GP2Y1010AU0F
수분 센서Soil Humidity Sensor
서보모터BAP-FT90B 마이크로 서보모터
전등LED
알림Buzzer
펌프Water Pump DC 3-5V
환기쿨링팬

개발 환경 및 적용 기술

  • 개발 툴: Android Studio, Notepad++, Filezilla
  • 서버: Raspberry Pi 4 + Raspbian (Linux 5.10.17-v7l+)
  • 웹 프레임워크: Django (Python 기반)
  • 통신: HTTP (REST), FTP
  • 웹서버: Nginx + uWSGI

기술적 고려사항 및 개선 포인트

  • Django를 사용하여 다양한 확장성과 유지보수 편의성 확보
  • Arduino Uno와 ESP8266으로 센싱과 제어를 물리적으로 분리함으로써 성능과 안정성 개선
  • 기존 Raspberry Pi 단독 구조에서 발생하던 병목 현상을 해결
  • nginx + uWSGI 조합으로 기존 apache 대비 안정성과 속도 향상

마무리

이 프로젝트는 IoT와 Web, Mobile을 유기적으로 결합하여 하나의 통합된 스마트 재배 시스템을 구현한 사례입니다. 실제 환경에 적용 가능한 수준까지 발전시킨 점에서 실무성과 기술적 깊이를 동시에 만족시켰다고 판단합니다. 향후에는 영상처리, 머신러닝 기반의 환경 예측 기능과 연동하여 스마트팜 영역으로 확장 가능성을 고려하고 있습니다.

  • 이미지

Leave a Comment