라즈베리 파이 기반 홈 오토메이션 시스템으로 원격 제어 구축하기
라즈베리 파이를 강력한 원격 제어 허브로 바꿔 언제 어디서나 안드로이드 폰으로 조명, 팬, 게이트 등을 관리하세요.
필요한 것
1단계: 릴레이 이해하기
릴레이는 작은 코일이 통전될 때 회로를 열거나 닫는 전자 기계식 스위치입니다. 일반적인 4채널 릴레이 보드는 채널당 5개 핀: 코일용 두 개(VCC, GND), 공통(COM), 상시 닫힘(NC), 상시 열림(NO) 접점.
이 프로젝트에서는 각 채널을 다음과 같이 배선합니다:
- 코일: GPIO 핀 → 3.3V, GND → GND
- COM: 메인 위상(또는 라인)
- NO: 기기 단자(예: 전구 소켓)
- NC: 미사용(연결 안 함)
- 기기 중성선 → 메인 중성선
파이 GPIO가 3.3V 출력하므로 3.3V 코일 전압용 릴레이를 꼭 선택하세요. 인기 있는 선택은 4채널 3.3V 릴레이 보드.
2단계: 라즈베리 파이 설정
라즈베리 파이 OS(구 라즈비안)를 마이크로 SD 카드에 다운로드, 삽입, 부팅. 첫 부팅 시 기본 사용자 보안 비밀번호 설정:
sudo passwd pi
시스템 업데이트:
sudo apt update -y && sudo apt upgrade -y
파이를 네트워크에 연결(와이파이 또는 이더넷). ifconfig로 파이 IP 주소 확인.
3단계: 릴레이를 GPIO에 배선
- GPIO 11 → 릴레이 1 코일
- GPIO 13 → 릴레이 2 코일
- GPIO 15 → 릴레이 3 코일
- GPIO 29 → 릴레이 4 코일
적절한 점퍼 와이어와 릴레이 보드 VCC용 5V 공급 사용. 모든 접지 공통으로 연결.
4단계: 자동화 스크립트 배포
포트 5050에서 리슨하며 "ON"/"OFF" 명령 수신 시 해당 GPIO 핀을 토글하는 간단한 파이썬 스크립트(예: automation.py) 작성. 최소 예제:
import socket
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup([11,13,15,29], GPIO.OUT)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("", 5050))
s.listen(1)
while True:
conn, addr = s.accept()
data = conn.recv(1024).decode().strip()
if data == "ON":
GPIO.output(11, GPIO.HIGH)
elif data == "OFF":
GPIO.output(11, GPIO.LOW)
conn.close()
python3 automation.py로 실행하고 파이를 지속적으로 전원 공급하세요.
5단계: 안드로이드 폰으로 제어
RootSaid WiFi Command Center를 플레이 스토어에서 설치. 앱 열고 파이 IP 주소와 포트 5050 입력, 홈 오토메이션 탭으로 전환. 켜기/끄기 버튼으로 파이에 명령 전송해 가전 제어.
추가 팁
- 안전을 위해 고전력 기기엔 전용 차단기 사용.
- 웹 대시보드나 MQTT 브로커 추가로 더 고급 자동화 고려.
- 방화벽(
ufw 등)으로 파이 보안 강화, 미사용 서비스 비활성화.