Code Monkey home page Code Monkey logo

open-source-ev-charger-end-to-end-solution's Introduction

shutterstock_1864450102-scaled

EV-Charger End to End Solutions

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

What do you need?

Everest

  1. You can refer to the Everest documentation on how to install Everest here

Open E - Mobility

  1. You can refer how to install the Open E-Mobility Backend Server here
  2. You can refer how to install Open E-Mobility FrontEnd Server here

What you need to configure at Open E - Mobility

Click ONBOARD NEW STATION and create Charging Station Registration Tokens and then copy the JSON token like this image The output should look something like this

/OCPP16/63c937b82b1ed7174101f323/6569e25a32a12adfd538d383

What you need to configure at Everest

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

What will happen after you run Everest

Charger should pop up on your dashboard like this

image

You need to configure your charger , mine looks like this

image

This is My Node-Red dashboard for the Everest SIL

image

and then plug in the charger and then you will see on Open E-Mobility dashboard shows preparing status in yellow color like this

image

You need to add the RFID tags in the Open E-Mobility

image

like this

image

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

image

Now you have an End to End EV charging solution with only Open Source ! Congratulations

open-source-ev-charger-end-to-end-solution's People

Contributors

anmirazik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

snantachai

open-source-ev-charger-end-to-end-solution's Issues

A connection Request

i am working on deploying Open E mobility and was having some doubts, can I connec and ask u on some other platform? Can u please drop your socials?, thanks

SAP EV server

Hi there.

Interesting project. Have you considered forking the Open E-mobility projects and continuing development? They don't seem to be updated any more.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.