Building an OCPP 1.6 Charging Platform A Practical Demo Guide for API, Dashboard, and Real EV Stations
Modern EV charging platforms aren’t just about plugging in chargers—they’re about real‑time control, observability, and automation. This guide walks through a complete OCPP 1.6 demo environment that combines a web dashboard, backend APIs, and live charger communication.
The goal of this guide is simple: show a working, production‑ready charging backend, not just slides or mockups.
Try the Live Demo
You can try the live demo system used in this guide. These are real, running services connected to OCPP simulators and test charge points.
Demo Endpoints
- Web Dashboard: https://ocpp-dashboard.simplico.net
- FastAPI Backend: https://ocpp-fastapi.simplico.net
- FastAPI Docs (Swagger UI): https://ocpp-fastapi.simplico.net/docs
- OCPP Control API: https://ocpp-ocpp.simplico.net/api
- OCPP WebSocket (CSMS):
wss://ocpp-ocpp.simplico.net/
⚠️ These endpoints are for demo and evaluation purposes only. Availability and data may be reset periodically.
Quick Start (5 minutes)
- Open the dashboard: https://ocpp-dashboard.simplico.net
-
Login with demo credentials:
- Username:
admin2 - Password:
p@ssw0rd
- Username:
- Navigate to Control → Active Connections
- Select a connected Charge Point ID
- Trigger Remote Start or Remote Stop and watch live OCPP messages
This hands-on flow helps you understand how a real CSMS behaves in production.
System Overview
The platform is composed of four main interfaces:
- Web Dashboard – operator and admin UI
- FastAPI Backend – authentication and core services
- OCPP Control API – remote charger commands
- OCPP WebSocket Server – live charger communication
Together, these components form a complete Charging Station Management System (CSMS) compliant with OCPP 1.6.
Web Dashboard Demo (Operator View)
The Web Dashboard is usually the first thing customers see during a demo.
Key Screens
- Dashboard – system KPIs and charger status
- Control – remote charger actions
- Legacy Control – classic single‑page control UI
- Messages – raw OCPP message logs
- Sessions – active and historical charging sessions
One important demo screen is Active Connections, where operators can:
- See which charge points are online
- Select a Charge Point ID
- Execute remote commands
- Observe live OCPP message flow
This immediately demonstrates real‑time system control.
Remote Charger Actions (OCPP Control)
From the Control page, operators can issue standard OCPP 1.6 commands:
- Remote Start Transaction
- Remote Stop Transaction
- Reserve / Cancel Reservation
- Firmware Update
- Get Diagnostics
- Unlock Connector
Each action maps directly to OCPP message flows and works with both simulators and real EV chargers.
API Authentication (FastAPI)
For developers and integrators, the system provides a clean authentication API built with FastAPI.
Authentication Flow
- User logs in with username and password
- Backend returns an
access_token - Subsequent requests use Bearer authentication
This allows secure integration with:
- Mobile applications
- Partner platforms
- Automation scripts
OCPP Control API
All charger operations available in the dashboard are also exposed via HTTP APIs.
Typical use cases include:
- Starting or stopping charging from a mobile app
- Reserving chargers programmatically
- Triggering firmware updates in bulk
- Fetching diagnostics for maintenance
This API‑first design ensures long‑term scalability and easy integration.
WebSocket Communication & Charger Simulator
For demos and development, the system supports a charge point simulator using:
- OCPP over WebSocket
- Secure TLS (WSS)
The simulator allows teams to:
- Test charger behavior without physical hardware
- Validate message flows
- Debug OCPP commands safely
It is also suitable for CI and automated testing environments.
Testing with a Real EV Charging Station
The same system works seamlessly with real EV chargers.
Example Charger Configuration (Real Station)
Use the following as a reference configuration when setting up a real charge point to connect to this CSMS demo.
Note: exact menu names differ by vendor (Delta / ABB / Autel / Wallbox / etc.), but the fields are usually the same.
OCPP Version
OCPP 1.6(or1.6Jif the charger UI calls it that)
Central System URL (CSMS / Backend URL)
wss://ocpp-ocpp.simplico.net/<charge_point_id>
Charge Point ID (CP ID / Station ID)
- Example:
CP-TH-BKK-001 - This must match what you put in the WebSocket path (the
<charge_point_id>part).
Security / Transport
- Transport:
WebSocket Secure (WSS) - Port:
443 - TLS:
Enabled
Heartbeat Interval
- Example:
60seconds (typical)
Meter Values (if supported)
SampledValueenabled for:Energy.Active.Import.Register,Power.Active.Import,Current.Import,Voltage- Interval:
10–60seconds (demo-friendly)
Authorization (if charger supports Local Auth List / whitelist)
- Mode:
Central(CSMS decides) - Optional test RFID(s):
TEST-RFID-0001
Typical Demo Steps
- Configure the charger with the Central System URL above.
- Reboot the charger (many chargers only reconnect on reboot).
-
Watch for messages:
BootNotificationHeartbeatStatusNotification
- Confirm the charger appears in Control → Active Connections.
-
Trigger:
- Remote Start Transaction (select connector + idTag/RFID)
- Remote Stop Transaction
- Verify the session appears in Sessions and confirm meter values are updating.
Seeing a real charger respond in real time is often the strongest proof of system readiness.
Data Model Overview
The backend tracks all critical entities required for a production CSMS:
- Users and roles
- Charging stations and connectors
- Charging sessions
- Vehicles
- Payments and wallets
- Raw OCPP messages
- Status history and audit logs
This supports billing, compliance, debugging, and analytics.
Why This Architecture Works
This demo architecture reflects real‑world deployment needs:
- Clear separation of UI, API, and OCPP layers
- API‑first design
- Real‑time observability
- OCPP‑compliant workflows
- Hardware‑agnostic charger support
It scales cleanly from pilot projects to large‑scale deployments.
Conclusion
A successful EV charging demo is built on live systems, not static presentations.
By combining a responsive dashboard, robust APIs, and real‑time OCPP communication, this platform demonstrates a production‑ready EV charging backend suitable for real customers and real hardware.
This guide provides a practical reference for teams planning to build or customize an OCPP‑based charging system.
Get in Touch with us
Related Posts
- 智慧农业项目为何止步于试点阶段
- Why Smart Farming Projects Fail Before They Leave the Pilot Stage
- ERP项目为何总是超支、延期,最终令人失望
- ERP Projects: Why They Cost More, Take Longer, and Disappoint More Than Expected
- AI Security in Production: What Enterprise Teams Must Know in 2026
- 弹性无人机蜂群设计:具备安全通信的无领导者容错网状网络
- Designing Resilient Drone Swarms: Leaderless-Tolerant Mesh Networks with Secure Communications
- NumPy广播规则详解:为什么`(3,)`和`(3,1)`行为不同——以及它何时会悄悄给出错误答案
- NumPy Broadcasting Rules: Why `(3,)` and `(3,1)` Behave Differently — and When It Silently Gives Wrong Answers
- 关键基础设施遭受攻击:从乌克兰电网战争看工业IT/OT安全
- Critical Infrastructure Under Fire: What IT/OT Security Teams Can Learn from Ukraine’s Energy Grid
- LM Studio代码开发的系统提示词工程:`temperature`、`context_length`与`stop`词详解
- LM Studio System Prompt Engineering for Code: `temperature`, `context_length`, and `stop` Tokens Explained
- LlamaIndex + pgvector: Production RAG for Thai and Japanese Business Documents
- simpliShop:专为泰国市场打造的按需定制多语言电商平台
- simpliShop: The Thai E-Commerce Platform for Made-to-Order and Multi-Language Stores
- ERP项目为何失败(以及如何让你的项目成功)
- Why ERP Projects Fail (And How to Make Yours Succeed)
- Payment API幂等性设计:用Stripe、支付宝、微信支付和2C2P防止重复扣款
- Idempotency in Payment APIs: Prevent Double Charges with Stripe, Omise, and 2C2P













