Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

SonyCSL/apis-main

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

294 Commits
294 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

apis-main

Introduction

apis-main is the name of energy sharing software for autonomous distributed control of energy developed by Sony CSL. apis-main is installed in each node (battery system connected to the DC grid via a bidirectional DC/DC converter). Via the Device Driver, the software periodically obtains the remaining capacity of the battery and automatically carries out energy sharing between nodes by nagotiating with other apis-mains in accordance with behavior rulesets determined by each node’s remaining battery capacity. Negotiations between apis-mains use a communication line such as Ethernet, and the energy sharing takes place with direct current on the DC grid. apis-main does not rely on software that carries out centralized control of nodes. All nodes have the same software, apis-main, and autonomous distributed control is carried out with only apis-main in each node.

Refer to the apis-main_specification for more information

キャプチャ

Installation

Here is how to install apis-main individually.
git, maven, groovy and JDK must be installed in advance.

$ git clone https://github.com/SonyCSL/apis-bom.git
$ cd apis-bom
$ mvn install
$ cd ../
$ git clone https://github.com/SonyCSL/apis-common.git
$ cd apis-common
$ mvn install
$ cd ../
$ git cone https://github.com/SonyCSL/apis-main.git
$ cd apis-main
$ mvn package

Running

Here is how to run apis-main individually.

$ cd exe
$ bash start.sh

Stopping

Here is how to stop apis-main individually.

$ cd exe
$ bash stop.sh

Parameter Setting

Set the following parameters in the exe folder as necessary.
Refer to "Chapter 6, About Configuration Files" in the apis-main_specification for more information.

 config.json
   - communityId  (default : oss_communityId)
   - clusterId  (default : oss_clusterId)
   - unitId  (default : E001)
   - unitName  (default : E001)
   - systemType  (default : dcdc_emulator)

 policy.json
   - memberUnitIds  (default : "E001", "E002", "E003", "E004")

 cluster.xml
   - <member>  (default : 127.0.0.1)
   - <interface>  (default : 127.0.0.1)

 start.sh
   -conf   (default : ./config.json)
   -cluster-host   (default : 127.0.0.1)

Tips

In order to run multiple apis-mains on the same PC, multiple config.json and start.sh are needed.

<Example>

To run 4 apis-mains on the same PC.

[Parameter Setting Example]

<First Setting>
 config.json
   - unitId : E001
   - unitName : E001
   - stateFileFormat : "{tmpdir}/apis/state/%s"
   - dealLogDirFormat : "{tmpdir}/apis/dealLog/'uuuu'/'MM'/'dd'"

 start.sh
   -conf ./config.json
   -cluster-host 127.0.0.1

<Second Setting>
 config2.json
   - unitId : E002
   - unitName : E002
   - stateFileFormat : "{tmpdir}/apis/state2/%s"
   - dealLogDirFormat : "{tmpdir}/apis/dealLog2/'uuuu'/'MM'/'dd'"

 start2.sh
   -conf ./config2.json
   -cluster-host 127.0.0.1

<\Third Setting>
 config3.json
   - unitId : E003
   - unitName : E003
   - stateFileFormat : "{tmpdir}/apis/state3/%s"
   - dealLogDirFormat : "{tmpdir}/apis/dealLog3/'uuuu'/'MM'/'dd'"

 start3.sh
   -conf ./config3.json
   -cluster-host 127.0.0.1

<Fourth Setting>
 config4.json
   - unitId : E004
   - unitName : E004
   - stateFileFormat : "{tmpdir}/apis/state4/%s"
   - dealLogDirFormat : "{tmpdir}/apis/dealLog4/'uuuu'/'MM'/'dd'"

 start4.sh
   -conf ./config4.json
   -cluster-host 127.0.0.1

All other files are used in common.


[Running]

$ cd exe  
$ bash start.sh  
$ bash start2.sh  
$ bash start3.sh  
$ bash start4.sh  

Documentation

apis-main_specificaton(EN)
apis-main_specificaton(JP)

API Specification

An example of creating an API specification using the Javadoc command is shown below.
(For Ubuntu18.04)

$ export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/  
$ cd apis-main  
$ mvn javadoc:javadoc  

The API specification is created in apis-main/target/site/apidocs/.

License

Apache License Version 2.0

Notice

Notice

About

Main Software for Energy Sharing System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.