/hyphae-apis

Primary LanguageMakefileApache License 2.0Apache-2.0

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

Technoogy

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.

キャプチャ



Software

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.

Installation

[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.

[Preparation]
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://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu 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 https://github.com/hyphae/APIS.git
$ cd APIS
$ make build
  • If an error occurs with the "make build" or "make run" command, open the terminal again and run it.

Running

Run all of the above APIS related software at once.

$ make run

 After running each software, access the followings in your browser to display.

    0.0.0.0:4382/   -> apis-main_controller
    0.0.0.0:4390/   -> apis-emulator
    0.0.0.0:10000/   -> apis-tester
    http://127.0.0.1:8000/static/ui_example/staff/visual.html   -> 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".

キャプチャ


Stopping

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/hyphae 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.

License

Apache License Version 2.0

Notice

Notice