Contexto
OCPP es el protocolo con el que los cargadores de vehículos eléctricos hablan con el sistema central que los administra. En Vulletic construí un backend en tiempo real sobre OCPP y WebSockets, y ahí me quedó la idea de armar herramientas abiertas para trabajar con el protocolo sin pelearse con la especificación desde cero.
I Love OCPP es ese conjunto de herramientas: un SDK, un simulador, documentación y ejemplos, bajo una organización de GitHub abierta a contribuciones.
Qué hice
- SDK en Kotlin para implementar un Central System OCPP 1.6 JSON. Un dispatcher con handlers tipados para los mensajes que manda el cargador (BootNotification, Heartbeat, Authorize, StartTransaction, StopTransaction, StatusNotification, MeterValues, DataTransfer y los de firmware y diagnóstico) y métodos para iniciar comandos hacia el cargador (RemoteStart y RemoteStop, Reset, UnlockConnector, ChangeAvailability, ChangeConfiguration, GetConfiguration, ClearCache) con callback de respuesta. Requiere JVM 21 y Kotlin 2. Publicado en JitPack.
- Simulador de punto de carga en React y TypeScript: un cargador virtual que se conecta por WebSockets a cualquier Central System para probarlo sin hardware.
- Landing y documentación en Vue 3, y un proyecto de ejemplo en Kotlin que muestra la integración completa.
Stack
KotlinJVM 21TypeScriptReactVue 3WebSocketsJitPack
Hoy cubre OCPP 1.6 JSON. OCPP 2.0.1 está en el plan.