Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Autonomous Power Interchange System (APIS)

APIS features

By accommodating P2P energy sharing between distributed batteries, it is possible to build a microgrid that utilizes variable renewable energy(VRE) as the main power source and enhances the resilience of the power system. These distributed batteries absorb fluctuations of VRE generation and improve community self-sufficiency by balancing supply and demand within the community.

Click here for details


Physical Peer to Peer(PP2P) energy sharing

This technology achieves a fixed amount of energy sharing between batteries by constant current control. It offset a shortage of one battery with delivering the necessary amount from a surplus of other battery. It is possible to send a fixed amount of power between specific users (batteries), which was difficult to realize by the voltage control, and it is possible to transact PP2P energy trading between users on the condition of the required energy amount and energy price.


Autonomous distributed control

Software with the same functions is installed in each battery system, and the software implements energy sharing according to the transaction conditions (time window, energy amount, energy price, etc.) of each battery system. It is a flexible energy trading system that allows various transaction conditions to be set for each battery system and that the conditions can be dynamically changed for each time window.



The software that realizes the above technology and makes it possible to easily construct a DC microgrid is released.

▼ Software required to simulate energy exchange using a hardware emulator

  • apis-main
    Software installed on each node to provide bi-directional energy exchange with autonomous decentralized control
    See apis-main's Documentation for more information.
  • apis-main_controller
    Software that visualizes the status of apis-main installed on each node and the status of energy exchange between nodes
    See apis-main_controller's Documentation for more information.
  • apis-web
    Software that acquires necessary information for visualization from apis-main and provides it to apis-main_controller
    See apis-web's Documentation for more information.
  • apis-emulator
    Software to emulate hardware such as DC/DC converters and batteries
    See apis-emulator's Documentation for more information.
  • apis-service_center (Added on December 24, 2020)
    Software to provide information required by the administrators and users of clusters constructed of apis-main services installed in each unit.
    See apis-service_center's Documentation for more information.
  • apis-ccc (Added on December 24, 2020)
    Software to uploade information that is related to energy sharing to apis-service_center.
    See apis-ccc's Documentation for more information.
  • apis-log (Added on December 24, 2020)
    Software to receive information from apis-main by multicast via a communication line and storing that information in a database.
    See apis-log's Documentation for more information.
  • apis-tester (Added on December 24, 2020)
    Software to test and evaluation of apis-main.
    See apis-tester's Documentation for more information.


[Operating Environment]
The above software has been tested on the following operating systems.

  • Ubuntu 18.04, 20.04
  • CentOS 7, 8
  • macOS Catalina, Big Sur

 * Virtual environments are not supported.

It is assumed that the necessary software are installed.
The following is an example of an advance preparation for Ubuntu 18.04.

  • Install the JDK if it's not already installed.
  • Python3.6.9 or later is required.
  • Sqlite3.8.3 or later is required. (CentOS 7)
$ sudo apt install git
$ sudo apt install make
$ sudo apt install maven
$ sudo apt install groovy
$ sudo apt install python3-venv
$ sudo apt install python3-pip
$ sudo apt-key adv --keyserver hkp:// --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
$ echo "deb [ arch=amd64 ] bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
$ sudo apt install mongodb-org

[APIS related software bach installation]
Install all of the above APIS related software at one time.
See each software repository for the individual installation and execution of each software.

$ git clone
$ cd APIS
$ make build
  • If an error occurs with the "make build" or "make run" command, open the terminal again and run it.


Run all of the above APIS related software at once.

$ make run

 After running each software, access the followings in your browser to display.   -> apis-main_controller   -> apis-emulator   -> apis-tester   -> apis-service_center (account/pwd = admin/admin)

 The following picture is apis-main_controller.  Flash an cache once.


 Simulate energy exchange with setting Global Mode to "Run".



Stop all of the above APIS related software at once.

$ make stop

▼ Software and hardware information required for energy exchange using actual DC/DC converters and batteries

Use apis-dcdc_batt_comm instead of apis-emulator.

  • apis-dcdc_batt_comm
    Sample device driver to control DC/DC converters and batteries
    See apis-dcdc_batt_comm's Documentation for more information.
  • apis-build_version_up_system
    This tool clones all of the software needed to build the APIS evaluation environment from GitHub/Sony CSL in a single batch, builds the software, generates the various configuration files required for APIS operation according to the configuration file, and then installs all of the software on multiple nodes. See apis-build_version_up_systems's Documentation for more information.
  • apis-hw-info
    Hardware reference information
    See apis-hw-info's Documentation for more information.


Apache License Version 2.0




Energy Sharing System







No releases published


No packages published