🤖 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 설치
- Raspberry Pi 공식 사이트에서 Raspberry Pi OS 다운로드
- Raspberry Pi Imager를 사용하여 MicroSD 카드에 OS 설치
- 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 시스템을 직접 구축해보세요!
'컴퓨터공학' 카테고리의 다른 글
[2025 최신] 이것만 알면 합격! 개발자 취업을 위한 코딩 테스트 공부법 (0) | 2025.02.04 |
---|---|
[2025 최신] 알고리즘 문제 풀이 사이트 추천 (코딩 테스트 대비 필수) (0) | 2025.02.03 |
[2025 최신] 프로그래밍 공부 방법: 혼자서 시작하는 최고의 전략 5가지 (0) | 2025.02.02 |
[2025 최신] 파이썬으로 간단한 웹 서버 만들기 (Flask & FastAPI 비교) (0) | 2025.02.02 |
[2025 최신] C++과 파이썬, 어느 언어를 배워야 할까? (장단점 비교) (0) | 2025.02.01 |