전자명패예약웹

전자명패 예약 시스템 소개

시스템 개요

전자명패 예약 시스템은 회의실 예약 데이터와 참석자 목록을 기반으로 앞/뒤 면 이미지를 자동 생성하여 라즈베리파이 단말기에 즉시 배포하고 표출합니다. HTTPS 보안 연결(7643)과 내부 API(7642)를 사용하며, 서버 타임아웃 시에도 오프라인 캐시로 화면을 유지합니다.

HTTPS
보안 연결 7643
API
내부 7642
Dual
앞/뒤 레이아웃

주요 기능

  • 예약 범위(YYYY-MM-DD~YYYY-MM-DD)·시간(HH:MM) 인식
  • 참석자 목록 인덱스 기반 표출번호 매핑
  • 앞/뒤 서로 다른 레이아웃 이미지 자동 생성
  • 미리보기 적용 → 단말 즉시 갱신(서버 신호)
  • 오프라인 캐시 유지로 공백 화면 방지

구성

  • 웹 서버: NameplateRT(HTTPS 7643)
  • API 서버: 내부(HTTP/HTTPS 7642)
  • 단말: 라즈베리파이 듀얼 디스플레이 앱
  • 이미지 경로: rpi/files/<meetingId>
  • 캐시 경로: rpi/cache/iot_images

API 요약

GET /api/settings
GET /api/reserve/:meetingID
GET /api/attendees/:listName
GET /api/iot-files/:meetingId
POST /api/apply-preview
GET /api/refresh/:deviceId

운영 포인트

  • 프록시에서 /api/* → 7642로 라우팅
  • Let’s Encrypt 인증서로 HTTPS 신뢰 체인 유지
  • 단말 device.ini server_address는 7643
  • 표출번호는 device_number로 설정
  • 부팅 메시지·커서 억제로 화면 오버레이 방지

설치

  1. 서버 배포 후 node server.js 실행(7642/7643)
  2. 인증서 경로는 /etc/letsencrypt/live/powerpt.net/ 우선
  3. 단말에 듀얼 서비스 활성화 및 device.ini 설정
  4. 미리보기의 적용 버튼으로 이미지 생성·신호 전송
  5. 오프라인 캐시 확인 및 즉시 표출 검증

문제 해결

  • 타임아웃: 7643 프록시의 /api/* 라우팅·인증서 확인
  • 공백 화면: 오프라인 캐시 유지 패치 적용 여부 확인
  • 매핑 오류: 참석자 CSV·표출번호 동기화 재검증
  • 부팅 오버레이: 커널 파라미터 vt.global_cursor_default=0