跳至内容

1️⃣系统安装信息


1、服务器系统:EXSI 6.7

用户:root

密码:Winway@2208

IP:  192.168.30.247/24

备注:设置来电自动开机 

(1)虚拟机:ubuntu2204

管理员:root

密码:    Winway@2208

IP:  192.168.30.251/24

       192.168.20.251/24

备注:设置开机自动启动

2、客户端1系统:ubuntu2204桌面版(A8保全办公区)

用户:chongya

密码: Winway@2208

管理员:root

密码:    Winway@2208

IP:  192.168.30.248/24

       192.168.20.248/24

已设置自动登录系统、关闭防火墙;

开启远程SSH、远程VNC

(远程登录winway/123)

3、客户端2系统:ubuntu2204桌面版(情报中心) 

用户:chongya

密码:Winway@2208

管理员:root

密码:   Winway@2208

IP:  192.168.30.249/24

       192.168.20.249/24

已设置自动登录系统、关闭防火墙;

开启远程SSH、远程VNC

4、Mysql 8.0 

默认端口192.168.30.251:3306

用户名:root

密码:    Winway@2208

安装目录:/usr/lib/mysql

已设置远程访问数据库; 精域大屏:chudy_datav

Node-red处理报警数据:dk_line

5、精域BI(chudy_visual_4.2.0_0) 

http默认端口192.168.30.251:8088

用户名:sadmin

密码:    Winway@2208

安装目录:/WitFields

6、 EMQX

http端口192.168.30.251:18083

Mqtt协议端口:1883

用户名:admin

密码:    Wiinway@2208

安装目录:/var/lib/emqx

7、 报警主机(A8线)  

IP: 192.168.30.252

用户名:amin

密码:    cy888888

8、 一键报警呼叫器

IP: 192.168.30.1~26

用户名:amin

密码:    cy888888

具体安装位置查看图纸,极个别密码可能gtmc8888.

9、 物联网关

IP: 192.168.30.121~136

具体安装位置查看图纸

2️⃣ubuntu2204 SERVER/桌面版安装


1、系统安装(过程参考网上)

用户:chongya

密码:Winway@2208

2、IP地址设置

IP:192.168.20.251

     192.168.30.251

IP设置后要重启才能生效

(桌面直接设置)

打开终端,编辑文件,输入 :


Sudo vi /etc/netplan/00-installer-config.yaml


按以下格式编辑


保存后退出 

应用生效,输入:

netplan apply

IP地址查看:ip addr

3、 桌面版设置系统语言为中文  

(需要手动更新语言包才能显示中文)

4、设置root密码

设置root密码  Winway@2208

sudo passwd

切换到root测试

su root

5、关闭防火墙

sudo ufw disable

6、安装SSH服务

sudo apt-get update

sudo apt-get install openssh-server

查看SSH服务是否启动

sudo ps -e | grep ssh

看到sshd表示服务已经启动,如没有手工启动

sudo  service ssh start 

设置root远程登录ssh

        修改配置文件

        Vim /etc/ssh/sshd_config

        修改PermitRootLogin为yes

        重启服务或重启系统

        Systemctl restart sshd/reboot


7、 关闭屏保   



8、桌面版安装远程桌面XRDP

方法一:终端命令安装

Sudo apt install xrdp                     安装服务

Sudo systemctl start xrdp           启动服务

Sudo systemctl enable xrdp       设置开机启动

Systemctl status xrdp                   检查状态


方法二:桌面版设置


设置后使用windows远程访问

9、安装chrome浏览器/全屏打开指定网页

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

sudo apt install ./google-chrome-stable_current_amd64.deb


添加开机任务启动chrome

输入终端命令(桌面版系统,非SSH远程)

gnome-session-properties 

打开设置



点击添加,在命令中输入以下

google-chrome-stable  --kiosk  --noerrdialogs  --start-fullscreen  http://127.0.0.1:8088/chudy_visual/view/1740921913020125184


google-chrome-stable--kiosk                                 –noerrdialogs                                                  --start-fullscreen  http://127.0.0.1:8088/chudy_visual/view/1740921913020125184

删除以下文件确保不弹出软件更新器弹窗

sudo rm /etc/apt/apt.conf.d/99update-notifier


10、设置通电开机及自动进入桌面

ubuntu启动后跳过登录直接进入桌面(自动登录)

方法一


(也可以安装过程选择直接登录系统)


方法二

您登录计算机时,你的登录密钥环未被解锁

打开终端,输入seahorse

将密码设置为空


注意:请务必设置通电开机,进入BIOS,把电源状态设置为:开启。

3️⃣安装node-red


1、更新系统

apt update

2、使用curl命令安装

curl -sL https://deb.nodesource.com/setup_20.x | bash -

  

3、 apt list -a nodejs 查看版本列表 

apt install nodejs

4、 查看版本

执行node -v 以及npm -v

5、 安装node-red

npm install -g --unsafe-perm node-red  

6、 node-red流程配置

(1)呼叫信息发送到广丰OA群,保存呼叫记录



(2)ping ip是否在线并保存数据库



(3) 检查设备是否在线,每天12点



(4) 通过node-red订阅发布指令


4️⃣海康报警主机及呼叫器配置


1、报警主机配置

报警主主机只能通过IVMS4200进行配置


2、呼叫器配置

呼叫器可以通过网页和IVMS4200进行配置

呼叫器须关联继电器输出,否则继电器不动作。

  


5️⃣安装数据库mysql8.0


1、安装过程

(1)安装前更新源

Sudo apt update

Sudo apt upgrade

(2)在线下载mysql安装包

Sudo apt install -y mysql-server

(3)安装后给root设置密码

第一次进入无须密码

Mysql -u root

alter user ‘root’@’localhost’identified with mysql_native_password by ‘Winway@2208’ ;

Flush privileges;

Quit;

(以上为更改mysql数据库用户root@localhos的验证方式为mysql_native_password,同时设置密码为Winway@2208)

再次登录,需要密码

2、配置好远程访问权限

设置前确认防火墙已关闭

(1)修改MySQL允许任何人连接

发现root用户只允许localhost主机登录登录

use mysql;

select Host,User from user;


(2)方法1:修改为允许任何地址访问

update user set Host='%' where User='root';

(3)再次查看,root已修改为任何IP登录

select Host,User from user;


        刷新权限

        flush privileges;

        必须要执行刷新,不然连接不上。

(4) 方法2:使用授权法

Grant all privileges on *.* to ‘root’@’%’with grant option;

Flush privileges;

(5)更新mysql配置文件

Vi /etc/mysql/mysql.conf.d/ mysqld.cnf

修改 bind-adresss IP地址为 :0.0.0.0

         bind-address        = 0.0.0.0

         mysqlx-bind-address    = 0.0.0.0




重启mysql服务或重启ubuntu

查看监听端口

Netstat -tln


(6)使用Navicat 登录测试

至此,mysql数据库安装完毕。

3、 node-red处理报警信息相关表  

3.1数据库名称:dk_line

3.2 数据表

Ip_list :存储设备IP地址信息 







Mstate: 存储呼叫器报警状态


Recod: 存储呼叫记录

Ping : 存储ping IP的结果

6️⃣Linux下安装精域大屏软件


1、创建安装目录

Cd /

Mkdir WitFields

Mkdir WitFields/java

2、上传文件

将以下文件夹拷贝到WitFields目录下

chudy_visual_4.2.0_0

filesystem

将以下文件夹拷贝到WitFields/java目录下

Jdk-8u221-linux-x64.tar.gz

解压文件

Cd WitFields/java

Tar -zxvf jdk-8u221-linux-x64.tar.gz

3、启动应用及配置修改  

授予mgr.sh执行权限

Cd WitFields/chudy_visual_4.2.0_0/mgr

Chmod u+x mgr.sh


执行启动

./’mgr.sh start


Mgr.sh 支持启动、停止、重启、查看状态

./mgr.sh start | stop | restart | status


修改数据配置

(修改密码时要注意,鼠标移到=后面时先按一下删除键,再填写密码)



 执行启动

./mgr.sh start

(要注意多执行几行,再使用 ./mgr.sh status  查看启动情况)


Mgr.sh 支持启动、停止、重启、查看状态

./mgr.sh start | stop | restart | status


设置系统主数据源



清除系统自带案例

手动删除系统自带的数据集和看板

delete from core_menu  where id = 117;

delete from core_function where id = 503;


设置开机启动

4、精域客户端

暂未使用,后续测试后再确认是否应用,现使用浏览器  

5、数据集

 


(1)今日呼叫、设备在线、设备离线

今日呼叫

SELECT'今日呼叫' as alarm_today,COUNT( * ) AS total_today FROM record WHERE date(r_time) = date(now())


设备在线


SELECT '在线' as online,count(*) as total FROM ping WHERE res_time BETWEEN 1 AND 2000 and pname in 

("192.168.30.1","192.168.30.2","192.168.30.3","192.168.30.4","192.168.30.5","192.168.30.6","192.168.30.7","192.168.30.8",

"192.168.30.9","192.168.30.10","192.168.30.11","192.168.30.12","192.168.30.13","192.168.30.14","192.168.30.15","192.168.30.16",

"192.168.30.17","192.168.30.18","192.168.30.19","192.168.30.20","192.168.30.21","192.168.30.22","192.168.30.23",

"192.168.30.24","192.168.30.25","192.168.30.26")


设备离线

与在线取反即可


(2)显示离线图标

SELECT

CASE 

WHEN res_time = 0   THEN '/img/dkimg/yellow.gif' 

  END as img

from ping WHERE pname = "192.168.30.1"

(其他25个更改IP即可)


(3)显示呼叫报警图标

SELECT

CASE 

WHEN m_state = 1   THEN '/img/dkimg/bj.gif' 

END as img

from mstate WHERE num = "128021"

(其他25个更改编号即可)

7️⃣EMQX安装


1、安装参考官网

https://www.emqx.io/docs/zh/v5.0/deploy/install-ubuntu.html#%E9%80%9A%E8%BF%87-apt-%E6%BA%90%E5%AE%89%E8%A3%85

使用的是 Linux 操作系统,在启动 EMQX 前建议确认系统环境中已启用了 UTF-8 区域设置

sudo update-locale LANG=C.UTF-8

EMQX下载地址

https://www.emqx.io/zh/downloads?os=Ubuntu

2、通过 Apt 源安装

下载安装包

wget https://www.emqx.com/zh/downloads/broker/5.4.0/emqx-5.4.0-ubuntu22.04-amd64.deb

wget https://www.emqx.com/zh/downloads/broker/5.4.1/emqx-5.4.0-ubuntu20.04-amd64.deb

安装 EMQX

sudo apt install ./emqx-5.4.0-ubuntu22.04-amd64.deb

启动 EMQX

sudo systemctl start emqx


  

  Emqx安装  

在安装过程中碰到以下三种情况:

Emqx安装完成,启动时出现故障

WARNING: Default (insecure) Erlang cookie is in use.

WARNING: Configure node.cookie in /emqx/etc/emqx.conf or override from environment variable EMQX_NODE__COOKIE

WARNING: NOTE: Use the same cookie for all nodes in the cluster.

ERROR: EMQX 5.0.26 using node name 'emqx@127.0.0.1' failed 120 probes.

Find more information in the latest log file: /emqx/log/erlang.log.*


原因一:网络存在另一台thingsboard

可能执行了2次命令的原因,也可能是公司已经存在一台thingboard

修改配置文件emqx.conf中的name和cookie名称


原因二:版本不适合

尝试另一版本


原因三:1883端口被占用


3、Docker方式安装

参考

官网https://www.emqx.io/docs/zh/latest/deploy/install-docker.html

https://baijiahao.baidu.com/s?id=1780692674745966457&wfr=spider&for=pc


(1)安装 Docker

sudo apt-get update 

sudo apt-get install docker.io

查看 版本 docker -v 或 docekr --version

(2)安装 Docker-compose

curl -SL https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

授权

sudo chmod +x /usr/local/bin/docker-compose

查看 版本 

docker-compose –version

(3)通过 Docker 运行单个 EMQX 

运行以下命令获取 Docker 镜像:

docker pull emqx/emqx:5.4.1

运行以下命令启动 Docker 容器。

docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.4.1


登录

127.0.0.0:18083

默认用户名和密码:

admin

public

登录后会要求修改密码

8️⃣展联网关设置及命名


展联RTU使用专用软件DevelopLink_SDRTU进行配置

1、mqtt命名

网关MQTT客户端ID命名

id_chongya3_dk_001 至 id_chongya3_dk_026


MQTT用户名使命名

name_chongya3_dk_001 至 name_chongya3_dk_026


MQTT发布主题命名

chongya3_dk_001 至 chongya3_dk_026


双路设备命名,如:chongya3_dk_025_026,

2、从网关设备连接

从网关 IP: 192.168.30.121-135,按以下设置所有物联网关


(1)基本参数

去掉dhcp,设置以态网固定IP




(2)虚拟设备开启

配置模块,选择   <以太网RTU>,输入数据源:串口1;

其他默认




(3)Modbus开启,指令设置








(4)MQTT设置数据上传


  

(5)设置规则联动



3、 主网关设备连接

设置方法与从网关一致,参数设置不一样。

主网关IP : 192.168.30.139


(1)mqtt设置数据上传


(2)设置规则联动

 

(3)其他设置与从网送相同

9️⃣ubuntu2204开机自动运行精域BI及node-red


Crontab -e

在最下面输入下面内容并保存

@reboot  node-red

@reboot  cd /WitFields/chudy_visual_4.2.0_0/mgr/ && ./mgr.sh start


重启查看是否正常启动

Netstat -tln

看端口1880(node-red)和8088(精域BI)是否启动.

🔟原理及平面图


1、功能原理

(1)呼叫报警

呼叫器触报警信号(开关量)给网关,网关通过mqtt发布指令,node-red订阅所有从网关的指令,过滤转换后再发布新的指令,主网关订阅来自node-red的指令,触发主网关闭自身继电器动作,输出声光报警。直到手动解除报警状态。(呼叫器报警状态最长只能持续60秒,客户要求保持报警状态,直到人工解除。)


(2)手动解除报警状态

流程与呼叫报警逆反,手动触发主网开关量信号,首先关闭自身继电器,解除声光报警,同时网关通过mqtt发布指令,node-red订阅主网关的指令,过滤转换后再向所有从网关发布新的指令,从网关订阅来自node-red的指令,关闭继电器,解除报警状态。


(3)精域BI报警状态

呼叫器动作时,node-red同时写入数据库,精域BI通儿获取数据库某个点位的状态显示/隐藏图片。


(4)呼叫器离线状态

Node-red定期ping设置的IP,保存IP在线状态,精域BI通儿获取数据库某个点位的状态显示/隐藏图片

2、平面图

 

  

3、数据处理流程图   

 

4、 Node-red流程

(1)存储呼叫记录并推送到广丰OA(钉钉群)



(2)定时ping 设备是否在线并存储




(3)node-red中转处理mqtt指令


5、  网关接线图

 


6、 精域BI布局图(截图)