Skip to content

lukaszwilanowski/OCPP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EVerest OCPP — Odroid C4 / Armbian

Kompletny projekt ładowarki EV oparty na EVerest z obsługą OCPP 1.6J.
Docelowy sprzęt: Odroid C4 z Armbian, sterownik ładowarki i watomierze podłączone przez Modbus RTU (RS485).


Architektura

[OCPP Server (SteVe)]
        |  WebSocket (OCPP 1.6J)
  [Odroid C4 / Armbian]
        |
  [EVerest Core]
    ├── OCPP Module          ← komunikacja z serwerem OCPP
    ├── EvseManager          ← maszyna stanu ładowania (IEC 61851)
    ├── Auth                 ← autoryzacja RFID/kart
    ├── SerialCommHub        ← Modbus RTU master (RS485)
    ├── GenericPowermeter    ← watomierz przez Modbus
    └── BSP Module           ← sterownik ładowarki przez Modbus
        |              |
   /dev/ttyUSB0   /dev/ttyUSB1
   (ładowarka)    (watomierz / izometr)

Wyprowadzenia na Odroid C4 (RS485)

Urządzenie Port Baudrate Adres
Sterownik ładowarki /dev/ttyUSB0 9600 1
Watomierz (np. SDM630) /dev/ttyUSB1 9600 2
Izometr (opcja) /dev/ttyUSB1 9600 3

Szybki start

1. Deployment na Odroid C4 (SSH)

Na komputerze deweloperskim (z tym repo):

./deploy.sh 192.168.1.100 root

Skrypt skopiuje projekt i uruchomi wszystkie kroki instalacji.

2. Serwer OCPP (na PC lub serwerze)

cd ocpp-server
cp .env.example .env
docker compose up -d

Panel SteVe: http://localhost:8180/steve
Login: admin / hasło z .env

Websocket OCPP: ws://TWOJE_IP:8180/steve/websocket/CentralSystemService/CP001

3. Ręczna instalacja na Armbian

ssh root@192.168.1.100
bash armbian/01-system-prep.sh
bash armbian/02-install-docker.sh
bash armbian/03-deploy-services.sh

Struktura projektu

OCPP/
├── armbian/                  # Skrypty instalacji na Armbian
│   ├── 01-system-prep.sh     # Aktualizacja systemu, konfiguracja
│   ├── 02-install-docker.sh  # Docker + Docker Compose
│   └── 03-deploy-services.sh # Start EVerest i konfiguracja
├── everest/                  # Konfiguracja EVerest
│   ├── docker-compose.yml    # EVerest + MQTT broker
│   ├── .env.example
│   ├── mosquitto.conf
│   └── config/
│       ├── everest-config.yaml   # Główna konfiguracja modułów
│       ├── ocpp-config.json      # Klucze OCPP 1.6
│       └── modbus/
│           ├── energy-meter.yaml     # Mapa rejestrów watomierza
│           └── isolation-monitor.yaml
├── ocpp-server/              # Serwer OCPP (SteVe) do testów
│   ├── docker-compose.yml
│   ├── .env.example
│   └── README.md
├── systemd/
│   └── everest.service       # Autostart EVerest
└── deploy.sh                 # Deployment SSH

Wymagania sprzętowe

  • Odroid C4 (4GB RAM, eMMC/SD 16GB+)
  • Armbian Bookworm (Debian 12) lub Ubuntu Jammy
  • 2× adapter USB→RS485 (np. CH340/CP2102)
  • Sterownik ładowarki z interfejsem Modbus RTU
  • Watomierz 3-fazowy z Modbus RTU (np. Eastron SDM630)
  • Opcjonalnie: izometr/IMD z Modbus RTU (dla DC)

Konfiguracja

Edytuj everest/config/everest-config.yaml:

  • ChargePointId — unikalny ID stacji
  • CentralSystemURI — adres serwera OCPP
  • Porty szeregowe i adresy Modbus urządzeń

Edytuj everest/config/modbus/energy-meter.yaml:

  • Mapa rejestrów dla konkretnego modelu watomierza

OCPP 1.6 — obsługiwane funkcje

  • BootNotification, Heartbeat
  • Authorize, StartTransaction, StopTransaction
  • StatusNotification, MeterValues
  • RemoteStartTransaction, RemoteStopTransaction
  • ChangeAvailability, Reset
  • GetConfiguration, ChangeConfiguration
  • UnlockConnector
  • SmartCharging (SetChargingProfile)

Przydatne linki

About

EVerest OCPP stack for Odroid C4 Armbian - charging controller via Modbus RTU

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages