Modernización del Sistema de Pago en Máquina Expendedora Obsoleta
Actualización integral del sistema de control y procesamiento de pagos en una máquina expendedora industrial legada, equipada con una pantalla integrada alimentada por un SoC Rockchip RK3288 (Android) y una placa madre controladora electromecánica Wuyi V1.4.
Ingeniería Inversa y Reconstrucción de Protocolo
La máquina operaba originalmente mediante una aplicación propietaria china de protocolo cerrado (Ventor) sin documentación técnica disponible.
- Extracción y DecompilaciónExtracción del paquete APK del sistema operativo y decompilación del código fuente (Smali/Java), identificando las llamadas JNI a la librería
android_serialport_api.SerialPort. - Análisis de Logs Históricos (Bujan, China)Descubrimiento del formato de comandos tras analizar un servidor de registros (logserver) del año 2013 de una unidad en operación en Bujan. Un evento de falla por motor trabado expuso la estructura explícita de tramas requerida por la placa base.
Fallo MDB vs Solución USB POS
Incompatibilidad Bus MDB Legado
Se intentó implementar un canal Cashless mediante el bus MDB (PayScan + Nayax AMIT 3.0). La interfaz Wuyi V1.4 presentó incompatibilidades de señalización e identificación bajo MDB NAMA Level 3.
- • Timeouts en ciclo de polling
- • Handshake inestable en microcontrolador
- • Inviabilidad transaccional directa
Transbank PAX IM30 via USB Directo
Eliminación de la dependencia MDB. Se integró un terminal POS PAX IM30 por cable USB Host directamente a la pantalla Android (Rockchip RK3288) consumiendo la API nativa de Transbank POS Integrado.
- Débito, Crédito y Contactless autónomo
- Flujo async: TOUCH → POS USB → APPROVED → UART DISPATCH
- Alta estabilidad sin timeouts de bus
Milodón VMC & Cloud Stack
Control Local (Milodón VMC)
Aplicación nativa Android desarrollada en Kotlin a medida. Gestiona la interfaz táctil, procesa los eventos del POS IM30 por USB Host y gatilla la transmisión en serie UART hacia la placa Wuyi a 19200 bps.
Sincronización Cloud / Panel Web
Transmisión en tiempo real a Firebase Firestore. Conectado a un panel de administración web remoto desarrollado en Astro, React y Tailwind CSS para cambio de precios, monitoreo de stock y comandos de diagnóstico.
Estado de Registro Visual: En espera de la aplicación del ploteado corporativo del cliente sobre la estructura física de la máquina para la publicación de la galería de fotos y video final.
// Ficha_Técnica_y_Stack.json
- • SoC Rockchip RK3288 (Android OS)
- • Placa Controladora Electromecánica Wuyi V1.4
- • Terminal POS Transbank PAX IM30
- • Kotlin / Android SDK
- • ViewBinding Architecture
- • Native SerialPort JNI
- • USB Host API (CDC-ACM / OTG)
- • Transbank POS Integrado API
- • Native UART (/dev/ttyS3 @ 19200 bps)
- • Firebase Firestore Realtime DB
- • Astro Framework + React
- • Tailwind CSS Engine