删除 NEWREADME.md
This commit is contained in:
		
							parent
							
								
									6e89206b26
								
							
						
					
					
						commit
						727b5eb7f5
					
				
							
								
								
									
										183
									
								
								NEWREADME.md
									
									
									
									
									
								
							
							
						
						
									
										183
									
								
								NEWREADME.md
									
									
									
									
									
								
							| @ -1,183 +0,0 @@ | |||||||
| # 7.11升级 |  | ||||||
| 
 |  | ||||||
| ## 升级内容 |  | ||||||
| 
 |  | ||||||
| **一、*****\*新增消防控制功能\**** |  | ||||||
| 
 |  | ||||||
| 摄像头硬件升级后,增加5路IO输出、1路IO报警输入的功能。 |  | ||||||
| 
 |  | ||||||
| 1-4路IO输出为电磁阀控制; |  | ||||||
| 
 |  | ||||||
| 5路为水泵电源控制和充电设备断电控制; |  | ||||||
| 
 |  | ||||||
| 1路输入为消防水箱液位报警输入; |  | ||||||
| 
 |  | ||||||
| | ***\*IO口\**** | ***\*GPIO\**** | ***\*控制\**** | |  | ||||||
| | -------------- | -------------- | -------------- | |  | ||||||
| | 1              | 116            | 电磁阀1        | |  | ||||||
| | 2              | 18             | 电磁阀2        | |  | ||||||
| | 3              | 19             | 电磁阀3        | |  | ||||||
| | 4              | 103            | 电磁阀4        | |  | ||||||
| | 5              | 102            | 水泵、电源控制 | |  | ||||||
| 
 |  | ||||||
| ***\*GPIO控制指令:\**** |  | ||||||
| 
 |  | ||||||
| cd /sys/class/gpio |  | ||||||
| 
 |  | ||||||
| echo 18 > export // 导出gpio |  | ||||||
| 
 |  | ||||||
| echo out > gpio18/direction // 设置gpio输出 |  | ||||||
| 
 |  | ||||||
| echo 0 > gpio18/value // 设置gpio输出0 (关闭) |  | ||||||
| 
 |  | ||||||
| echo 1 > gpio18/value // 设置gpio输出1 (打开) |  | ||||||
| 
 |  | ||||||
|   |  | ||||||
| 
 |  | ||||||
| ***\*报警处理:\**** |  | ||||||
| 
 |  | ||||||
| 1、摄像头监测到区域报警,调用摄像头IO输出控制相应区域消防喷淋;先打开报警区域对应电磁阀开关、再打开水泵开关。 |  | ||||||
| 
 |  | ||||||
| 2、1-4检测报警区域对应1-4号IO口。如1号区域报警,则将1号IO口116输出1打开1号电磁阀,同时打开5号IO口水泵电源。5秒内没有再出现报警则关闭电磁阀。 |  | ||||||
| 
 |  | ||||||
|   |  | ||||||
| 
 |  | ||||||
| ***\*处理流程:\**** |  | ||||||
| 
 |  | ||||||
| 设置一个全局数组保存5个IO口的状态,int state[5] = {0,0,0,0,0} |  | ||||||
| 
 |  | ||||||
| 1、摄像头区域报警时开启喷淋控制: |  | ||||||
| 
 |  | ||||||
| 先判定对应区域状态:如果区域状态为0,则打开区域对应IO口(输出1),同时将区域状态置为6;区域状态不为0,则直接将区域状态置为6; |  | ||||||
| 
 |  | ||||||
| 再判定5号IO口水泵状态:如果水泵状态为0,则打开水泵对应5号IO口(输出1),同时将水泵状态置为6;水泵状态不为0,则直接将水泵状态置为6; |  | ||||||
| 
 |  | ||||||
| 2、开启一个线程处理IO状态和IO关闭处理。 |  | ||||||
| 
 |  | ||||||
| 监听所有IO状态,当IO状态不为0时,每间隔1秒状态值减1; |  | ||||||
| 
 |  | ||||||
| 状态值为1时,关闭对应IO口并将状态值置为0。 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ## 注意事项: |  | ||||||
| 
 |  | ||||||
| 时间0秒:区域1报警 → state[0] = 6 (电磁阀1打开) |  | ||||||
| 
 |  | ||||||
| 时间1秒:监控线程 → state[0] = 5 (还剩5秒) |  | ||||||
| 
 |  | ||||||
| 时间2秒:监控线程 → state[0] = 4 (还剩4秒) |  | ||||||
| 
 |  | ||||||
| 时间3秒:监控线程 → state[0] = 3 (还剩3秒) |  | ||||||
| 
 |  | ||||||
| 时间4秒:监控线程 → state[0] = 2 (还剩2秒) |  | ||||||
| 
 |  | ||||||
| 时间5秒:监控线程 → state[0] = 1 (还剩1秒,准备关闭) |  | ||||||
| 
 |  | ||||||
| 时间6秒:监控线程 → state[0] = 0 (关闭电磁阀1) |  | ||||||
| 
 |  | ||||||
|   |  | ||||||
| 
 |  | ||||||
| 发现问题: |  | ||||||
| 
 |  | ||||||
| 增加成上述内容步骤后,启动线程控制台打印报警信息,接收器没有接收到报警信息并输出 |  | ||||||
| 
 |  | ||||||
| 判断: |  | ||||||
| 
 |  | ||||||
| 1.请求的URL地址是否出错 |  | ||||||
| 
 |  | ||||||
| 2.测试接收器是否能接收到该网段的信息 |  | ||||||
| 
 |  | ||||||
| 结果: |  | ||||||
| 
 |  | ||||||
| 1.强制指定部分URL地址,例如:http://192.168.1.23:9527/device/alarm,2,3 IO口 可以接受信息,更换4,5无法接收 |  | ||||||
| 
 |  | ||||||
| 修正: |  | ||||||
| 
 |  | ||||||
| 如何让各个通道都能接收到信息 |  | ||||||
| 
 |  | ||||||
| 最终定义: |  | ||||||
| 
 |  | ||||||
| 地址类型转换错误 |  | ||||||
| 
 |  | ||||||
| 原1631-1632行 |  | ||||||
| 
 |  | ||||||
| // curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.1.23:9527/device/alarm"); |  | ||||||
| 
 |  | ||||||
|    curl_easy_setopt(curl, CURLOPT_URL,ALARM_URL);  |  | ||||||
| 
 |  | ||||||
| 因为ALARM_URL是需要std::string类型定义地址,所以使用c_str即可; |  | ||||||
| 
 |  | ||||||
|     curl_easy_setopt(curl, CURLOPT_URL, ALARM_URL.c_str()); |  | ||||||
| 
 |  | ||||||
| # 5.26修改 |  | ||||||
| 
 |  | ||||||
| ## 本串口协议必备要求:先发送在接收 |  | ||||||
| 
 |  | ||||||
| ## 注:本项目已经通过串口测试(传感器为115200,摄像头为9500),每次报警前会识别设备名称序号,然后反馈到串口输出序列中 |  | ||||||
| 
 |  | ||||||
| # rknn_yolo_EAI_pic |  | ||||||
| 
 |  | ||||||
| #### 简要说明 |  | ||||||
| 
 |  | ||||||
| 用于跑EAI提供仓库训练出来的yolov5模型的视频检测例程。 |  | ||||||
| 集成了从串口读取红外温度数据,到达阈值后报警并运行rknn模型 |  | ||||||
| 
 |  | ||||||
| 需注意运行该例程需要将npu驱动更新为1.7.3版本 |  | ||||||
| 
 |  | ||||||
| 本项目只适用于EAI-YOLOV5 |  | ||||||
| 详情请参考EAI官网:https://www.easy-eai.com/document_details/3/342 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ## 准备工作 |  | ||||||
| 根据EAI给出的教程训练、转化得到rknn模型 |  | ||||||
| 有两类检测模型:火焰检测和烟雾检测 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ## 安装(install) |  | ||||||
| 
 |  | ||||||
| 通过adb连接设备并将编译结果推送至板端,执行以下命令推送,这里板端默认使用/userdata路径 |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| adb push install/rknn_yolo_demo /userdata/ |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| 将前面准备好的RKNN模型推送至板端,这里假设模型名字为 yolov5s_u8.rknn |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| adb push ./yolov5s_u8.rknn /userdata/rknn_yolo_demo/model/yolov5s_u8.rknn |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ## 单图测试执行 |  | ||||||
| 详情请了解官网:9.模型部署实例 |  | ||||||
| 
 |  | ||||||
| 进入EAI环境之后编译,将编译文件放置到可执行程序,假设是first_yolov5_detect_demo |  | ||||||
| 用下列命令将可执行程序推送到开发板端 |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| cp first_yolov5_detect_demo/ /mnt/userdata/ -rf |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| 进入办卡运行环境 |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| adb shell |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| 定位到指定位置后,运行程序 |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| ./rknn_yolo_EAI |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ## 编译(build) |  | ||||||
| 
 |  | ||||||
| 在项目文件中,根据设备,调整 GCC_COMPILER 参数,终端执行下面命令进行编译 |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| ./build.sh |  | ||||||
| ``` |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user