myems/myems-normalization
13621160019@163.com 6856423ed1 Merged expression table into virtual meter table in database 2021-11-14 16:40:58 +08:00
..
.gitignore udpated gitignore files 2021-02-20 20:18:31 +08:00
Dockerfile updated Dockerfiles 2021-11-01 14:52:33 +08:00
LICENSE merged myems-normalization 2021-02-19 12:31:01 +08:00
README.md added installation on docker to README 2021-11-05 17:52:22 +08:00
config.py renamed example.env files and fixed typos in config 2021-10-15 13:32:43 +08:00
example.env renamed example.env files and fixed typos in config 2021-10-15 13:32:43 +08:00
main.py Merged expression table into virtual meter table in database 2021-11-14 16:40:58 +08:00
meter.py merged myems-normalization 2021-02-19 12:31:01 +08:00
myems-normalization.service merged myems-normalization 2021-02-19 12:31:01 +08:00
offline_meter_data.xlsx updated offline meter data template file 2021-10-28 23:08:16 +08:00
offlinemeter.py Added verification of daily energy consumption range during offline table import 2021-10-26 19:29:51 +08:00
requirements.txt updated config.py files to move all variables to .env files via Python Decouple 2021-10-12 18:39:42 +08:00
run.sh mask out all clear password into encrypted ones for myems-normalization. 2021-10-01 19:08:43 +08:00
virtualmeter.py Merged expression table into virtual meter table in database 2021-11-14 16:40:58 +08:00
virtualpoint.py implemented virtual point calculating in myems-normalization service 2021-05-08 13:37:17 +08:00

README.md

myems-normalization

MyEMS Normalization Service

数据规范化服务

Introduction

This service is a component of MyEMS. It normalizes energy data in historical database.

MyEMS Meter Normalization

Prerequisites

mysql-connector-python

openpyxl

sympy

python-decouple

Quick Run for Development

cd myems/myems-normalization
pip install -r requirements.txt
cp example.env .env
chmod +x run.sh
./run.sh

Installation

Option 1: Install myems-normalization on Docker

In this section, you will install myems-normalization on Docker.

  • Copy example.env file to .env file and modify the .env file
cd myems/myems-normalization
cp example.env .env
  • Build a Docker image
docker build -t myems/myems-normalization .
  • Run a Docker container
docker run -d --restart always --name myems-normalization myems/myems-normalization

-d Run container in background and print container ID

--restart Restart policy to apply when a container exits

--name Assign a name to the container

Option 2: Install myems-normalization on Ubuntu Server (bare-metal or virtual machine)

In this section, you will install myems-normalization on Ubuntu Server.

Download and install MySQL Connector:

cd ~/tools
wget https://cdn.mysql.com/archives/mysql-connector-python-8.0/mysql-connector-python-8.0.23.tar.gz
tar xzf mysql-connector-python-8.0.23.tar.gz
cd ~/tools/mysql-connector-python-8.0.23
python3 setup.py install

Download and install mpmath

cd ~/tools
git clone https://github.com/fredrik-johansson/mpmath.git
cd ~/tools/mpmath
python3 setup.py install

Download and install SymPy

cd ~/tools
git clone https://github.com/sympy/sympy.git
cd ~/tools/sympy
python3 setupegg.py develop

Download and install openpyxl

cd ~/tools

Get the latest version of et_xmlfile from https://foss.heptapod.net/openpyxl/et_xmlfile/

wget https://foss.heptapod.net/openpyxl/et_xmlfile/-/archive/1.1/et_xmlfile-1.1.tar.gz
tar xzf et_xmlfile-1.1.tar.gz

Get jdcal

git clone https://github.com/phn/jdcal.git

Get the latest version of openpyxl from https://foss.heptapod.net/openpyxl/openpyxl

wget https://foss.heptapod.net/openpyxl/openpyxl/-/archive/3.0.7/openpyxl-3.0.7.tar.gz
tar xzf openpyxl-3.0.7.tar.gz
cd ~/tools/et_xmlfile-1.1
python3 setup.py install
cd ~/tools/jdcal
python3 setup.py install
cd ~/tools/openpyxl-3.0.7
python3 setup.py install

Download and install Python Decouple

cd ~/tools
git clone https://github.com/henriquebastos/python-decouple.git
cd ~/tools/python-decouple
python3 setup.py  install

Install myems-normalization service:

cd ~
git clone https://github.com/MyEMS/myems.git
cd myems
git checkout master (or the latest release tag)
cp -r ~/myems/myems-normalization /myems-normalization

Copy example.env file to .env file and modify the .env file:

cp /myems-normalization/example.env /myems-normalization/.env
nano /myems-normalization/.env

Setup systemd service:

cp myems-normalization.service /lib/systemd/system/

Enable the service:

systemctl enable myems-normalization.service

Start the service:

systemctl start myems-normalization.service

Monitor the service:

systemctl status myems-normalization.service

View the log:

cat /myems-normalization.log

References

  1. https://myems.io
  2. https://dev.mysql.com/doc/connector-python/en/
  3. https://github.com/sympy/sympy
  4. https://openpyxl.readthedocs.io