양식장 수질 자동 계측과 원격 제어

하드웨어 · 펌웨어 · 웹 · 앱 · 클라우드2021.02

수온과 탁도와 수위를 자동으로 재서 올리고, 이상이 생기면 알리고 원격으로 장비를 제어하는 시스템을 만들었습니다.


과제 배경

수질 항목을 사람이 직접 재고 종이에 적고 있었습니다. 적는 것을 빠뜨리면 기록이 비고, 비면 나중에 비교할 수가 없습니다. 장비마다 따로 돌아 통합해서 볼 방법도 없었습니다.

주요 설계 결정

제어기 선택

Raspberry Pi 를 메인 제어기로 골랐습니다

센서 종류가 많고 카메라까지 붙습니다. I/O 가 넉넉하고 연산이 되는 쪽이 센서를 늘릴 때 유리합니다.

기록의 위치

측정값을 기기에 두지 않고 클라우드에 실시간으로 올립니다

현장 기기가 물가에 있습니다. 거기 저장한 기록은 기기가 잘못되면 같이 사라집니다.

보고서

주간과 월간 리포트를 수집된 로그에서 자동으로 만듭니다

사람이 옮겨 적는 단계가 남아 있으면 결국 다시 수기가 됩니다.

제공 기능

제공 기능
기능내용
실시간 수질 계측온도와 탁도와 수위를 초 단위로 재서 웹과 앱에 올립니다.
원격 제어와 알림장비 상태가 바뀌거나 이상이 생기면 알리고 앱에서 제어합니다.
자동 보고서모인 데이터로 주간과 월간 환경 리포트를 만듭니다.

수행 결과

  • 사람이 재던 항목을 기기가 초 단위로 재서 올립니다.
  • 이상이 생기면 관리자에게 바로 갑니다. 현장에 있지 않아도 압니다.
  • 기록이 클라우드에 남아 빠지는 날이 없습니다.
  • PC 와 모바일에서 같은 대시보드를 봅니다.

화면 구성

화면의 구조와 기능을 보여주는 시안이며, 색과 서체를 포함한 디자인은 다음 단계에서 정합니다.

현황기록리포트알림

수온 18.4도

  • 탁도 2.1 NTU
  • 수위 82cm
  • 마지막 측정 3초 전

현황

지금 수질이 어떤지 한 화면에서 봅니다

리포트

날짜평균 수온평균 탁도이상 횟수
내려받기

리포트

주간과 월간 기록을 받습니다

시스템 구성도

사용자와 기기서버저장소와 외부RESTHTTPS이상 알림수질 센서수온, 탁도, 수위초 단위로 잽니다현장 제어기Raspberry Pi센서를 모아 올립니다관리 화면반응형 웹PC 와 모바일에서API 서버Flask + EC2수집과 알림계측 기록DynamoDB시계열로 쌓입니다

점선은 외부 서비스를 사용하는 항목입니다.

설계 원칙

설계 원칙과 적용 방법
원칙적용 방법
기기가 잘못돼도 기록은 남는다측정값을 즉시 클라우드로 올립니다
사람이 옮겨 적는 단계를 두지 않는다주간과 월간 리포트를 로그에서 자동으로 만듭니다
센서가 늘어도 제어기를 바꾸지 않는다I/O 여유가 있는 보드를 골랐습니다

적용 기술

Raspberry PiPythonFlaskKotlinDynamoDBEC2REST APIJavaScript

관련 프로젝트