🧠 라즈베리파이 GPIO 제어? 어떤 라이브러리를 써야 할까? [2025 완전 정리]
2025. 5. 14. 10:27ㆍ리눅스이야기
반응형
라즈베리파이(Raspberry Pi)는 작고 강력한 싱글보드 컴퓨터로, 전 세계적으로 DIY 프로젝트나 IoT 개발에 많이 활용되고 있어요.
그중에서도 GPIO(General Purpose Input Output) 핀을 활용한 하드웨어 제어는 가장 인기 있는 기능 중 하나입니다.
그런데…
"Python으로 GPIO 제어하려면 어떤 라이브러리를 써야 하지?"
라는 고민, 해보셨죠? 😅
그래서! 오늘은 라즈베리파이에서 사용할 수 있는 GPIO 제어 라이브러리들을 깔끔하게 비교해드립니다.
✅ 1. RPi.GPIO – 라즈베리파이의 기본기
📦 설치
sudo apt install python3-rpi.gpio
대부분의 라즈베리파이 OS에 기본 내장되어 있어요!
💡 예제 코드
import RPi.GPIO as GPIO
import time
LED_PIN = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(LED_PIN, GPIO.OUT)
GPIO.output(LED_PIN, GPIO.HIGH)
time.sleep(1)
GPIO.output(LED_PIN, GPIO.LOW)
GPIO.cleanup()
✅ 장점: 가볍고 범용적
⚠️ 단점: 코드가 상대적으로 복잡할 수 있음
✅ 2. gpiozero – 초보자를 위한 고수준 라이브러리
📦 설치
sudo apt install python3-gpiozero
💡 예제 코드
from gpiozero import LED
from time import sleep
led = LED(17)
led.on()
sleep(1)
led.off()
✅ 장점: LED, 버튼, 센서 등 디바이스 추상화
⚠️ 단점: 고급 제어엔 다소 제한적
✅ 3. pigpio – 정밀 제어, 원격 제어까지!
pigpio는 PWM, 파형 제어, 원격 GPIO 등 고급 기능까지 가능한 라이브러리입니다.
📦 설치 및 데몬 실행
sudo apt install pigpio
sudo systemctl start pigpiod
💡 예제 코드
import pigpio
import time
pi = pigpio.pi()
LED_PIN = 17
pi.set_mode(LED_PIN, pigpio.OUTPUT)
pi.write(LED_PIN, 1)
time.sleep(1)
pi.write(LED_PIN, 0)
pi.stop()
✅ 장점: 정밀한 PWM, 원격 제어 가능
⚠️ 단점: 별도 데몬 필요 (pigpiod)
✅ 어떤 라이브러리를 써야 할까? 비교표
라이브러리 | 난이도 | 특징 | 추천 용도 |
RPi.GPIO | 중 | 기본 라이브러리, 범용 | GPIO 입출력 제어 기본 |
gpiozero | 히 | 초보자용, 디바이스 추상화 | 버튼/LED/센서 등 간단 제어 |
pigpio | 상 | 정밀 제어, PWM, 원격 제어 | 고급 프로젝트, 모터 제어 등 |
🔚 마무리하며…
GPIO 제어는 라즈베리파이 프로젝트의 핵심입니다.
당신의 프로젝트가 단순한 LED 제어인지, 정밀한 모터 제어인지에 따라 선택할 라이브러리는 달라질 수 있어요!
나만의 멋진 하드웨어 프로젝트, GPIO부터 제대로 시작해보세요! 😎
'리눅스이야기' 카테고리의 다른 글
[라즈베리파이] mariadb GUI tool (0) | 2025.05.14 |
---|---|
[MySql] /tmp 디스크가 꽉 찼을 경우에 문제 수정 (1) | 2024.03.10 |
[Linux] samba 설정(윈도우와 리눅스의 파일공유설정) (0) | 2024.01.18 |
[라즈베리파이] 화면캡쳐 프로그램인 shutter 설치 (1) | 2023.12.29 |
[라즈베리파이] transmission 에 대한 설정 (2) | 2023.12.28 |