← 프로젝트 목록

RPI Parking

센서 감지부터 중앙 모니터링까지, IoT 주차장 시스템

기술
C · Python · Raspberry Pi · MQTT · SQLite
코드
GitHub 저장소 ↗

프로젝트 소개

주차 슬롯 두 곳과 입구 차단기로 구성한 모형을 대상으로, 차량 감지·장치 제어·상태 수집을 연결하는 임베디드 시스템 프로젝트입니다. 주차 공간의 점유 상태와 입출차 이벤트를 중앙 서버에서 모아 확인하는 구조를 설계합니다.

세 장치의 역할 분리

첫 번째 Raspberry Pi는 초음파 센서로 슬롯의 점유 상태를 판단합니다. 두 번째 장치는 차량 접근과 출차 요청에 따라 차단기를 제어합니다. 세 번째 장치는 MQTT 브로커와 중앙 서버를 맡아 상태 및 이벤트를 저장하고 대시보드에 표시하는 구조입니다.

상태와 이벤트를 전달하는 방식

MQTT 토픽을 슬롯 상태, 센서 거리값, 전체 주차장 상태, 차단기 상태, 입출차 이벤트로 나누어 정의합니다. 각 장치가 발행하거나 구독하는 메시지를 구분해 감지 장치와 제어 장치, 중앙 서버를 연결합니다.

슬롯은 EMPTY와 OCCUPIED, 주차장은 AVAILABLE과 FULL, 차단기는 OPEN과 CLOSED로 상태를 구분합니다. 입차와 출차 이벤트는 상태 정보와 별도로 전달하도록 설계합니다.

동작 시나리오와 설계 기준

README에는 정상 입차, 만차, 출차 시나리오와 메시지 형식이 정리되어 있습니다. 초음파 센서 간 간섭을 줄이기 위해 순차적으로 측정하고, 일정 시간 동안 감지 상태가 유지되는지를 기준으로 점유 여부를 판단하는 방식을 설명합니다.

  • 슬롯 점유 상태와 전체 만차 여부 판단
  • 차량 접근 및 출차 요청에 따른 차단기 제어
  • 중앙 서버의 상태 저장과 최근 이벤트 모니터링

프로젝트의 기능과 구현 현황은 저장소 README를 바탕으로 정리했습니다.