Apple Watch/iPhone을 리모컨 UI로 쓰고, 실제 IR 송신은 Arduino가 담당하는 구조입니다. iOS 앱이 로컬 네트워크에서 Arduino로 HTTP 요청을 보내면, Arduino가 요청을 파싱해 IRremote 라이브러리 기반으로 IR 신호를 송출해 TV/셋톱박스 같은 기기를 제어합니다.
OVERVIEW
이 프로젝트가 해결해주는 것
거실/장비별로 리모컨이 너무 많아지는 문제를 “워치/폰 하나”로 정리
가전은 IR만 지원해도 OK: 네트워크 제어(HTTP) ↔ IR 송신을 브리지(변환) 로 해결
이렇게 단순한 API 형태라서, iOS 앱뿐 아니라 다른 클라이언트(PC/서버/홈오토메이션)로도 확장하기 쉽습니다.
DETAILS
좋았던 점
구조가 명확함: “HTTP 서버”인 Arduino가 명령을 받으면 IR로 바꾸기만 하면 됨
iOS 앱에서 기기별로 Arduino IP + 코드 프로필(프로토콜/코드/길이) 을 관리하는 방식이 실용적
여러 기기에 IR을 쏘기 위해 triple IR emitter cable을 쓰는 아이디어가 현실적
아쉬운 점/제약
IR 특성상 “방향/거리/수광부 위치” 영향을 받음 → 설치(발광부 배치)가 성능을 좌우
HTTP 요청 기반이라 인증/보안(내부망 전제) 설계는 별도로 고민 필요 (원문은 로컬 제어 중심)
여기서 Ethernet의 역할은?
이 프로젝트에서 Ethernet Shield는 Arduino를 항상 켜져 있는 로컬 HTTP 엔드포인트로 만들어줍니다. 즉, 워치/폰이 같은 네트워크에서 IP로 호출하면 Arduino가 즉시 받아 IR을 송신하는 “브리지”가 되죠. (프로젝트 작성자도 이더넷 기반이 응답성이 좋다고 언급합니다.)
활용 아이디어
TV/사운드바/셋톱박스/에어컨 등 IR 기기 통합 리모컨 허브
Home Assistant/Node-RED에서 HTTP로 호출해 자동화 트리거 → IR 제어로 확장
방마다 Arduino를 두고, iOS 앱에서 “기기 → 해당 방 Arduino IP”로 분산 제어
마치며
“가전을 스마트하게 만든다”기보다, 스마트(워치/폰) 쪽에서 네트워크로 명령을 보내고, 레거시(IR) 쪽은 Arduino가 책임지는 전형적인 브리지 설계입니다. HTTP API가 단순해서 확장성이 좋고, IRremote 기반이라 구현 난이도도 비교적 낮아 “작동하는 프로토타입”을 빠르게 만들 수 있는 구성이었습니다.