라즈베리 파이로 시작하는 임베디드·IoT 시스템
라즈베리 파이의 하드웨어와 소프트웨어 환경, GPIO 제어, IoT·교육·산업용 활용과 개발 환경 구성을 정리한다.
2026-08-14 · 최초 발행 2025-08-10
라즈베리 파이는 영국 라즈베리 파이 재단이 개발한 신용카드 크기의 단일 보드 컴퓨터(SBC)다. 컴퓨팅 교육을 출발점으로 삼았지만, 현재는 IoT, 로봇공학, 홈 오토메이션, 엣지 컴퓨팅까지 폭넓게 사용된다.
교육용 보드에서 범용 컴퓨팅 플랫폼으로
라즈베리 파이 재단은 컴퓨터 과학 교육을 목적으로 2012년에 첫 모델을 공개했다. 에반 업튼(Eben Upton)을 중심으로 개발됐으며, 이후 성능과 기능을 개선한 제품군이 이어졌다.
라즈베리 파이 1, 2, 3, 4, Zero를 거쳐 최신 버전인 라즈베리 파이 5에는 2.4GHz 쿼드코어 Cortex-A76 CPU와 최대 8GB RAM이 탑재됐다. 작은 보드에서 운영체제와 개발 도구를 실행하고, 외부 장치까지 다룰 수 있다는 점이 교육을 넘어선 활용의 기반이 됐다.
외부 장치와 연결되는 하드웨어
ARM 기반 프로세서는 저전력 환경에서 컴퓨팅을 수행하는 데 적합하다. GPIO(General Purpose Input/Output) 핀은 센서와 액추에이터를 직접 연결하는 통로가 되며, HDMI, USB, 이더넷, Wi-Fi, Bluetooth도 제공한다.
CSI(Camera Serial Interface)와 DSI(Display Serial Interface) 포트는 카메라와 디스플레이 연결에 사용된다. 대부분의 모델은 85.6mm × 56.5mm 크기의 폼팩터를 따르고, 40핀 GPIO 헤더로 확장성을 확보한다.
라즈베리 파이 4 모델 B의 사양은 다음과 같다.
- SoC: Broadcom BCM2711 (1.5GHz 쿼드코어 Cortex-A72)
- RAM: 2GB/4GB/8GB LPDDR4
- 연결: 2.4GHz/5GHz 802.11ac Wi-Fi, Bluetooth 5.0, 기가비트 이더넷
- GPIO: 40핀 GPIO 헤더
- 포트: 2×USB 3.0, 2×USB 2.0, 2×micro-HDMI(4K@60Hz 지원)
- 전원: USB-C (5V/3A)
운영체제와 개발 도구 선택
공식 운영체제인 Raspberry Pi OS는 데비안 리눅스를 기반으로 한다. Ubuntu, Windows 10 IoT Core, RISC OS도 사용할 수 있다.
Python과 Scratch 같은 교육용 프로그래밍 언어를 기본으로 제공하며, 리눅스의 오픈소스 소프트웨어 생태계와 apt 패키지 관리자를 활용할 수 있다. 하드웨어 제어에는 RPi.GPIO, pigpio 등의 라이브러리가 쓰인다.
센서에서 클라우드까지 이어지는 구조
라즈베리 파이 기반 IoT 시스템에서는 보드가 센서와 액추에이터의 신호를 받고, 네트워크를 거쳐 클라우드 및 모니터링·제어 애플리케이션과 데이터를 교환한다.
이 구조는 스마트홈의 조명·온도·보안 제어, 환경 모니터링, 웨어러블 디바이스, 스마트 팜 같은 프로젝트에 적용할 수 있다. Kodi, OSMC 기반 홈 미디어 센터, 스트리밍 서비스 허브, 디지털 사이니지, RetroPie 기반 레트로 게임 에뮬레이션 스테이션도 대표적인 활용 범위다.
산업 환경에서는 저비용 자동화, 원격 모니터링과 제어, 엣지 컴퓨팅 노드, 프로토타입 개발 플랫폼으로 사용할 수 있다.
보드를 준비하고 원격으로 개발하기
개발을 시작할 때는 마이크로 SD 카드에 Raspberry Pi OS 이미지를 플래싱한 뒤, 모니터·키보드·마우스를 연결하거나 SSH와 VNC를 이용한 Headless 환경을 구성한다. 초기 설정에서는 raspi-config로 언어, 타임존, Wi-Fi, SSH 활성화 등을 다루고, 시스템 업데이트와 패키지 설치를 마친 뒤 IDE와 라이브러리를 준비한다.
원격 환경에서는 개발 PC, VS Code, 웹 브라우저, Jupyter Notebook이 각각 라즈베리 파이에 접속할 수 있다.
GPIO를 코드에서 제어하는 방법
GPIO 제어에는 파이썬 기반 라이브러리인 RPi.GPIO, 저수준 제어를 위한 pigpio, C 언어 기반의 WiringPi를 사용할 수 있다. WiringPi는 현재 공식 지원이 중단됐다.
다음 코드는 Python에서 GPIO 18번 핀에 연결한 LED를 반복적으로 켜고 끄는 예시다.
import RPi.GPIO as GPIO
import time
# GPIO 모드 설정
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
# LED 핀 설정
LED_PIN = 18
GPIO.setup(LED_PIN, GPIO.OUT)
try:
while True:
# LED 켜기
GPIO.output(LED_PIN, GPIO.HIGH)
print("LED ON")
time.sleep(1)
# LED 끄기
GPIO.output(LED_PIN, GPIO.LOW)
print("LED OFF")
time.sleep(1)
except KeyboardInterrupt:
# 프로그램 종료 시 GPIO 정리
GPIO.cleanup()
print("프로그램 종료")
프로젝트에서 조합되는 구성
스마트 홈 허브는 DHT22 온도·습도 센서, PIR 동작감지 센서, 가스 감지 센서와 릴레이 모듈을 조합할 수 있다. Node-RED, MQTT 브로커(Mosquitto), Home Assistant 플랫폼이 소프트웨어와 모바일 앱 연동을 맡는다.
자율주행 로봇에는 L298N 모터 드라이버, HC-SR04 초음파 센서, 라인 트래킹 센서, Raspberry Pi Camera Module을 연결할 수 있다. OpenCV 기반 이미지 처리와 TensorFlow Lite 모델이 소프트웨어 구성에 포함된다.
기상 모니터링 시스템에서는 BME280으로 온도·습도·기압을 측정하고 라이트 센서를 함께 사용한다. 시계열 데이터는 InfluxDB에 저장하며, Grafana 대시보드로 시각화하고 Telegram 봇으로 알림을 연동할 수 있다.
플랫폼의 제약과 선택지
라즈베리 파이는 복잡한 AI 모델을 실행하기에는 연산 능력이 제한적이다. 산업용 환경에서는 내구성과 안정성, 전력 공급과 발열 관리, 메모리와 저장공간의 제한도 검토 대상이다.
AI와 병렬 처리가 중심이면 NVIDIA Jetson Nano를, 실시간 제어가 필요하면 Arduino를, 산업용 애플리케이션에는 BeagleBone을 선택할 수 있다. 저전력·저비용 Wi-Fi IoT 프로젝트에는 ESP32/ESP8266이 대안이 된다.
엣지 컴퓨팅과 AI 영역, 산업용 IoT, 교육 플랫폼에서의 활용은 계속 확대될 전망이다. Compute Module과 RP2040을 포함한 제품군의 다양화도 라즈베리 파이 생태계의 활용 범위를 넓힌다.