|  | @@ -8,7 +8,7 @@ mqtt测试服务器报警模块
 | 
	
		
			
				|  |  |  AalrmModule 是一个报警模块,可以通过扫描数据库中的数据,根据设置的规则进行故障报警的独立程序
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # 安装启动
 | 
	
		
			
				|  |  | -前置条件:需要mysql数据库,linux c环境(centos等)
 | 
	
		
			
				|  |  | +>前置条件:需要mysql数据库,linux c环境(centos等)
 | 
	
		
			
				|  |  |  1.拷贝本项目到服务器,在AlarmModule目录下执行
 | 
	
		
			
				|  |  |  ```
 | 
	
		
			
				|  |  |  make
 | 
	
	
		
			
				|  | @@ -29,8 +29,8 @@ tail -f -n 1000 /tmp/log/xinyun_mqtt_alarm.svr.log
 | 
	
		
			
				|  |  |  ```
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # 分析
 | 
	
		
			
				|  |  | -    考虑到物联网项目中,设备数量和节点数量的不断增多,
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    考虑到物联网项目中,设备数量和节点数量的不断增多, 
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  |      使用之前扫描数据库历史表和逐条解析接收报文方式,会导致性能问题和其他误报警等问题,
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      因此采用此方式定时扫描数据库status表,根据设定的阈值规则进行告警判断。
 | 
	
	
		
			
				|  | @@ -43,7 +43,7 @@ tail -f -n 1000 /tmp/log/xinyun_mqtt_alarm.svr.log
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ### 不管是网关还是节点处理的报警逻辑是一样的,报警的类型分以下2大类
 | 
	
		
			
				|  |  |    
 | 
	
		
			
				|  |  | -   1.继电器数据判断(错误码中包括了设备上传的各种报警)
 | 
	
		
			
				|  |  | +1. 继电器数据判断(错误码中包括了设备上传的各种报警)
 | 
	
		
			
				|  |  |     ```
 | 
	
		
			
				|  |  |     //继电器状态:
 | 
	
		
			
				|  |  |      #define SW_ON                           0     //0x0000:继电器合闸
 | 
	
	
		
			
				|  | @@ -63,13 +63,14 @@ tail -f -n 1000 /tmp/log/xinyun_mqtt_alarm.svr.log
 | 
	
		
			
				|  |  |     ```
 | 
	
		
			
				|  |  |      这部分数据通过RelayAlarm函数处理
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -   2.结合时间段,拉合闸状态、电流阈值的告警
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -+ 自动模式合闸时间段继电器拉闸 告警
 | 
	
		
			
				|  |  | -+ 自动模式拉闸时间继电器合闸    告警
 | 
	
		
			
				|  |  | -+ 继电器拉闸状态有电流              告警
 | 
	
		
			
				|  |  | -+ 继电器合闸状态无电流         告警
 | 
	
		
			
				|  |  | -+ 继电器合闸状态电流偏离正常阈值  告警(需事先采集正常电流最大最小值)
 | 
	
		
			
				|  |  | +2. 结合时间段,拉合闸状态、电流阈值的告警
 | 
	
		
			
				|  |  | +```
 | 
	
		
			
				|  |  | +自动模式合闸时间段继电器拉闸 告警
 | 
	
		
			
				|  |  | +自动模式拉闸时间继电器合闸    告警
 | 
	
		
			
				|  |  | +继电器拉闸状态有电流              告警
 | 
	
		
			
				|  |  | +继电器合闸状态无电流         告警
 | 
	
		
			
				|  |  | +继电器合闸状态电流偏离正常阈值  告警(需事先采集正常电流最大最小值)
 | 
	
		
			
				|  |  | +```
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ### 报警其他情况排除
 | 
	
		
			
				|  |  |     1. 告警dev_fault表计数字段fault_count=3 连续报警3次才会真正报警
 |