프로젝트 배경
1) 문제점
- 수질, 수위, 탁도 등 다양한 항목을 사람이 직접 측정해야 해 운영 부담이 큼
- 실시간으로 데이터를 확인하거나 원격에서 제어할 수 없어 즉각적인 대응이 어려움
- 수기로 작성한 기록은 분석이 어렵고 누락 가능성이 높아 데이터 신뢰도 저하
- 각 장비가 개별적으로 운영되어 통합 관리가 불가능하고, 유지보수도 비효율적임
2) 프로젝트 목표
- 센서 기반의 자동화된 수질·환경 모니터링 시스템 구축
- 실시간 데이터 수집 및 시각화 대시보드 개발
- 원격에서 장비 상태 확인 및 제어 가능한 앱/웹 인터페이스 제공
- 서버 기반 데이터 통합 저장 및 보안 대응 체계 구축
3) 주안점
- 다양한 센서를 안정적으로 연결하고 확장 가능한 하드웨어 설계
- 실시간 데이터 처리와 사용자 친화적 UI/UX를 갖춘 웹·앱 제공
- 유지보수 편의성과 향후 기능 확장을 고려한 API 구조 설계
- AWS 기반 클라우드 서버와 보안 강화 코딩으로 운영 안정성 확보
- 수질, 수위, 탁도 등 다양한 항목을 사람이 직접 측정해야 해 운영 부담이 큼
- 실시간으로 데이터를 확인하거나 원격에서 제어할 수 없어 즉각적인 대응이 어려움
- 수기로 작성한 기록은 분석이 어렵고 누락 가능성이 높아 데이터 신뢰도 저하
- 각 장비가 개별적으로 운영되어 통합 관리가 불가능하고, 유지보수도 비효율적임
2) 프로젝트 목표
- 센서 기반의 자동화된 수질·환경 모니터링 시스템 구축
- 실시간 데이터 수집 및 시각화 대시보드 개발
- 원격에서 장비 상태 확인 및 제어 가능한 앱/웹 인터페이스 제공
- 서버 기반 데이터 통합 저장 및 보안 대응 체계 구축
3) 주안점
- 다양한 센서를 안정적으로 연결하고 확장 가능한 하드웨어 설계
- 실시간 데이터 처리와 사용자 친화적 UI/UX를 갖춘 웹·앱 제공
- 유지보수 편의성과 향후 기능 확장을 고려한 API 구조 설계
- AWS 기반 클라우드 서버와 보안 강화 코딩으로 운영 안정성 확보
프로젝트 성과
수질 측정 자동화율 95% 달성
기존 수동으로 측정하던 온도, 탁도, 수위 등 데이터를 실시간 자동 측정으로 전환하여 인력 투입 시간을 주당 12시간에서 1시간 이하로 감소시킴
장비 이상 대응 시간 80% 단축
센서 이상·수위 변동 등 이상 상황 발생 시 알림 시스템을 통해 즉각 대응 가능, 기존 평균 25분 소요되던 조치 시간이 5분 이내로 단축됨
웹 기반 실시간 모니터링 시스템 구축
PC와 모바일에서 동시 사용 가능한 대시보드를 통해 현장 방문 없이도 실시간 상태 확인 및 기록 분석 가능, 운영 효율성 향상
운영 보고 자동화로 수기 작업 100% 제거
기존 종이/엑셀 기반 수기 보고서 대신 자동 로그 수집 및 정기 리포트 기능을 통해 보고서 작성 시간 완전 제거
데이터 신뢰도 및 저장 안정성 확보
모든 센서 데이터를 클라우드 서버에 실시간 저장하도록 구성, 기록 누락 및 손실 문제 없이 데이터 완전 보존 가능
핵심 기능
실시간 수질 모니터링 기능
온도, 탁도, 수위 데이터를 초 단위로 자동 수집해 웹/앱에서 실시간 확인 가능
원격 제어 및 알림 기능
장비 상태 변화 또는 이상 발생 시 관리자에게 자동 알림 발송, 앱에서 원격 제어 가능
자동 보고서 생성 기능
수집된 데이터를 기반으로 주간/월간 환경 리포트를 자동 생성해 운영 효율성 향상
진행 단계
기획 및 요구사항 정의
2021.02.
양식장 환경 조사 및 사용자 인터뷰를 통해 자동화 필요 항목과 시스템 요구사항을 정리함
통합 시스템 개발 및 구축
2021.02.
Raspberry Pi 기반 하드웨어 설계, Python 펌웨어 제작, Flask 서버 및 웹·앱 인터페이스 일괄 개발
현장 테스트 및 설치 완료
2021.02.
센서 연결 및 실시간 데이터 송수신 테스트 후 현장 적용, 관리자 피드백 반영하여 최종 배포 완료
프로젝트 상세
???? 데모 페이지
https://watersensor.demo.openiot.app/
???? 프로젝트 개요
스마트 양식장 환경을 실시간으로 모니터링하고 원격으로 제어할 수 있는 IoT 기반 자동화 시스템을 전반적으로 구축하였습니다. 이 프로젝트는 하드웨어 설계, 펌웨어 개발, 서버 구축, 웹 및 모바일 앱 개발까지 전 과정을 자체적으로 수행한 통합형 사례입니다.
???? 하드웨어 설계 및 구성
양식장의 환경 데이터를 정확하게 측정하고 안정적으로 수집하기 위해 Raspberry Pi를 메인 제어기로 선택하였습니다. Raspberry Pi는 연산 능력이 뛰어나고 다양한 I/O 포트를 제공하여, 복합적인 센서 구성에도 적합합니다.
설치된 센서는 다음과 같습니다.
- 카메라 1대
- 방수 온도 센서 3개
- 광학 기반 탁도 센서 3개
- 수위 측정 센서 3개
각 센서는 다음과 같은 프로토콜을 통해 Raspberry Pi에 연결되었습니다.
- 1-wire
- SPI
- CSI
아날로그 센서의 신호를 디지털로 변환하기 위해 MCP3008 ADC 칩셋을 적용하였습니다.
하드웨어 전체는 Raspberry Pi와 바로 조립 가능한 전용 PCB 쉴드 형태로 설계되었고, EAGLE CAD를 활용하여 회로를 설계하였습니다. 제작은 JLCPCB와 국내 업체를 통해 진행되었으며, 현장 설치의 효율성과 안정성을 높였습니다.
???? 펌웨어 개발
펌웨어는 Python 기반으로 작성되었으며, 각 센서로부터의 데이터를 수집한 후 REST API를 통해 서버에 전송합니다. 기능 확장을 고려하여 서버 통신 API를 문서화하였고, 의뢰인이 직접 수정하거나 추가 기능을 개발할 수 있도록 배포하였습니다.
개발은 다음 환경을 활용하였습니다.
- vi 편집기
- genie 편집기
- Git 버전 관리 시스템
이를 통해 현장 수정과 유지보수가 용이한 구조를 확보하였습니다.
???? 서버 구축 및 보안 설계
서버는 AWS EC2 인스턴스를 기반으로 구축되었고, Python Flask 프레임워크를 활용하여 API 서버를 개발하였습니다.
보안 대응 항목은 다음과 같습니다.
- SQL Injection
- XSS
- XXE 등 주요 웹 취약점 방어
- 사용자 데이터 암호화 저장
- 권한 기반 접근 제어
국내 리전 서버를 사용하여 데이터 통신 속도를 최적화하였고, 서버는 안정적인 확장성과 성능을 제공하도록 설계되었습니다.
???? 웹 대시보드 개발
웹 기반 대시보드는 사용자에게 실시간 데이터와 기기 상태를 시각적으로 제공하는 관리 플랫폼입니다. 주요 기능은 다음과 같습니다.
- 전체 연결된 디바이스 확인
- 개별 센서 데이터의 실시간 모니터링
- 데이터 이력 검색 및 분석 기능
웹 인터페이스는 다음 기술을 기반으로 구현하였습니다.
- HTML, CSS, JavaScript
- jQuery (동적 UI 구현)
- Bootstrap (반응형 레이아웃)
- Adobe Illustrator (디자인 요소 제작)
???? 모바일 앱 개발
모바일 앱은 Android Studio에서 Kotlin 언어로 개발되었습니다. Kotlin은 안정성과 유지보수성이 뛰어나며, 실시간 데이터 반영 기능을 효율적으로 구현할 수 있는 장점을 제공합니다.
앱은 다음과 같은 구조로 동작합니다.
- 서버에서 REST API를 통해 데이터 수신
- 실시간 센서 값의 변화 즉각 반영
- 관리자 원격 모니터링 및 대응 기능 제공
???? 종합 평가
이 프로젝트는 IoT 시스템의 전 구성요소를 일관된 설계와 기술로 구현한 사례입니다. 현장 중심의 설계, 사용자 친화적인 인터페이스, 향후 확장을 고려한 구조로 인해 고객사의 요구를 효과적으로 충족하였으며, 운영의 효율성과 정확성을 동시에 향상시켰습니다.
https://watersensor.demo.openiot.app/
???? 프로젝트 개요
스마트 양식장 환경을 실시간으로 모니터링하고 원격으로 제어할 수 있는 IoT 기반 자동화 시스템을 전반적으로 구축하였습니다. 이 프로젝트는 하드웨어 설계, 펌웨어 개발, 서버 구축, 웹 및 모바일 앱 개발까지 전 과정을 자체적으로 수행한 통합형 사례입니다.
???? 하드웨어 설계 및 구성
양식장의 환경 데이터를 정확하게 측정하고 안정적으로 수집하기 위해 Raspberry Pi를 메인 제어기로 선택하였습니다. Raspberry Pi는 연산 능력이 뛰어나고 다양한 I/O 포트를 제공하여, 복합적인 센서 구성에도 적합합니다.
설치된 센서는 다음과 같습니다.
- 카메라 1대
- 방수 온도 센서 3개
- 광학 기반 탁도 센서 3개
- 수위 측정 센서 3개
각 센서는 다음과 같은 프로토콜을 통해 Raspberry Pi에 연결되었습니다.
- 1-wire
- SPI
- CSI
아날로그 센서의 신호를 디지털로 변환하기 위해 MCP3008 ADC 칩셋을 적용하였습니다.
하드웨어 전체는 Raspberry Pi와 바로 조립 가능한 전용 PCB 쉴드 형태로 설계되었고, EAGLE CAD를 활용하여 회로를 설계하였습니다. 제작은 JLCPCB와 국내 업체를 통해 진행되었으며, 현장 설치의 효율성과 안정성을 높였습니다.
???? 펌웨어 개발
펌웨어는 Python 기반으로 작성되었으며, 각 센서로부터의 데이터를 수집한 후 REST API를 통해 서버에 전송합니다. 기능 확장을 고려하여 서버 통신 API를 문서화하였고, 의뢰인이 직접 수정하거나 추가 기능을 개발할 수 있도록 배포하였습니다.
개발은 다음 환경을 활용하였습니다.
- vi 편집기
- genie 편집기
- Git 버전 관리 시스템
이를 통해 현장 수정과 유지보수가 용이한 구조를 확보하였습니다.
???? 서버 구축 및 보안 설계
서버는 AWS EC2 인스턴스를 기반으로 구축되었고, Python Flask 프레임워크를 활용하여 API 서버를 개발하였습니다.
보안 대응 항목은 다음과 같습니다.
- SQL Injection
- XSS
- XXE 등 주요 웹 취약점 방어
- 사용자 데이터 암호화 저장
- 권한 기반 접근 제어
국내 리전 서버를 사용하여 데이터 통신 속도를 최적화하였고, 서버는 안정적인 확장성과 성능을 제공하도록 설계되었습니다.
???? 웹 대시보드 개발
웹 기반 대시보드는 사용자에게 실시간 데이터와 기기 상태를 시각적으로 제공하는 관리 플랫폼입니다. 주요 기능은 다음과 같습니다.
- 전체 연결된 디바이스 확인
- 개별 센서 데이터의 실시간 모니터링
- 데이터 이력 검색 및 분석 기능
웹 인터페이스는 다음 기술을 기반으로 구현하였습니다.
- HTML, CSS, JavaScript
- jQuery (동적 UI 구현)
- Bootstrap (반응형 레이아웃)
- Adobe Illustrator (디자인 요소 제작)
???? 모바일 앱 개발
모바일 앱은 Android Studio에서 Kotlin 언어로 개발되었습니다. Kotlin은 안정성과 유지보수성이 뛰어나며, 실시간 데이터 반영 기능을 효율적으로 구현할 수 있는 장점을 제공합니다.
앱은 다음과 같은 구조로 동작합니다.
- 서버에서 REST API를 통해 데이터 수신
- 실시간 센서 값의 변화 즉각 반영
- 관리자 원격 모니터링 및 대응 기능 제공
???? 종합 평가
이 프로젝트는 IoT 시스템의 전 구성요소를 일관된 설계와 기술로 구현한 사례입니다. 현장 중심의 설계, 사용자 친화적인 인터페이스, 향후 확장을 고려한 구조로 인해 고객사의 요구를 효과적으로 충족하였으며, 운영의 효율성과 정확성을 동시에 향상시켰습니다.

IOT 데이터를 확인할 수 있는 앱

IOT 데이터를 확인할 수 있는 웹 페이지

자사에서 설계한 라즈베리파이 쉴드