주택 보안을 위한 DIY 도어 상태 센서 구축
현관문의 보안은 가정 보안 시스템에서 간과하기 쉽지만 매우 중요한 요소입니다. 도어 센서는 문이나 창문의 개폐 여부를 감지하여 스마트 홈 서버로 신호를 보내는 소형 장치입니다.
도어 센서를 라즈베리 파이의 홈 어시스턴트 시스템과 연결하면, 문 상태 변화를 즉시 감지하고 스마트폰 알림 또는 알렉사 에코와 같은 스마트 스피커를 통해 알람을 받을 수 있습니다.
홈 어시스턴트와 호환되는 Wi-Fi 기반 스마트 도어 센서를 직접 제작하여 가정 보안을 강화하는 방법에 대해 자세히 알아보겠습니다.
필요 부품
스마트 Wi-Fi 도어 센서를 만들기 위해 필요한 부품은 다음과 같습니다.
마이크로컨트롤러 준비
먼저 ESPHome 애드온을 사용하여 D1 mini(ESP8266)용 펌웨어를 컴파일해야 합니다. 다음 단계를 따라 홈 어시스턴트 서버에 ESPHome 애드온을 설치하고, 이를 사용하여 펌웨어를 컴파일하고 다운로드합니다.
- 홈 어시스턴트를 실행하고, 설정 > 추가 기능으로 이동합니다.
- 오른쪽 하단에 있는 "추가 기능 스토어" 버튼을 누릅니다.
- "ESPHome"을 검색하여 첫 번째 검색 결과인 ESPHome 애드온을 선택하고 설치 버튼을 클릭합니다.

- 설치가 완료되면 "시작" 버튼을 눌러 애드온을 활성화합니다. "부팅 시 시작" 및 "감시" 옵션도 활성화해야 합니다.
- "웹 UI 열기"를 클릭한 후, "+새 장치"를 누릅니다. 메시지가 나타나면 "계속"을 클릭합니다.

- 장치 이름을 "door-sensor"와 같이 설정하고 "다음"을 클릭합니다.
- ESP8266을 선택하고 암호화 키를 안전한 곳에 복사합니다. ESP32 보드를 사용하는 경우에는 해당 보드를 선택해야 합니다.
- "건너뛰기"를 클릭합니다. ESPHome 웹 UI 대시보드에서 도어 센서 엔터티를 확인할 수 있습니다.
- "EDIT"를 클릭한 후, 아래 코드를
captive_portal텍스트 바로 아래에 있는 YAML 편집기에 붙여넣습니다.binary_sensor:
- platform: gpio
name: "현관문 열림"
pin:
number: GPIO4
inverted: true
mode: INPUT_PULLUP - 다음으로, Wi-Fi SSID 및 비밀번호를 수정해야 합니다. 아래 코드를 찾습니다:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password - 위 코드를 다음 코드로 대체하고, Wi-Fi SSID와 비밀번호를 업데이트합니다.
wifi:
ssid: "YourWiFiSSID"
password: "WiFiPassword" - 코드 예시는 아래 이미지와 같아야 합니다.

- "저장"을 클릭한 다음 "설치"를 누릅니다.
- "이 컴퓨터에 연결"을 선택합니다. 펌웨어가 컴파일될 때까지 기다립니다. 약 10~15분 정도 소요될 수 있습니다.
- 펌웨어가 준비되면 "프로젝트 다운로드" 버튼을 클릭합니다. "door-status.bin" 이름의 펌웨어 파일이 시스템에 다운로드됩니다.
마이크로컨트롤러에 펌웨어 플래싱
펌웨어를 플래싱하기 위해 다음 단계를 따릅니다.
- 브라우저 팝업 화면에서 ESPHome 설치 시 제공된 "ESPHome 웹 열기" 링크를 클릭하거나 ESPHome 플래셔 도구를 다운로드합니다. Windows, macOS, Linux에서 사용 가능합니다. 여기서는 ESPHome 웹 설치 프로그램을 사용하겠습니다.

- ESP8266(D1 Mini) 또는 ESP32 모듈을 시스템에 연결하고 "연결"을 클릭합니다.
- COM 포트를 선택하고 "연결"을 클릭합니다.

- "설치"를 클릭한 후 "파일 선택"을 눌러 다운로드한 펌웨어 파일을 선택합니다.
- "설치"를 클릭하여 마이크로컨트롤러에 펌웨어를 플래싱합니다. 플래싱 작업은 최대 1분 정도 걸릴 수 있습니다.

마그네틱 스위치를 마이크로컨트롤러에 연결
펌웨어 플래싱이 완료되면, 아래 단계를 따라 마그네틱 스위치를 마이크로컨트롤러에 연결할 수 있습니다.
- 리드 스위치 또는 마그네틱 스위치의 한쪽 끝을 마이크로컨트롤러의 접지(GND) 핀에 연결합니다.
- 마그네틱 스위치의 다른 한쪽 끝을 디지털 GPIO4 핀(예: 마이크로컨트롤러의 D2)에 연결합니다.
도어 센서를 홈 어시스턴트에 통합
이제 다음 단계를 통해 DIY 스마트 Wi-Fi 도어 센서를 홈 어시스턴트에 통합하고 추가할 수 있습니다.
- 홈 어시스턴트에서 "설정 > 기기 및 서비스"로 이동합니다.
- 도어 센서가 자동으로 검색되어 목록에 나타납니다. 그렇지 않은 경우, ESPHome 웹 UI에서 "로그"를 클릭합니다.
- 로그에 IP 주소가 표시되어야 합니다. 주소를 확인한 후 "설정 > 기기 및 서비스"로 이동합니다.

- "통합 추가"를 클릭하고 검색 후 "ESPHome"을 선택합니다.
- "ESPHome의 다른 인스턴스 설정"을 클릭합니다.

- IP 주소를 입력하고 "제출"을 클릭합니다. 메시지가 나타나면 암호화 키를 붙여넣습니다. 키는 ESPHome 웹 UI의 YAML 코드에서 확인할 수 있습니다.
- 방을 선택하고 "마침"을 클릭합니다.
- 이제 ESPHome 엔터티를 클릭하고 문 상태 엔터티를 선택합니다.
- 이름 및 아이콘과 같은 세부 정보를 편집하고 드롭다운 메뉴에서 "문"을 선택합니다.

- "업데이트"를 클릭합니다.
도어에 도어 센서 설치
마그네틱 스위치의 최적 위치를 결정합니다. 배선 부분은 문에, 자석 부분은 문틀이나 문 케이싱에 설치합니다. 센서에 USB 전원 공급 장치를 연결해야 하므로, 필요에 따라 반대로 설치할 수도 있습니다.
배터리로 작동할 수도 있지만, 이 경우 추가 부품을 사용하고 절전 모드를 활성화해야 합니다.
테스트 및 마무리
도어 상태 센서를 테스트해야 합니다. 장치를 켜고 문을 열고 닫으면서 홈 어시스턴트 대시보드에서 상태가 올바르게 업데이트되는지 확인합니다.

센서가 제대로 작동하면 문이 열리거나 닫힐 때마다 스마트폰으로 알림을 받도록 자동화를 설정할 수 있습니다.
DIY 도어 센서로 가정 보안 강화
홈 어시스턴트용 도어 센서를 직접 구축하는 것은 스마트 홈 환경을 향상시키는 데 유용한 방법입니다. 이 DIY 프로젝트를 통해 문의 상태를 실시간으로 파악하여 가정 보안을 강화할 수 있습니다. 또한, 문이 열리거나 닫힐 때 조명이나 HVAC 시스템을 작동시키는 등 고급 자동화를 위한 기반을 제공합니다.
도어 상태가 변경될 때마다 스마트폰의 홈 어시스턴트 앱을 통해 알림을 받도록 자동화를 설정할 수도 있습니다.