X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=README.md;h=a0a0ef9bf6a66af5bf695dad26d3858c81e90485;hb=c4f11906b889f85edac370fc74d6159456a535a6;hp=1a12c045f69b9a766005b163917e961381bfd39a;hpb=c21a1e852316b32f086f73cf0039dc678249adeb;p=e-mobility-charging-stations-simulator.git diff --git a/README.md b/README.md index 1a12c045..a0a0ef9b 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,49 @@ -# charging-stations-simulator +# [charging-stations-simulator](https://github.com/jerome-benoit/charging-stations-simulator) ## Summary Simple [node.js](https://nodejs.org/) program to simulate a set of charging stations based on the OCPP-J 1.6 protocol. +## Prerequisites + +### Windows + +* [Chocolatey](https://chocolatey.org/): + +```powershell +choco install -y nodejs-lts +``` + +### MacOSX + +* [Homebrew](https://brew.sh/): + +```shell +brew install node@14 +``` + +### GNU/Linux: + +* [NodeSource](https://github.com/nodesource/distributions) Node.js Binary Distributions for version 14.X + ## Configuration syntax All configuration files are in the JSON standard format. -The program's global configuration parameters must be within the src/assets/config.json file. A configuration template file is available at [src/assets/config-template.json](src/assets/config-template.json). +The charging stations simulator's main configuration parameters must be within the `src/assets/config.json` file. A configuration template file is available at [src/assets/config-template.json](src/assets/config-template.json). All charging station templates are in the directory [src/assets/station-templates](src/assets/station-templates). -A list of RFID tags must be defined for the automatic transaction generator with the default location and name src/assets/authorization-tags.json. A template file is available at [src/assets/authorization-tags-template.json](src/assets/authorization-tags-template.json). +A list of RFID tags must be defined for the automatic transaction generator with the default location and name `src/assets/authorization-tags.json`. A template file is available at [src/assets/authorization-tags-template.json](src/assets/authorization-tags-template.json). + +The charging stations simulator have an automatic configuration files reload feature at change for: +* main configuration; +* charging station templates; +* authorization RFID tags. -### Global configuration +But the modifications to test have to be done to the files in the build result directory [dist/assets](dist/assets). Once the modifications are finished, they have to be reported or copied to the matching files in the build source directory [src/assets](src/assets) to ensure they will be taken into account at next build. + +### Main configuration **src/assets/config.json**: @@ -36,9 +65,20 @@ logMaxFiles | | 7 | integer | maximum number of log files to keep logLevel | emerg/alert/crit/error/warning/notice/info/debug | info | string | winston logging level logFile | | combined.log | string | log file relative path logErrorFile | | error.log | string | error log file relative path -performanceStorage | | { "enabled": false, "type": "jsonfile", "file:///performanceMeasurements.json" } | { enabled: string; type: string; URI: string; } where type can be 'jsonfile' or 'mongodb' | performance storage configuration section +performanceStorage | | { "enabled": false, "type": "jsonfile", "file:///performanceRecords.json" } | { enabled: string; type: string; URI: string; } where type can be 'jsonfile' or 'mongodb' | performance storage configuration section stationTemplateURLs | | {}[] | { file: string; numberOfStations: number; }[] | array of charging station templates URIs configuration section (template file name and number of stations) - + +#### Worker process model: + +- **workerSet**: + Worker set executing each a static number (chargingStationsPerWorker) of simulated charging stations from the total + +- **staticPool**: + Statically sized worker pool executing a static total number of simulated charging stations + +- **dynamicPool**: + Dynamically sized worker pool executing a static total number of simulated charging stations + ### Charging station template Key | Value(s) | Default Value | Value type | Description @@ -166,10 +206,10 @@ In the [docker](./docker) folder: make ``` -Or without the optional git submodules: +Or with the optional git submodules: ```bash -make SUBMODULES_INIT=false +make SUBMODULES_INIT=true ``` ## OCPP-J commands supported @@ -198,7 +238,7 @@ make SUBMODULES_INIT=false #### Firmware Management Profile - :white_check_mark: GetDiagnostics -- :x: DiagnosticsStatusNotification +- :white_check_mark: DiagnosticsStatusNotification - :x: FirmwareStatusNotification - :x: UpdateFirmware @@ -220,7 +260,7 @@ make SUBMODULES_INIT=false #### Remote Trigger Profile -- :x: TriggerMessage +- :white_check_mark: TriggerMessage ## OCPP-J standard parameters supported