10주차_참고 : Firebase 소개 - dhryu60/SmartDevice_2025-1 GitHub Wiki

Firebase 소개 강의자료


1. Firebase란?

  • Firebase는 Google이 제공하는 모바일 및 웹 애플리케이션 개발 플랫폼입니다.
  • 서버 없이 빠르게 앱을 개발하고, 사용자 데이터를 저장·분석하며, 실시간으로 기능을 확장할 수 있습니다.

2. Firebase의 특징

특징 설명
BaaS (Backend-as-a-Service) 서버 구축 없이 데이터 저장, 인증, 호스팅 등 백엔드 기능 제공
실시간 데이터 처리 데이터 변경을 클라이언트에 실시간으로 반영
크로스 플랫폼 지원 Android, iOS, 웹 등 다양한 플랫폼 지원
구글 생태계와의 통합 Google Cloud, Analytics, AdMob 등과 손쉽게 연동

3. Firebase 주요 서비스

서비스명 기능
Realtime Database JSON 기반 NoSQL 실시간 데이터베이스
Firestore 확장성과 쿼리 기능이 강화된 클라우드 NoSQL DB
Authentication 사용자 인증 (이메일, 구글, 페이스북, 익명 등)
Hosting 정적 웹 사이트 배포
Cloud Functions 서버리스 함수 실행
Cloud Storage 이미지, 동영상 등 대용량 파일 저장
Analytics 사용자 행동 분석 및 보고서 제공

4. Firebase 아키텍처

[사용자] ←→ [웹/앱] ←→ [Firebase 서비스]
                            ├ Realtime Database
                            ├ Firestore
                            ├ Authentication
                            ├ Cloud Functions
                            └ Hosting / Storage

5. Firebase 사용 흐름 예시 (IoT 연동)

  1. ESP32가 센서 데이터를 수집
  2. Firebase Realtime Database에 저장
  3. 웹앱에서 실시간 모니터링
  4. Firebase Hosting을 통해 전 세계 어디서나 접근 가능

6. Firebase Realtime Database vs Firestore

항목 Realtime Database Firestore
데이터 구조 JSON 트리 문서(Document) 기반
실시간 처리 매우 빠름 빠름 (다중 지역 지원)
확장성 중간 뛰어남
복잡한 쿼리 제한적 풍부한 쿼리 가능

7. Firebase의 장점

  • 서버 개발 없이 빠른 MVP 제작 가능
  • 실시간 데이터 처리에 최적화
  • 보안 규칙 설정이 유연함
  • 다양한 라이브러리 및 SDK 제공
  • IoT, 모바일, 웹 프로젝트에 모두 적합

8. Firebase와 IoT

  • Firebase는 IoT 데이터 수집 및 시각화에 매우 적합
  • 예: ESP32의 센서 데이터를 실시간으로 저장 및 웹 차트로 시각화
  • 복잡한 서버 인프라 없이도 실시간 모니터링 앱 구축 가능

9. 실습 예고

  • ESP32를 이용한 Firebase 연동 프로젝트

    • 빛 감지 센서 → Firebase 저장
    • Firebase 데이터에 따라 LED 제어
    • 웹 차트로 실시간 시각화
  • Firebase 프로젝트 생성부터 Hosting까지 전 과정 실습 예정


10. 참고 자료