Skip to content

센서 시뮬레이터와 Flask 기반 JSON API를 활용한 IoT 데이터 파이프라인 데모 프로젝트

Notifications You must be signed in to change notification settings

asamountain/ioT-Linux-SmartFarm.py

Repository files navigation

IoT Linux SmartFarm

센서 시뮬레이터와 Flask 기반 JSON API를 활용한 IoT 데이터 파이프라인 데모 프로젝트

주요기능

  • Python으로 임의 센서 데이터(온도, 습도) 생성 및 CSV 저장
  • Flask API 서버(/api/data)에서 최근 온습도 10개 시계열 데이터 JSON 형태로 제공
  • Chart.Js 시각화 대시보드 : 실시간 온습도 CSV 데이터 5초 간격 시각화

파일 구조

  • sensor_simulator.py : 센서 데이터 생성 및 CSV 저장 스크립트
  • app.py : Flask 기반 REST API 서버
  • requirements.txt : 필요한 Python 패키지 목록
  • sensor_data.csv : 예시 센서 데이터 (일부)
  • run.sh : python app.py 입력만으로 패키지 설치 확인 및 Flask API로 CSV 시각화 실행 Shell 스크립트
    • sensor_simulator.py가 별도의 터미널에서 실행되어야 정상 동작

실행 방법

  1. 가상환경 생성 및 패키지 설치
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
  1. 센서 데이터 생성

python3 sensor_simulator.py (sensor_data.csv 파일이 생성됩니다)

  1. Flask API 서버 실행 python3 app.py

  2. 브라우저 또는 curl로 데이터 확인 Json : http://[VM_IP]:5001/api/data 시각화 : http://[VM_IP]:5001/

실행 결과 예시

  • API 응답(JSON)
Screenshot 2025-05-30 at 8 30 21 PM
  • 터미널 실행 화면
Screenshot 2025-05-30 at 8 48 56 PM
  • Chart.js 를 통한 시각화 화면
Screenshot 2025-05-30 at 9 51 15 PM

실무 환경 구축 경험

  • MacOS 환경에서 Multipass를 활용해 직접 우분투 리눅스 가상 머신을 설치 및 운영 → 실제 하드웨어 없이도 IoT/임베디드 개발 및 테스트 환경을 자율적으로 구축
  • 가상 리눅스 환경에서 센서 데이터 시뮬레이션, API 서버, 시각화 대시보드까지 전체 데이터 파이프라인을 직접 설계·운영
  • 리눅스 패키지 관리, 네트워크 설정, 파일/프로세스 관리 등 임베디드/IoT QA 실무에 필요한 기본기를 직접 실습
  • QA 자동화 시나리오: 센서 데이터 생성 → API 연동 → 대시보드 검증 등
  • 하드웨어와 소프트웨어가 통합된 테스트 환경 경험

License

MIT

문의

이메일: [sjisyours@gmail.com]

About

센서 시뮬레이터와 Flask 기반 JSON API를 활용한 IoT 데이터 파이프라인 데모 프로젝트

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published