So you might be wondering how can you create end-to-end EV Charging Software using open source.
Good for us, there are genius developers out there who have published their solutions on Github, we just need to find and use it only. However, in this article, I will focus on integrating Everest Software In The Loop with Open E Mobility Backend and FrontEnd
- You can refer to the Everest documentation on how to install Everest here
- You can refer how to install the Open E-Mobility Backend Server here
- You can refer how to install Open E-Mobility FrontEnd Server here
Click ONBOARD NEW STATION and create Charging Station Registration Tokens and then copy the JSON token like this The output should look something like this
/OCPP16/63c937b82b1ed7174101f323/6569e25a32a12adfd538d383
First of all SSH into your Linux system, as for me, I use Ubuntu 22.04 and then change the directory into everest-core, As for me once I log in I need to run this
sudo nano ~/checkout/everest-workspace/everest-core/build/dist/share/everest/modules/OCPP/ocpp.json
my "ocpp.json" contents looks like this
{
"Internal": {
"ChargePointId": "Everest-AC-Charger",
"CentralSystemURI": "localhost:8001/OCPP16/63c937b82b1ed7174101f323/6569e25a32a12adfd538d383/Everest-AC-Charger",
"ChargeBoxSerialNumber": "Everest-AC-Charger",
"ChargePointModel": "Yeti",
"ChargePointVendor": "Pionix",
"FirmwareVersion": "0.1",
"AllowChargingProfileWithoutStartSchedule": false
},
"Core": {
"AuthorizeRemoteTxRequests": false,
"ClockAlignedDataInterval": 900,
"ConnectionTimeOut": 30,
"ConnectorPhaseRotation": "0.RST,1.RST",
"GetConfigurationMaxKeys": 100,
"HeartbeatInterval": 86400,
"LocalAuthorizeOffline": false,
"LocalPreAuthorize": false,
"MeterValuesAlignedData": "Energy.Active.Import.Register",
"MeterValuesSampledData": "Current.Import,Energy.Active.Import.Register,Energy.Active.Import.Interval,Power.Active.Import,SoC,Energy.Active.Import.Interval,Voltage,Energy.Active.Export.Register,Energy.Reactive.Export.Register,Power.Active.Export",
"MeterValueSampleInterval": 10,
"NumberOfConnectors": 1,
"ResetRetries": 1,
"StopTransactionOnEVSideDisconnect": true,
"StopTransactionOnInvalidId": true,
"StopTxnAlignedData": "Energy.Active.Import.Register",
"StopTxnSampledData": "Energy.Active.Import.Register",
"SupportedFeatureProfiles": "Core,FirmwareManagement,RemoteTrigger,Reservation,LocalAuthListManagement,SmartCharging",
"TransactionMessageAttempts": 1,
"TransactionMessageRetryInterval": 10,
"UnlockConnectorOnEVSideDisconnect": true,
"WebsocketPingInterval": 0
},
"FirmwareManagement": {
"SupportedFileTransferProtocols": "FTP"
},
"Security": {
"CpoName": "Pionix",
"AuthorizationKey": "AABBCCDDEEFFGGHH",
"SecurityProfile": 1
},
"LocalAuthListManagement": {
"LocalAuthListEnabled": true,
"LocalAuthListMaxLength": 42,
"SendLocalListMaxLength": 42
},
"SmartCharging": {
"ChargeProfileMaxStackLevel": 42,
"ChargingScheduleAllowedChargingRateUnit": "Current,Power",
"ChargingScheduleMaxPeriods": 42,
"MaxChargingProfilesInstalled": 42
},
"PnC": {
"ISO15118PnCEnabled": true,
"ContractValidationOffline": true
},
"Custom": {
"ExampleConfigurationKey": "example"
}
}
sudo nano ~/checkout/everest-workspace/everest-core/config/config-sil-ocpp.yaml
and then changed your ChargePointConfigPath as for me, I changed my ChargePointConfigPath name is "ocpp.json" but yours might be different , it depends on you what you want to name it
ChargePointConfigPath: ocpp.json
After That run
cmake ..
make install
and then run the SIL using
sh run-sil-ocpp.sh
Charger should pop up on your dashboard like this
You need to configure your charger , mine looks like this
This is My Node-Red dashboard for the Everest SIL
and then plug in the charger and then you will see on Open E-Mobility dashboard shows preparing status in yellow color like this
You need to add the RFID tags in the Open E-Mobility
like this
If you don't add the RFID tags on Open E-Mobility then the RFID tags will be rejected by the charger, this is because we don't want unregistered RFID tags to authorized for any sessions :)
After the sessions is authorized, the charging session should start and you will see the data displayed like this
Now you have an End to End EV charging solution with only Open Source ! Congratulations