A Wireless ESP32-CAM Attendance Kiosk for Headless Servers: Browser-Side Camera Injection, On-Demand Streaming, and Reliability Engineering
Research Summary
Engineers a wireless ESP32-CAM attendance kiosk that injects a remote camera feed into a headless server's kiosk browser via the Chrome DevTools Protocol, and details the reliability fixes - on-demand streaming and an external antenna - that made it dependable.
Abstract
Browser-based facial-recognition attendance, such as Zoho People's kiosk, requires a locally attached webcam; this is impossible on a headless server that has no camera and is physically distant from the desired capture point. This paper presents the design, implementation, and reliability engineering of a wireless attendance terminal that overcomes this constraint. A low-cost ESP32-CAM streams MJPEG video over Wi-Fi, and a Node.js middleware injects that video into a kiosk Chrome browser by overriding the navigator.mediaDevices.getUserMedia API through the Chrome DevTools Protocol, presenting an HTML5 canvas stream as a legitimate virtual webcam. Employees interact solely through two physical buttons; no keyboard, mouse, or monitor is present. We describe an iterative, measurement-driven engineering process that transformed an unreliable prototype - buttons failing roughly seventy percent of the time and a frozen or stale video feed - into a dependable, self-recovering appliance. The central architectural insight was to stream the camera on demand, only for the duration of a check-in, rather than continuously; this freed the microcontroller's radio for button events and guaranteed a fresh photograph at capture time. A systematic investigation of the wireless link isolated a firmware power-save defect, latency induced by TCP's Nagle algorithm, 2.4 GHz channel congestion and, decisively, a weak on-board transmit antenna. Replacing the PCB antenna with an external one improved camera-link throughput approximately 4.6x and eliminated packet loss. The deployed system completes a check-in in about five seconds with a live photograph and recovers automatically from power, network, and software faults.
Full Paper (PDF)
Read the complete peer-reviewed paper below, or open the PDF in a new tab.