项目简介
本项目基于C++和Qt框架开发,是一个物联网事件监控平台。该平台可从网络、串口和内存等多个渠道收集事件,并运用自定义状态机模型进行事件验证。平台配有图形界面,方便用户管理和配置事件,能实现事件的添加、删除、编辑,还可保存和加载配置信息。
项目的主要特性和功能
- 多源事件收集:支持从网络、串口和内存收集事件,具备灵活的事件捕获机制。
- 事件验证:采用自定义状态机模型验证事件,可从XML文件加载状态机模型。
- 图形界面:便于用户管理事件,支持事件的添加、删除、编辑,以及配置信息的保存和加载。
- 日志记录:通过日志记录器记录关键信息与错误,方便追踪事件处理流程和排查问题。
- 网络事件处理:支持使用Netfilter捕获和处理网络事件,提供与内核交互的接口。
- 串口事件处理:支持捕获和处理串口事件,提供与串口设备通信的接口。
- 内存事件处理:支持捕获和处理内存事件,提供与内存事件服务器通信的接口。
安装使用步骤
环境搭建
- 宿主机端:安装JDK 1.7、IntelliJ IDEA、CLion、CMake、Z3求解器、Git,复制相关工程,如IoTEventMonitorPlatform、runtime - verification - system等。注意各工程CMakeLists中的路径,按tinyxml2、tinylog、runtime - verification - system、IoTEventMonitorPlatform的顺序编译。编译tinyxml2、tinylog、runtime - verification - system会在lib中生成so文件,编译IoTEventMonitorPlatform时需修改相关路径。同时安装KVM,在KVM中安装虚拟机,设置虚拟机为桥接模式,添加串口并进行串口环境配置。
- 虚拟机端:安装JDK,从宿主机传送文件夹EventSimulation4Java,进入EventSimulation4Java.jar所在目录,执行相应命令运行EventSimulation程序。
运行平台
运行IoTEventMonitorPlatform时需确保有足够权限,可选择sudo运行CLion或直接sudo运行程序。
配置平台
配置平台参数,如虚拟机IP、外部设备IP(需与EventSimulation4Java/src/main/java/Net/NetEventSend.java中的DEFAULT_SERVER_IP相同)、KVM伪终端、宿主机串口名称、状态机文件等。状态机文件可使用mxGraph打开,推荐先使用runtime - verification - system/examples/中的simple - model.xml进行测试。
开始监控
启动后台处理线程,平台开始监控事件,并在GUI界面显示日志信息。
以上步骤假设用户已下载本项目源码文件,且具备一定的Linux操作系统和C++编程环境配置经验。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】