비콘 카드와 이더넷 AP로 출결을 기록하는 시스템

비콘 카드나 스마트폰이 보내는 BLE 신호를 현장 AP가 받아 출결을 서버에 기록합니다.

고객사
비공개 고객
분야
출결 관리
기술
STM32(C, arm-none-eabi-gcc) · nRF52832 · lwIP · ASP.NET · Kotlin · OrCAD · Autodesk Inventor

포너즈가 한 일

  1. 서버·AP·앱과 비콘 카드로 나눈 구조 설계
  2. 비콘 AP 회로·PCB 설계와 3D 프린트 외관 제작
  3. AP 펌웨어의 신호 세기 기반 진입·이탈 판정
  4. AP–서버 이더넷 통신과 설정값 동기화
  5. 웹을 거친 AP 펌웨어 자가 갱신
  6. 로그인·조직 등록·출결 조회용 안드로이드 앱

문제

출결 기록을 사람 손에서 떼어 내려던 시스템

고객은 여러 사람이 드나드는 현장의 출결을 자동으로 남기고 싶어 했습니다. 출석부나 카드 태그처럼 사람이 챙겨야 하는 절차를 줄이려는 목적이었습니다.

출결을 손으로 남기면 담당자가 명단을 부르거나 출석부를 걷어야 합니다. 출석하는 사람이 태그를 잊으면 기록이 빠지고, 담당자가 나중에 따로 고칩니다.

시스템이 겨냥한 사용자는 회사 사무직, 교육 기관의 학생, 아르바이트·현장직이었습니다. 출석하는 사람이 따로 조작하지 않아도 기록이 남게 하는 것이 목표였습니다.

그래서 현장에 AP를 두고, 출석하는 사람이 지닌 BLE 신호원을 AP가 알아보게 하기로 했습니다.

해결

신호·판정·기록을 카드, AP, 서버에 나눈 구조

신호를 보내는 쪽과 받는 쪽, 기록하는 쪽을 나눴습니다. 현장 장치는 판정까지 맡고 서버는 기록과 설정을 맡습니다.

  • 신호원: 스마트폰 앱이나 비콘 카드가 BLE 비콘 패킷(Beacon Packet)을 보냅니다. 비콘 카드는 nRF52 칩으로 만들었습니다.
  • 진입·이탈 판정: AP가 패킷의 신호 세기(RSSI)로 거리를 가늠해 진입과 이탈을 가릅니다. 신호가 -80dBm보다 세면 진입, 한동안 잡히지 않으면 이탈로 봅니다.
  • 기록 전송: 진입과 이탈이 일어날 때마다 AP가 ASP.NET 서버에 기록을 보냅니다. AP는 이더넷으로 서버에 붙습니다. AP 안에서는 nRF52832가 신호를 받고 STM32가 판정과 통신을 맡습니다.
  • 설정 동기화: 관리자가 앱에서 인정 거리, 감지 주기 같은 설정을 바꾸면 AP가 서버에서 받아 바로 씁니다.
  • 펌웨어 자가 갱신: 설치된 AP가 웹을 거쳐 새 펌웨어를 스스로 받습니다.
  • 앱: 안드로이드 앱에서 로그인, 회원가입, 조직 등록을 하고 날짜별 출결 기록을 봅니다. 관리자는 AP의 IP와 설치 위치를 앱에서 넣습니다.
  • 담당자 확인: 관리자가 앱에서 날짜별 출결 목록을 보고 빠진 기록이 없는지 확인합니다.
서버와 AP는 등장 여부와 설정을, AP와 카드·앱은 위치 알림 패킷을 주고받는다
이더넷 포트와 BLE 부품을 올린 AP 보드를 설계해 여러 장 만들었다

AP를 이더넷으로 서버에 붙였습니다

AP는 랜선으로 서버와 통신합니다. 와이파이는 현장마다 공유기와 비밀번호가 달라 AP마다 설정을 새로 해야 합니다. 출결 기록은 한 건만 빠져도 문제가 되어 끊김이 적은 유선을 골랐습니다. 처음 쓴 통신 라이브러리에서 연결이 끊겨 lwIP로 통신부를 다시 짰습니다.

판정 기준은 서버에서 내려받게 했습니다

인정 거리와 감지 주기를 AP에 고정하지 않았습니다. 관리자가 앱에서 값을 바꾸면 AP가 서버에서 받아 곧바로 씁니다. 방 크기와 벽 재질에 따라 같은 거리에서도 신호 세기가 달라집니다. 현장마다 기준을 맞추려고 AP를 열지 않고 앱에서 값을 고치게 했습니다.

펌웨어를 장치가 스스로 갱신하게 했습니다

설치된 AP를 거둬 오지 않고 웹을 거쳐 펌웨어를 바꿉니다. AP는 벽이나 천장처럼 손이 닿기 어려운 곳에 붙습니다. 판정 로직을 고칠 때마다 AP를 떼어 다시 구우면 그동안 출결 기록이 멈춥니다.

결과

사람 손을 거치지 않고 서버에 쌓이는 출석 기록

시제품에서는 앱 출결 목록에 날짜별·시각별 기록이 쌓이는 것을 확인했습니다.

출석 기록
이전출석부 서명이나 명단 호명(사람) → 담당자가 출석부 정리(사람)
이후카드·앱이 비콘 패킷 송신(시스템) → AP가 신호 세기로 진입·이탈 판정(시스템) → 서버에 기록 저장(시스템)
출결 확인
이전출석부를 모아 날짜별로 대조(사람)
이후사용자·관리자가 앱에서 날짜별 기록 조회(사람) → 누락 기록 확인(사람)
AP 관리
이전장치마다 현장에서 설정하고 펌웨어를 USB로 기록(사람)
이후관리자가 앱에서 설정 변경(사람) → AP가 서버에서 설정 받아 반영(시스템) → 새 펌웨어는 AP가 웹으로 갱신(시스템)

아직 풀지 못한 것은 양산, 배터리, 내구성입니다. AP와 비콘 카드는 3D 프린트 외관의 시제품 단계입니다.

AP는 3D 프린트 외관에 담기고 랜선 하나로 서버와 이어진다
이 사례 공유

비슷한 프로젝트를 준비하고 있다면

무엇을 만들지 아직 정리되지 않아도 괜찮습니다. 지금 상황을 알려 주시면 진행 방식과 범위를 함께 잡습니다.

상담 신청하기