天津航联迪克开发的模拟6A通信python代码
本文主要说明天津航联开发的6A模拟系统软件说明,本软件主要搭配红外热成像系统使用。
本系统实现的功能主要有接收红外热成像的超温度报警检测、分别对三个探头请求远程主机进行进行图像推流到rtsp服务、远程下载主机超温报警后的图像、查看探头超温报警后的视频。
目前开发的是win版本,可通过运行.exe可执行文件进行系统启动,如下图2。
说明:本系统通过udp服务通信,在使用前请确认好通信协议,包括ip地址,端口。可在tcpConnect类里面的构造函数中修改。 首先点击报警监测按钮,此时实时报警监测功能已经启动,如果探头有超温报警后,会在界面上有提示,例如下图3。 如果需要保存报警后五分钟的图像信息,则在五分钟之后点击探头1/2/3远程请求,进行请求探头1/2/3的图像信息,点击完之后5秒后点击获取远程图像,此时显示开始获取探头1/2/3,请等待,见下图4。
当数据获取完毕后,界面会显示获取完毕,如下图5。 当探头数据获取完毕后,可点击查看探头1/2/3按钮查看探头视频数据,见下图6。
本系统主要构成分为前端后端,前端主要通过QtDesigner进行控件设计,后端主要通过控件与功能函数实现槽函数连接。在qt主线程main_ui类构造函数中定义一些必要的参数,包括rtsp服务地址。然后定义handle_button函数,主要负责控件按钮的槽连接功能。
通过点击报警监测按钮,槽连接到look_fire_start函数,该函数主要负责报警监测线程的启动,报警监测线程主要写在udpConnect类中。该系统的主要核心在于udpConnect线程中,在udpConnect线程构造函数中进行udp协议建立,然后在run函数中循环监听远程主机发来的通信数据,并根据通信协议中的数据进行数据识别,识别哪个远程探头发来的信号,并将探头数据返回给主线程,在主线程界面上显示探头报警信息。 在界面上通过点击探头1/2/3远程请求,进行远程发送rtsp推流指令,将存图推流成为视频进行发送,主要送过调用send_req1/2/3函数,函数内部调用udpConnect线程中sendControlMag1/2/3函数,来给主机回传控制命令。 在界面上点击获取远程图像按钮,后端则会调用get_rtsp函数,该函数主要通过ffmpeg进行视频拉流,一帧一帧的读取图像,然后利用opencv将图像保存到探头对应的文件夹中。 最后通过点击查看探头1/2/3按钮进行查看报警后视频,点击后调用read_pics1/2/3函数,该函数实现了对图像的按名称大小先后排序,避免倒帧情况的出现,然后通过Qtimer函数调用open_pics1/2/3进行间隔时间读取图像,这里timer_camera.start函数时间可以设置,时间就可以调整帧率。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。