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、启动应用及配置修改
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、安装参考官网
使用的是 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、 网关接线图