산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

텐서플로우 기반 IoT 기상 관측소로 강우 강도 정확히 예측하기

부품 및 소모품

부품 수량 비고
DFRobot 기상 관측소 키트 (풍속계, 풍향계, 강우량계 포함) 1 시리얼 통신으로 37바이트/초 출력
NodeMCU ESP8266 (ESP-12E) 1 와이파이 전송용
DFRobot SIM808 GPS/GPRS/GSM 실드 1 LTE/GPRS 전송용 (원거리)
아두이노 우노 1 SIM808 실드 호스트
라즈베리 파이 3 모델 B+ 또는 4 1 웹 서버 + 데이터 수집용
납땜 가능 미니 브레드보드 2

필수 도구

앱 및 온라인 서비스

프로젝트 배경

2020년 갑작스러운 폭우로 온실과 농작물 피해가 빈번해졌습니다. 기후 변화로 국지성 호우가 늘어나면서 농업 생산성 손실이 커지고 있습니다. 조기 경보 시스템만으로는 부족하며, 각 온실/농장별 초지역 날씨 데이터가 필요합니다. 이를 위해 저비용 원격 기상 관측소로 현장 데이터를 수집하고, 텐서플로우 신경망으로 강우 강도를 5단계로 분류 예측하는 시스템을 구축했습니다.

연구에 따르면 신경망은 1~3시간 후 강수량 예측, 토네이도/안개 예측 등 기상 현상 예측에 높은 정확도를 보입니다.

1단계: 기상 관측소 키트 조립

DFRobot 키트(풍속계, 풍향계, 강우량계, 센서 보드)를 조립합니다. 센서 보드는 방수가 안 되므로 플라스틱 박스로 보호합니다.

데이터 포맷 (초당 37바이트): c000s000g000t086r000p000h53b10020

2단계: 구글 시트에 데이터 수집 (PHP 웹앱 + 구글 시트 API)

  1. 구글 개발자 콘솔에서 프로젝트 생성 → 구글 시트 API 활성화
  2. 서비스 계정 생성 → OAuth 클라이언트 ID 발급 → credentials.json 다운로드
  3. 구글 시트 생성, 컬럼: WD, Av_WS, Mx_WS, 1h_RF, 24h_RF, Tem, Hum, b_PR
  4. 라즈베리 파이(또는 일반 PHP 서버)에 웹앱 배포: index.php, account_verification_token.php, credentials.json, token.json
  5. 최초 접속 시 인증 URL 따라가 검증 코드 받아 account_verification_token.php에 입력 → token.json 자동 생성
  6. 테스트: https://서버/remote_weather_station/?wd=12&a_ws=8&m_ws=11&1_rf=14&24_rf=84&tem=24&hum=32&b_pr=57

3단계: ESP8266(와이파이) / SIM808(GPRS)로 데이터 전송

ESP8266 (발코니 근거리)

SIM808 + 아두이노 우노 (마당 원거리)

4단계: 3개월 이상 데이터 수집 → 데이터셋 구축

5분 간격으로 32,219행 수집. CSV로 내보내 Remote Weather Station.csv로 저장.

5단계: 텐서플로우/케라스로 ANN 모델 구축 및 학습

데이터 전처리 (Python)

신경망 구조

Input(7) → Dense(16, relu) → Dense(32, relu) → Dense(64, relu) → Dense(128, relu) → Dense(5, softmax)
Optimizer: Adam, Loss: sparse_categorical_crossentropy, Epochs: 19

학습 정확도: 0.83~0.85, 테스트 정확도: 0.72~0.73 (과적합 경향, 데이터 추가 수집 중)

예측 예시

입력: [0, 0, 0.318, 0.318, 0.699, 0.815, 0.993] → 예측: 0 (None)
입력: [0, 0, 0.45, 0, 0.876, 0.959, 1.001] → 예측: 4 (Violent Rain)

6단계: 향후 개선 방향

코드

커스텀 파트

수집된 데이터 CSV 파일: remote_weather_station_OobOCQNPSW.csv

회로도

ESP8266 연결도, SIM808+우노 연결도 이미지 참조

참고 문헌

  1. NIWA: Extreme weather - heavy rainfall
  2. Univ. of Illinois: Excessive rainfall as damaging to corn yield as extreme heat, drought (ScienceDaily, 2019)
  3. Andrew Culclasure: Using Neural Networks to Provide Local Weather Forecasts (Georgia Southern Univ., 2013)

제조공정

  1. 라즈베리 파이 태양광 기상 관측소 DIY 제작
  2. 라즈베리 파이 2와 ADS-WS1로 야외 기상 관측소 구축하기
  3. 라즈베리 파이 기상 관측소 만들기: 매일 이메일로 날씨 데이터 전송
  4. 초보자 IoT 튜토리얼: 라즈베리 파이에서 온도 데이터 스트리밍하기
  5. 라즈베리 파이 3와 PubNub로 원격 기상 모니터링하기
  6. 기상 관측소를 CWOP와 통합하기: 실용 가이드
  7. 자바 ME 8로 라즈베리 파이 IoT 구축: 1부 – GPIO 센서 연동
  8. 라즈베리 파이 3에 DHT11 센서 연결해 ThingsIo.ai 클라우드에 데이터 업로드하기
  9. 아다프루트 10DOF IMU 데이터를 라즈베리파이 2에서 Azure Event Hubs로 전송 (윈도우 10 IoT Core)
  10. 고급 기상 관측소 v2.0: 실시간 온도, 기압, 습도, 고도 모니터링