본문 바로가기
컴퓨터공학

[2025 최신] 실전 프로젝트: Raspberry Pi로 IoT 시스템 구축하기

by oioiwoon 2025. 2. 3.
반응형

🤖 Raspberry Pi란?

Raspberry Pi는 소형 컴퓨터이자 강력한 임베디드 시스템 개발 도구입니다. 주로 IoT(사물인터넷) 프로젝트, 네트워크 장비, 홈 자동화, AI 연구 등에 활용됩니다.

Raspberry Pi를 활용하면?

  • 스마트 홈 자동화 시스템 구축 가능
  • 네트워크 및 서버 관리 가능
  • 센서를 활용한 IoT 프로젝트 개발 가능

이 글에서는 Raspberry Pi를 이용한 IoT 시스템 구축 방법을 소개합니다! 🚀

반응형

🛠️ 1. Raspberry Pi 준비 및 설정

🔹 1. 필요한 준비물

Raspberry Pi 보드 (Pi 4 또는 Pi 5 추천)
MicroSD 카드 (32GB 이상)
전원 어댑터 (USB-C, 5V 3A 이상)
Wi-Fi 또는 이더넷 케이블
HDMI 케이블 및 모니터 (최초 설정 시 필요)
센서 및 액추에이터 (온습도 센서, 카메라, LED 등)

🔹 2. Raspberry Pi OS 설치

  1. Raspberry Pi 공식 사이트에서 Raspberry Pi OS 다운로드
  2. Raspberry Pi Imager를 사용하여 MicroSD 카드에 OS 설치
  3. Raspberry Pi에 MicroSD 카드를 삽입하고 전원 연결 후 부팅

설치 후 기본 설정:

sudo apt update && sudo apt upgrade -y  # 시스템 업데이트
sudo raspi-config  # Wi-Fi 및 로케일 설정

🌍 2. IoT 프로젝트 1: 스마트 온습도 모니터링 시스템 구축

🔹 1. DHT22 온습도 센서 연결

GPIO 핀 구성:

  • VCC → Raspberry Pi 3.3V
  • GND → Raspberry Pi GND
  • DATA → Raspberry Pi GPIO4

🔹 2. 라이브러리 설치 및 코드 작성

pip install Adafruit_DHT
import Adafruit_DHT

sensor = Adafruit_DHT.DHT22
pin = 4  # 데이터 핀이 연결된 GPIO 번호

def read_sensor():
    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
    if humidity is not None and temperature is not None:
        print(f"온도: {temperature:.1f}°C, 습도: {humidity:.1f}%")
    else:
        print("센서 연결 오류!")

read_sensor()

온습도 데이터를 읽고 터미널에 출력하는 코드


📡 3. IoT 프로젝트 2: 웹 대시보드로 실시간 모니터링

🔹 1. Flask 웹 서버 설치

pip install flask

🔹 2. 실시간 온습도 데이터 웹 대시보드 구현

from flask import Flask, jsonify
import Adafruit_DHT

app = Flask(__name__)
sensor = Adafruit_DHT.DHT22
pin = 4

@app.route("/temperature")
def get_temperature():
    humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
    return jsonify({"temperature": temperature, "humidity": humidity})

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000)

웹 브라우저에서 http://<RaspberryPi_IP>:5000/temperature에 접속하면 실시간 데이터 확인 가능!


🚀 4. IoT 프로젝트 3: 스마트 LED 자동 제어 시스템

🔹 1. GPIO를 활용한 LED 제어

핀 연결:

  • LED + → Raspberry Pi GPIO17
  • LED - → Raspberry Pi GND

🔹 2. LED 제어 코드

import RPi.GPIO as GPIO
import time

LED_PIN = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(LED_PIN, GPIO.OUT)

while True:
    GPIO.output(LED_PIN, GPIO.HIGH)  # LED ON
    time.sleep(1)
    GPIO.output(LED_PIN, GPIO.LOW)   # LED OFF
    time.sleep(1)

LED가 1초 간격으로 깜빡이는 코드


🔥 5. IoT 프로젝트 확장 아이디어

홈 자동화: Raspberry Pi를 활용한 조명, 온습도, 보안 카메라 제어
실시간 데이터 수집: 센서를 이용한 환경 데이터 로깅 및 분석
MQTT 및 클라우드 연결: AWS IoT 또는 Google Cloud IoT와 연동하여 데이터 관리


🎯 결론: Raspberry Pi로 IoT 프로젝트 시작하기!

Raspberry Pi와 센서를 활용해 실전 IoT 프로젝트 구축 가능Flask를 활용한 실시간 모니터링 대시보드 개발 가능홈 자동화, 데이터 수집, 클라우드 연동 등 다양한 확장 가능

🚀 이제 Raspberry Pi를 활용한 IoT 시스템을 직접 구축해보세요!

 

반응형