week_2(프로젝트 기획안 ‐ 수정) - sunbang123/Graduation_Project GitHub Wiki

AWS 란?

(정보를 확인하려면 클릭하세요!)

AWS의 코드 기여

  • AWS는 여러 오픈소스 프로젝트에 기여하고 있으며, 자체적으로도 다양한 소프트웨어를 개발해 오픈소스로 공개하고 있습니다. 예를 들어, 개발자가 AWS 서비스를 쉽게 사용할 수 있도록 도와주는 SDK(Software Development Kit)나, 인프라를 코드로 관리할 수 있는 AWS CDK 등이 있습니다.

AWS IoT Core를 활용한 스마트 홈 시스템

AWS IoT Core 개요

  • AWS IoT Core는 다양한 IoT(사물 인터넷) 기기를 클라우드에 안전하게 연결하고, 이들로부터 데이터를 수집할 수 있게 해주는 서비스입니다. 이 서비스를 통해 집 안의 여러 기기들을 한 곳에서 쉽게 관리하고, 자동화할 수 있습니다.

센서와 AWS IoT Core의 통합

  • 스마트 홈 시스템에서 자주 사용하는 DHT11과 같은 센서는 온도와 습도를 측정합니다. 이 센서를 Raspberry Pi 같은 장치에 연결하고, AWS IoT Core와 연동하면, 실시간으로 데이터를 수집하고 분석할 수 있습니다.

간단한 과정:

  1. 센서에서 데이터를 수집합니다.
  2. 이 데이터를 AWS IoT Core에 전송합니다.
  3. AWS IoT Core의 규칙 엔진을 사용해 필요한 데이터를 다른 서비스로 보냅니다.
  4. IoT 애널리틱스를 활용한 데이터 분석
  5. AWS IoT 애널리틱스를 사용하면 센서에서 수집한 데이터를 분석하여 중요한 정보를 얻을 수 있습니다. 예를 들어, 집 안의 온도와 습도 변화를 분석해 난방과 냉방 시스템을 최적화할 수 있습니다.

웹 서버와 UI의 AWS 통합

백엔드 웹 서버 호스팅

  • AWS는 웹 서버를 쉽게 구축할 수 있도록 다양한 서비스를 제공합니다. 예를 들어, EC2를 사용하면 직접 서버를 설정할 수 있고, AWS Lambda를 사용하면 서버 없이도 코드를 실행할 수 있습니다.

프론트엔드 UI 호스팅

  • 사용자 인터페이스(UI)를 AWS에서 호스팅하는 것도 간단합니다. 정적인 웹사이트는 S3와 CloudFront를 통해 호스팅할 수 있고, AWS Amplify를 사용하면 더 복잡한 웹 애플리케이션도 쉽게 관리할 수 있습니다.

결론

  • AWS를 사용하면 스마트 홈 시스템을 쉽게 구축하고 관리할 수 있습니다. AWS IoT Core로 집 안의 기기들을 연결하고, 수집된 데이터를 분석해 생활을 더 편리하고 효율적으로 만들 수 있습니다. AWS의 다양한 도구와 서비스를 활용해 여러분만의 스마트 홈 시스템을 만들어보세요.
image

스마트홈 프로젝트

목차

  1. 라즈베리파이 기반 스마트홈 시스템
  2. 스마트 디스플레이 및 가전 기기 연동
  3. 사용자 행동 패턴 학습

1. 라즈베리파이 기반 스마트홈 시스템

기획 의도

일상에서의 편안함과 자동화를 목표로 하며, 최신 기술을 활용하여 스마트홈 환경을 구축합니다.

기대 효과

  • 공간 활용 최적화
  • 사용자 친화적 인터페이스
  • 자동화된 환경 제어

기술 스택

기술 용도
Raspberry Pi 중앙 제어 및 처리 유닛
Docker 모듈화된 서비스 배포 및 관리
Home Assistant 오픈소스 홈 자동화 플랫폼
Node-RED 시각적 프로그래밍 및 자동화 시나리오 설정
MQTT IoT 기기 간 통신 프로토콜
Python 센서 및 디바이스 제어 스크립트
Grafana 실시간 모니터링 및 시각화 대시보드
AWS 클라우드 인프라 및 서비스 관리
AWS Lambda 서버리스 백엔드 로직 실행
AWS IoT Core IoT 장치의 클라우드 통신 및 관리
AWS S3 데이터 저장 및 백업

주요 기능

  • 온/습도 센서: 실내 환경 모니터링 및 조절
  • 모션 센서: 움직임 감지 기반 조명 및 보안 시스템 제어
  • 미세먼지 센서: 공기질 모니터링 및 공기청정기 자동 제어
  • 토양 수분 센서: 화분 관리 자동화
  • 스마트 스피커 연동: 음성 명령 기반 시스템 제어
  • 규칙 기반 자동화: 사용자 정의 자동화 시나리오 실행

교육용 대체품

실제 가전         ->  교육용 대체품
---------------------------------
조명             ->  LED 패널/소형 전구
공기청정기       ->  팬+필터 모형
스마트 플러그     ->  USB 제어 장치

2. 스마트 디스플레이 및 가전 기기 연동

기획 의도

디스플레이를 통해 스마트홈의 상태를 한눈에 확인하고, 자동으로 관리할 수 있는 시스템 구축.

기대 효과

  • 일상 정보 제공의 효율성 향상
  • 개인 맞춤형 서비스 제공

기술 스택

  • Raspberry Pi: 스마트 디스플레이 컨트롤러
  • Node-RED: UI 구축 및 데이터 흐름 관리
  • AWS DynamoDB: 실시간 데이터베이스 및 인증 관리
  • AWS Lambda: 서버리스 함수로 데이터 처리 및 API 구현
  • AWS IoT Core: 가전 기기 연동 및 상태 모니터링
  • IFTTT: 다양한 서비스 연동 및 자동화 규칙 설정

주요 기능

  1. 스마트 디스플레이: 시간, 날씨, 일정 등 대시보드
  2. 알람 및 리마인더: 일정 및 할 일 알림
  3. 음성 제어: 기본 음성 명령 처리
  4. 실시간 상태 모니터링: 센서 및 디바이스 상태 확인
  5. 연동된 가전 제어: Node-RED 인터페이스/음성으로 제어

교육용 대체품

  • 스마트 디스플레이 → 일반 모니터/소형 디스플레이
  • 음성 제어 → 간단한 음성 인식 라이브러리
  • 알람/리마인더 → LED 알림 + 모형 기기

3. 사용자 행동 패턴 학습 (단순화 버전)

데이터 수집

  • 센서 데이터: 온도, 습도, 움직임, 조명 상태 등
  • 사용자 입력: Node-RED 대시보드/음성 명령 기록
  • 시간 데이터: 사용자 행동의 시간대 기록

데이터 저장 및 처리

graph LR
    A[센서/사용자 데이터] --> B[SQLite/Firebase]
    B --> C[Node-RED]
    C --> D[데이터 전처리]
    D --> E[패턴 인식]
Loading

패턴 인식 및 규칙 생성

  1. 시간 기반 패턴
    if (time === "07:00" && day === "weekday") {
      turnOn("bedroom_light");
    }
  2. 조건 기반 규칙
    if (temperature > 28 && fanStatus === "off") {
      turnOn("fan");
    }
  3. 빈도 기반 패턴
    if (isMostUsedDevice("living_room_light") && time === "18:00") {
      suggestAutomation("Turn on living room light at 6 PM");
    }

자동화 규칙 생성 및 개선

  1. Node-RED로 기본 자동화 규칙 설정
  2. 패턴 기반 새로운 자동화 규칙 제안
  3. 사용자 피드백을 통한 지속적 개선

프로토타입 구현

  • Node-RED 플로우: 데이터 수집 → 처리 → 규칙 생성 → 자동화 실행
  • Home Assistant 연동: 생성된 규칙을 실제 스마트홈 환경에 적용
  • AWS Lambda 및 IoT Core를 통해 클라우드 기반 자동화 규칙 실행 및 관리

참고: 이 프로젝트는 복잡한 머신러닝 없이도 기본적인 '스마트' 기능을 구현할 수 있습니다. Node-RED의 시각적 프로그래밍을 활용하여 복잡한 로직도 쉽게 구현합니다!

⚠️ **GitHub.com Fallback** ⚠️