Lumina Desk es una mesa de restorán que recibe el pedido hablado, sin aplicación, sin carta con código QR y sin garzón. Todo el ciclo corre en una sola Raspberry Pi con micrófono, parlante y pantalla de tinta electrónica. Nada más. El comensal habla, el sistema transcribe, interpreta, muestra el pedido en la pantalla, lo comunica a la cocina y cobra con un código QR de UPI. El proyecto es de Shubhjaiswal408, y su repositorio publica el código completo para rearmarlo.
La palabra de activación es "Hey Lumina". La detecta openWakeWord, un modelo que corre en el propio equipo y no consulta a nadie afuera. Una vez despierto el sistema, el micrófono captura la voz y la transcribe con Groq Whisper (whisper-large-v3-turbo) si hay conexión, o con Vosk cuando trabaja aislado. El texto pasa después a un modelo de lenguaje, GPT-OSS-20B en línea o LFM2-700M fuera de línea, que interpreta la intención.
Los precios, los tiempos de espera y los alérgenos nunca quedan en manos del modelo. Se calculan en Python contra la carta real del restorán.
¿Qué pasa cuando el modelo no interviene?
Para las solicitudes más comunes, como pedir una pizza, pedir la cuenta o consultar un alérgeno, el sistema ni siquiera pasa por el modelo de lenguaje. Un analizador de reglas las clasifica en menos de 5 ms. La respuesta llega casi al instante. La carta del restorán Auntyno-Z Pizza, en Ghodasar, tiene 189 platos, de los cuales 66 son pizzas, y el analizador los maneja todos sin tropezar.
Si el comensal dice que quiere una margarita, el analizador reconoce la pizza, calcula el precio contra la carta y publica el pedido sin llamar nunca al modelo.
Del micrófono a la cocina
Una vez interpretada la solicitud, el estado del pedido se publica en un bus MQTT. Dos servicios se suscriben a ese bus. El primero genera una imagen de 800×480 píxeles y la manda al panel de tinta electrónica de la mesa, así el comensal ve el resumen en tiempo real. El segundo es el tablero de la cocina, que recibe el pedido listo para preparar. Ese enfoque separa la lógica de reconocimiento de la de visualización. El sistema queda modular.
El pago ocurre con un código QR dinámico de UPI que muestra el monto exacto de la cuenta. La confirmación se lee directamente desde los correos del comercio por IMAP, así el sistema sabe cuándo se saldó el pedido y puede liberar la mesa para el siguiente cliente. Todo corre en una sola Raspberry Pi, que además entrega los audios de confirmación por el parlante.
¿Cuánto cuesta trabajar sin internet?
El proyecto apunta a funcionar incluso sin conexión, una decisión que pesa en un ambiente ruidoso como un comedor. Cuando trabaja aislado, la transcripción usa Vosk y la interpretación queda en el modelo LFM2-700M a través de Ollama. Ese modelo de 700 millones de parámetros corre sobre la CPU de la Raspberry Pi y tarda cerca de 9 segundos en procesar. Es un tiempo aceptable para un pedido. Y deja a la vista el intercambio entre precisión y velocidad cuando el equipo trabaja lejos de la nube.
Para recortar esa espera entra de nuevo el analizador de reglas, que intercepta la mayoría de las frases. El sistema reserva los 9 segundos de cómputo solo para las preguntas más complejas.
La síntesis de voz de las confirmaciones corre sobre Piper, un motor de texto a voz liviano. La imagen que llega a la pantalla de tinta electrónica la compone la biblioteca Pillow, que arma el resumen del pedido con buena legibilidad. Guiones de Python orquestan todo y se comunican por MQTT, lo que mantiene el código ordenado y adaptable a otros restoranes. La carta se cambia, el resto no.
Quien quiera replicar el proyecto encuentra en el repositorio de Shubhjaiswal408 el código de reconocimiento de voz, de gestión de la carta y de integración con MQTT. El sistema se diseñó para un restorán real de 189 platos, así que ya enfrentó ruido, idiomas distintos y la exigencia de responder siempre igual. Para el hardware, una Raspberry Pi 5 de 2 GB alcanza como base, aunque el proyecto original usa un modelo anterior.





