본문으로 건너뛰기
피드

침대 옆 시계 하나 만들려다 라즈베리파이, 홈킷, 배포 파이프라인까지 간 이야기

devops 약 8분
vote
0
댓글
북마크

Ars Technica의 Lee Hutchinson은 자동으로 시간 맞추고, 빨간 7세그먼트 LED를 쓰고, 앱 없이 동작하는 침대 옆 시계를 원하다가 결국 라즈베리파이 기반 DIY 시계를 만들었어. 프로젝트는 NTP, systemd 서비스, HomeKit, Gitea Actions 배포, 3D 프린팅 케이스, LLM 기반 코드·CAD 보조까지 붙으면서 ‘시계에 CI/CD 하는’ 수준으로 커졌어.

  • 1

    요구사항은 자동 시간 설정, 자동 DST, 빨간 7세그먼트 디스플레이, 프라이버시 침해 앱 없음이었음

  • 2

    하드웨어는 Raspberry Pi Zero W·Zero 2 W와 Adafruit 1.2인치 7세그먼트 LED 디스플레이, HT16K33 컨트롤러를 사용함

  • 3

    소프트웨어는 unprivileged systemd 서비스, Unix socket 제어, HomeKit 연동, Gitea Actions 기반 배포 파이프라인으로 구성됨

  • 4

    코드와 HomeKit 통합, 설치 루틴, 문서 상당 부분은 Claude Code와 LLM 도움으로 작성됨

  • 5

    케이스는 3D 프린팅했고, 밝기 문제는 smoked acrylic과 12% neutral density filter 조합으로 해결함

  • 출발점은 단순했음 — “전원 깜빡이거나 서머타임 바뀔 때마다 버튼 연타해서 맞추는 시계, 이제 그만 쓰고 싶다”였음

    • 원하는 조건은 자동 시간 설정, 자동 DST 반영, drift 관리, 빨간 7세그먼트 LED, 프라이버시 망치는 앱 없음
    • 시중 제품은 하나둘은 만족해도 전부 만족하는 물건을 찾기 어려웠고, 결국 “그럼 내가 만들지 뭐”로 감
  • 하드웨어 선택지는 Arduino 계열과 Raspberry Pi 계열이었고, 글쓴이는 Pi를 골랐음

    • Raspberry Pi Zero W와 Zero 2 W를 사용함
    • 이유는 Debian 기반 OS, Wi-Fi, NTP, 익숙한 Linux 원격 관리가 한 번에 따라오기 때문임
    • 더 가볍게 보자면 ESP32가 더 합리적일 수 있다고 나중에 인정함
  • 디스플레이는 Adafruit의 1.2인치 빨간 7세그먼트 LED 키트를 선택함

    • LED를 구동하는 HT16K33 컨트롤러가 달린 backpack 보드와 묶인 제품임
    • 납땜이 필요해서 글쓴이는 처음으로 인두와 60/40 납, 확대 렌즈까지 사게 됨

시계인데 운영 요구사항이 꽤 진지함

  • 소프트웨어 요구사항은 거의 작은 홈 서버 운영 체크리스트 수준임

    • 호스트는 LAN-only로 두고 인터넷에서 접근하지 못하게 함
    • 업데이트는 LAN 전용 apt mirror에서 받고, 시간 동기화도 LAN 전용 NTP 서버에서 받게 함
    • 시계 서비스는 dedicated service account에서 권한 낮춰 systemd 서비스로 실행함
  • 기능 요구사항도 꽤 촘촘함

    • OS의 system time을 사용해서 NTP와 DST 처리는 호스트가 맡음
    • 일정에 따라 디스플레이를 켜고 끄거나 밝기를 조절할 수 있어야 함
    • 터미널에서 CLI로 제어할 수 있어야 하고, iOS 생태계에 맞춰 HomeKit도 붙이고 싶었음
  • 배포까지 자동화함

    • Gitea Actions로 태그를 push하면 runner가 release artifact를 만들고 Pi에 배포함
    • 배포 전용 로컬 서비스 계정을 따로 두고, 그 계정은 배포 관련 작업만 할 수 있게 제한함
    • 네, 침대 옆 시계에 CI/CD가 붙은 거 맞음

중요

> 이 프로젝트의 농담 포인트는 “백업 배터리 달린 시계”가 아니라 “배포 파이프라인 달린 시계”라는 점임. 근데 요구사항을 하나씩 보면, 과한 듯하면서도 전부 이유는 있음.

LLM은 코딩과 CAD에서 실제로 일을 함

  • 글쓴이는 I2C로 디스플레이를 제어하는 Python 코드를 보다가 프로젝트가 재미없어지는 지점에 도달함

    • 본인은 ops 쪽에 강하고 dev 쪽은 약하다고 설명함
    • 그래서 Claude Code에 코딩 작업을 넘겼고, 결과적으로 Python 파일 묶음과 테스트 스위트까지 얻음
  • LLM은 HomeKit 통합, 설치 루틴, 배포 파이프라인 일부, 문서 작성에도 투입됨

    • 모델은 처음에 Opus 4.8, 이후 Fable을 사용했다고 밝힘
    • 글쓴이는 LLM 없이는 프로젝트를 끝내지 못했을 거라고 꽤 솔직하게 말함
  • 3D 모델 수정에도 LLM과 MCP를 사용함

    • 기존 Creative Commons 라이선스 케이스 모델을 찾았지만, 아크릴과 필터를 넣기에는 맞지 않았음
    • Autodesk Fusion의 MCP 서버를 통해 LLM이 모델을 수정하게 했고, Qwen 3.6-35B 로컬 양자화 모델도 일부 시도함
    • Qwen은 한 가지 수정은 해냈지만 다른 하나는 놓쳤고, 최종적으로는 Claude Code와 Fable이 대부분 처리함

물리 세계는 늘 디테일에서 터짐

  • 실제 조립에서는 밝기가 문제였음

    • Adafruit 디스플레이는 dimming을 지원하지만, 최저 밝기에서도 어두운 침실에는 너무 밝았음
    • 해결책은 smoked acrylic과 12% neutral density filter 조합이었고, 기존 저가 침대 시계와 비슷한 밝기까지 낮출 수 있었음
  • 케이스는 여러 번 출력하고 수정함

    • 아크릴 면을 넣을 포켓을 만들고, 부품별 guide pin과 hole도 추가함
    • 오버행 없이 support 없이 출력되도록 유지함
    • 최종 버전은 대부분 스스로 고정되지만, 앞 bezel은 전기테이프나 순간접착제 약간이 필요함
  • 결과물은 정확히 원하던 시계였음

    • 자동으로 시간 맞추고, 빨간 7세그먼트로 표시하고, HomeKit에서 제어되고, 로컬 배포도 됨
    • 비용은 생각보다 많이 들었지만, 글쓴이는 “원하는 걸 정확히 가진 기쁨”이 값어치 있다고 정리함

💡

> 비슷한 걸 만들 개발자라면 Raspberry Pi가 편하긴 하지만 과할 수 있음. 글쓴이도 Wi-Fi와 I2C가 있는 ESP32가 디스플레이 제어만 놓고 보면 더 똑똑한 선택일 수 있다고 봄.


기술 맥락

  • Raspberry Pi를 고른 이유는 성능이 필요해서라기보다 운영 모델이 익숙해서예요. Debian, NTP, systemd, SSH, 배포 스크립트가 그대로 따라오니까, 시계 로직보다 주변 운영을 안정적으로 만들기 쉬웠던 거죠.

  • systemd 서비스로 만든 선택도 같은 맥락이에요. 시계 프로세스를 전용 계정으로 낮은 권한에서 돌리고, 부팅 시 자동 실행하고, 실패 시 관리할 수 있으니 작은 장치라도 운영 기준을 맞출 수 있어요.

  • LLM을 쓴 부분은 무작정 맡긴 게 아니라, 글쓴이가 대략 검증 가능한 Python과 설정 작업에 집중돼 있어요. I2C 제어, HomeKit 연동, 설치 루틴처럼 귀찮고 낯선 구현을 LLM이 밀어주고, 사용자는 테스트와 실제 하드웨어 동작으로 결과를 확인한 셈이에요.

  • ESP32 대신 Pi를 쓰는 건 전력, 복잡도, 비용 면에서는 과한 선택이에요. 하지만 프로젝트 목표가 최적의 제품 설계가 아니라 원하는 시계를 완성하는 것이었기 때문에, 본인이 잘 아는 Linux 운영 환경을 선택한 게 완주 가능성을 높였어요.

이 글은 ‘LLM으로 뭘 자동화할 수 있나’보다 ‘내가 검증 가능한 범위의 귀찮은 작업을 LLM에 맡기면 hobby project의 완주율이 확 올라간다’는 쪽이 핵심에 가까워. 그리고 솔직히 침대 시계에 systemd, HomeKit, Gitea Actions를 붙이는 건 과하지만, 그래서 개발자들이 좋아할 만한 글임.

댓글

댓글

댓글을 불러오는 중...

devops

오마다 퓨전 2.5G, 라우터·컨트롤러·클라우드 관리를 한 장비에 묶었다

티피링크 오마다가 라우터와 네트워크 컨트롤러를 통합한 퓨전 라우터 시리즈를 내세우며, 첫 모델로 퓨전 2.5G를 국내에 선보인다. 2.5G 포트 5개, 최대 4개 WAN 로드밸런싱, WireGuard 기반 VPN, 최대 20개 사이트 연결 같은 기능으로 소규모 매장부터 멀티사이트 운영까지 겨냥한다.

devops

한전KDN, 공공기관용 에너지 클라우드로 CSAP IaaS 인증 획득

한전KDN이 기후에너지환경부 산하 공공기관 전용 클라우드 플랫폼 K-ECP로 CSAP IaaS 인증을 받았다는 소식이다. 에너지 공공기관처럼 데이터 보안 요구가 센 조직을 겨냥해 클라우드 인프라, 보안 관제, 암호화 체계를 한데 묶어 제공하겠다는 흐름이다.

devops

메가존클라우드, 삼성 클라우드 플랫폼 최상위 파트너 등급 획득

메가존클라우드가 삼성SDS의 삼성 클라우드 플랫폼 파트너 프로그램에서 최고 등급인 플래티넘 파트너로 선정됐다. 공공 클라우드 구축, AI 인프라, 고성능컴퓨팅, GPUaaS 사업 성과를 인정받았다는 설명이다.

devops

국내 데이터센터, 2030년에 수요보다 31% 부족해질 수 있다

AI와 클라우드 수요가 데이터센터 증설 속도보다 빠르게 커지면서, 2030년 국내 상업용 데이터센터 공급이 수요보다 약 670MW 부족할 수 있다는 전망이 나왔다. 핵심 병목은 서버가 아니라 전력, 부지, 인허가, 운영 역량 쪽으로 옮겨가는 분위기다.

devops

한전KDN, 공공기관용 클라우드 ‘K-ECP’로 CSAP 인증 확보

한전KDN의 공공기관 전용 클라우드 플랫폼 ‘K-ECP’가 클라우드 보안인증(CSAP)을 통과했다. 에너지 공공기관이 민감한 데이터를 다루는 만큼, 공공 클라우드에서도 국가 보안 기준과 다중 관제 체계를 충족했다는 점을 강조하고 있다.