为MyEMS安装数据库架构和脚本。
cd myems/database/install
mysql -u root -p < myems_billing_baseline_db.sql
mysql -u root -p < myems_billing_db.sql
mysql -u root -p < myems_carbon_db.sql
mysql -u root -p < myems_energy_baseline_db.sql
mysql -u root -p < myems_energy_db.sql
mysql -u root -p < myems_energy_model_db.sql
mysql -u root -p < myems_fdd_db.sql
mysql -u root -p < myems_historical_db.sql
mysql -u root -p < myems_production_db.sql
mysql -u root -p < myems_reporting_db.sql
mysql -u root -p < myems_system_db.sql
mysql -u root -p < myems_user_db.sql
1.安装docker,npm
2.数据库添加访问权限
mysql> CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '!MyEMS1';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '!MyEMS1';
3.在Windows上使用Docker部署MyEMS
在本节中,您将在Docker上安装myems-api。
cp -r myems/myems-api c:\
cd c:\myems-api
警告
用真实的主机IP地址手动替换127.00.1。
cp example.env .env
docker build -t myems/myems-api .
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-api .
在主机上,新建文件夹c:\myems-upload, 将此文件夹绑定到容器,并将.env绑定到容器:
docker run -d -p 8000:8000 -v c:\myems-upload:/var/www/myems-admin/upload -v c:\myems-api\.env:/code/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-api myems/myems-api
冒号前的绝对路径表示主机上的路径,可能因系统而异。 冒号后的绝对路径用于容器上的路径,不能更改。 通过将.env作为绑定装载参数传递,您可以稍后更改配置值。 如果更改了.env文件,请重新启动容器以使更改生效。
如果您想将镜像迁移到另一台计算机,
docker save --output myems-api.tar myems/myems-api
docker load --input .\myems-api.tar
在本节中,您将在Docker上安装myems-admin。
cp -r myems/myems-admin c:\
cd c:\myems-admin
警告
手动将nginx.conf中的127.00.1:8000替换为实际的HOSTIP地址和myems-api端口
notepad nginx.conf
proxy_pass http://127.0.0.1:8000/;
docker build -t myems/myems-admin .
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-admin .
在主机上,新建文件夹c:\myems-upload, 将此文件夹绑定挂载到容器,并绑定挂载nginx.conf到容器:
docker run -d -p 8001:8001 -v c:\myems-upload:/var/www/myems-admin/upload -v c:\myems-admin/nginx.conf:/etc/nginx/nginx.conf:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-admin myems/myems-admin
如果您想将镜像迁移到另一台计算机,
docker save --output myems-admin.tar myems/myems-admin
docker load --input .\myems-admin.tar
在本节中,您将在Docker上安装myems-modbus-tcp。
cp -r myems/myems-modbus-tcp c:\
cd c:\myems-modbus-tcp
警告
用真实的主机IP地址手动替换127.00.1。
cp example.env .env
docker build -t myems/myems-modbus-tcp .
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-modbus-tcp .
docker run -d -v c:\myems-modbus-tcp\.env:/code/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-modbus-tcp myems/myems-modbus-tcp
冒号前的绝对路径表示主机上的路径,可能因系统而异。 冒号后的绝对路径用于容器上的路径,不能更改。 通过将.env作为绑定装载参数传递,您可以稍后更改配置值。 如果更改了.env文件,请重新启动容器以使更改生效。
为了将容器迁移到另一台计算机,
docker save --output myems-modbus-tcp.tar myems/myems-modbus-tcp
docker load --input .\myems-modbus-tcp.tar
在本节中,您将在Docker上安装myems-cleaning。
cp -r myems/myems-cleaning c:\
cd c:\myems-cleaning
警告
用真实的主机IP地址手动替换127.00.1。
cp example.env .env
docker build -t myems/myems-cleaning .
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-cleaning .
docker run -d -v c:\myems-cleaning\.env:/code/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-cleaning myems/myems-cleaning
冒号前的绝对路径表示主机上的路径,可能因系统而异。 冒号后的绝对路径用于容器上的路径,不能更改。 通过将.env作为绑定装载参数传递,您可以稍后更改配置值。 如果更改了.env文件,请重新启动容器以使更改生效。
为了将容器迁移到另一台计算机,
docker save --output myems-cleaning.tar myems/myems-cleaning
docker load --input .\myems-cleaning.tar
在本节中,您将在Docker上安装myems-normalization。
cp -r myems/myems-normalization c:\
cd c:\myems-normalization
警告
用真实的主机IP地址手动替换127.00.1。
cp example.env .env
docker build -t myems/myems-normalization .
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-normalization .
docker run -d -v c:\myems-normalization\.env:/code/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-normalization myems/myems-normalization
冒号前的绝对路径表示主机上的路径,可能因系统而异。 冒号后的绝对路径用于容器上的路径,不能更改。 通过将.env作为绑定装载参数传递,您可以稍后更改配置值。 如果更改了.env文件,请重新启动容器以使更改生效。
为了将容器迁移到另一台计算机,
docker save --output myems-normalization.tar myems/myems-normalization
docker load --input .\myems-normalization.tar
在本节中,您将在Docker上安装myems-aggregation。
cp -r myems/myems-aggregation c:\
cd c:\myems-aggregation
警告
用真实的主机IP地址手动替换127.00.1。
cp example.env .env
docker build -t myems/myems-aggregation .
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-aggregation .
docker run -d -v c:\myems-aggregation\.env:/code/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-aggregation myems/myems-aggregation
冒号前的绝对路径表示主机上的路径,可能因系统而异。 冒号后的绝对路径用于容器上的路径,不能更改。 通过将.env作为绑定装载参数传递,您可以稍后更改配置值。 如果更改了.env文件,请重新启动容器以使更改生效。
docker save --output myems-aggregation.tar myems/myems-aggregation
docker load --input .\myems-aggregation.tar
在本节中,您将在Docker上安装myems-web。
cd myems/myems-web
notepad src/config.js
警告
将nginx.conf中的127.00.1:8000替换为真正的HOST IP和myems-api端口
cd myems/myems-web
notepad nginx.conf
cp -r myems/myems-web c:\
cd c:\myems-web
信息
您可以安全地忽略本节中的命令“npm run build”,因为它内置在Dockerfile中
docker build -t myems/myems-web .
docker image prune -f
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-web .
docker image prune -f
在主机上,将nginx.conf绑定到容器
docker run -d -p 80:80 -v c:\myems-web/nginx.conf:/etc/nginx/nginx.conf:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-web myems/myems-web
如果您想将镜像迁移到另一台计算机,
docker save --output myems-web.tar myems/myems-web
docker load --input .\myems-web.tar
此处以virtualbox虚拟机上的Ubuntu Server为例
1.安装virtualbox
2.在虚拟机上安装Ubuntu Server
3.修改网络,设置桥接模式
4.安装docker、npm
5.数据库添加访问权限
mysql> CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '!MyEMS1';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '!MyEMS1';
6.使用Docker部署MyEMS
在本节中,您将在Docker上安装myems-api。
cp -r myems/myems-api /
cd /myems-api
警告
用真实的主机IP地址手动替换127.00.1。
cp example.env .env
docker build -t myems/myems-api .
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-api .
在主机上, 创建一个共享上传文件的文件夹:
mkdir /myems-upload
创建一个容器,将共享上传文件夹绑定到容器,并将.env绑定到容器:
docker run -d -p 8000:8000 -v /myems-upload:/var/www/myems-admin/upload -v /myems-api/.env:/code/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-api myems/myems-api
冒号前的绝对路径表示主机上的路径,可能因系统而异。 冒号后的绝对路径用于容器上的路径,不能更改。 通过将.env作为绑定装载参数传递,您可以稍后更改配置值。 如果更改了.env文件,请重新启动容器以使更改生效。
如果您想将镜像迁移到另一台计算机,
docker save --output myems-api.tar myems/myems-api
docker load --input .\myems-api.tar
在本节中,您将在Docker上安装myems-admin。
cp -r myems/myems-admin /
cd /myems-admin
警告
手动将nginx.conf中的127.00.1:8000替换为实际的主机IP地址和myems-api端口
nano nginx.conf
proxy_pass http://127.0.0.1:8000/;
docker build -t myems/myems-admin .
如果为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-admin .
在主机上, 创建一个共享上传文件的文件夹:
mkdir /myems-upload
将共享上传文件夹绑定到容器,并将.env绑定到容器: 创建一个容器,绑定挂载共享上传文件文件夹到容器,并绑定挂载nginx.conf
docker run -d -p 8001:8001 -v /myems-upload:/var/www/myems-admin/upload -v /myems-admin/nginx.conf:/etc/nginx/nginx.conf:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-admin myems/myems-admin
如果您想将镜像迁移到另一台计算机,
docker save --output myems-admin.tar myems/myems-admin
docker load --input .\myems-admin.tar
在本节中,您将在Docker上安装myems-modbus-tcp。
cp -r myems/myems-modbus-tcp /
cd /myems-modbus-tcp
警告
用真实的主机IP地址手动替换127.00.1。
cp example.env .env
docker build -t myems/myems-modbus-tcp .
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-modbus-tcp .
docker run -d -v /myems-modbus-tcp/.env:/code/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-modbus-tcp myems/myems-modbus-tcp
冒号前的绝对路径表示主机上的路径,可能因系统而异。 冒号后的绝对路径用于容器上的路径,不能更改。 通过将.env作为绑定装载参数传递,您可以稍后更改配置值。 如果更改了.env文件,请重新启动容器以使更改生效。
为了将容器迁移到另一台计算机,
docker save --output myems-modbus-tcp.tar myems/myems-modbus-tcp
docker load --input .\myems-modbus-tcp.tar
在本节中,您将在Docker上安装myems-cleaning。
cp -r myems/myems-cleaning /
cd /myems-cleaning
警告
用真实的主机IP地址手动替换127.00.1。
cp example.env .env
docker build -t myems/myems-cleaning .
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-cleaning .
docker run -d -v /myems-cleaning/.env:/code/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-cleaning myems/myems-cleaning
冒号前的绝对路径表示主机上的路径,可能因系统而异。 冒号后的绝对路径用于容器上的路径,不能更改。 通过将.env作为绑定装载参数传递,您可以稍后更改配置值。 如果更改了.env文件,请重新启动容器以使更改生效。
为了将容器迁移到另一台计算机,
docker save --output myems-cleaning.tar myems/myems-cleaning
docker load --input .\myems-cleaning.tar
在本节中,您将在Docker上安装myems-normalization。
cp -r myems/myems-normalization /
cd /myems-normalization
警告
用真实的主机IP地址手动替换127.00.1。
cp example.env .env
docker build -t myems/myems-normalization .
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-normalization .
docker run -d -v /myems-normalization/.env:/code/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-normalization myems/myems-normalization
冒号前的绝对路径表示主机上的路径,可能因系统而异。 冒号后的绝对路径用于容器上的路径,不能更改。 通过将.env作为绑定装载参数传递,您可以稍后更改配置值。 如果更改了.env文件,请重新启动容器以使更改生效。
为了将容器迁移到另一台计算机,
docker save --output myems-normalization.tar myems/myems-normalization
docker load --input .\myems-normalization.tar
在本节中,您将在Docker上安装myems-aggregation。
cp -r myems/myems-aggregation /
cd /myems-aggregation
cp example.env .env
警告
用真实的主机IP地址手动替换127.00.1。
docker build -t myems/myems-aggregation .
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-aggregation .
docker run -d -v /myems-aggregation/.env:/code/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-aggregation myems/myems-aggregation
冒号前的绝对路径表示主机上的路径,可能因系统而异。 冒号后的绝对路径用于容器上的路径,不能更改。 通过将.env作为绑定装载参数传递,您可以稍后更改配置值。 如果更改了.env文件,请重新启动容器以使更改生效。
docker save --output myems-aggregation.tar myems/myems-aggregation
docker load --input .\myems-aggregation.tar
在本节中,您将在Docker上安装myems-web。
cd myems/myems-web
nano src/config.js
警告
将nginx.conf中的127.00.1:8000替换为真正的HOST IP和myems-api端口
cd myems/myems-web
nano nginx.conf
cp -r myems/myems-web /
cd /myems-web
信息
您可以安全地忽略本节中的命令“npm run build”,因为它内置在Dockerfile中
docker build -t myems/myems-web .
docker image prune -f
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
docker buildx build --platform=linux/amd64 -t myems/myems-web .
docker image prune -f
在主机上,将nginx.conf绑定到容器
docker run -d -p 80:80 -v /myems-web/nginx.conf:/etc/nginx/nginx.conf:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-web myems/myems-web
如果您想将镜像迁移到另一台计算机,
docker save --output myems-web.tar myems/myems-web
docker load --input .\myems-web.tar
在myems中我们主要使用modbus-tcp
下面演示Modbus TCP数据采集
1.进入Admin页面,点击数据源进行数据源和数据点的配置
2.点击左上角添加数据源,进行数据源的配置。填写名称并选择网关(默认网关1),协议填写modbus-tcp,然后填写IP地址和端口号连接数据源,最后点击保存。
3.接下来配置数据点,点击上方数据点选项
选择数据源,点击添加数据点,填写名称并选择对象类型,对象类型分为能耗量(ENERGY VALUE),模拟量(ANALOG VALUE)和数字量(DIGITAL VALUE),填写单位,高限,低限和比例系数,勾选保存趋势后数据会保存在数据库中,最后填写JSON格式的寄存起地址并填写对应属性,属性分别为从站地址(slave_id),功能码(function_code),起始地址(offset),寄存器数量(number_of_registers),数据格式(format)和字节反转(byte_swap),填写完成后点击保存。
4.重启myems-modbus-tcp容器,修改的数据源会被创建为一个采集进程
docker restart myems-modbus-tcp
docker logs -t myems-modbus-tcp
5.采集完成后(默认为10分钟,可在.env中修改),可在数据库中myems_historical_db中查看
下面演示计量表的添加与在客户端中的查看
1.进入Admin页面,点击计量表进行计量表的配置
2.点击左上角添加计量表,进行计量表的配置。填写名称并选择能源分类,勾选能耗参与汇总,填写每小时最小值与最大值,选择成本中心和上级计量表,填写描述,最后点击保存。
3.接下来绑定数据点,点击绑定数据点
选择要编辑的计量表,选择数据源,并将所需数据点拖拽到中间计量表绑定的数据点中。
4.将计量表绑定至空间中。
点击空间,选择绑定计量表,选择看空间,将需要绑定的表拖拽至中间。
5.重启myems-modbus-tcp容器
6.进入Web页面,选择上方计量表数据
点击计量表实时分析,可查看当前读取到的数据
点击计量表能耗分析,选择空间,计量表,时间尺度和报告期等数据后提交可查看能耗数据
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。