# CAN_monitor **Repository Path**: littlesquid_mc/CAN_monitor ## Basic Information - **Project Name**: CAN_monitor - **Description**: CAN 数据监听与分析工具 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2025-03-27 - **Last Updated**: 2025-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CAN 数据监听与分析工具使用说明 CAN_monitor用于监听 CAN(Controller Area Network)总线数据,并借助 DBC(CAN Database)文件对数据展开分析。该程序运用 curses 库打造了简洁的命令行界面,用户不仅能实时查看接收到的 CAN 消息,还能按需查看特定消息的详细解码信息 。 ## 一、功能特性 **CAN 数据监听**:通过指定的 CAN 通道,实时接收 CAN 消息,保障数据获取的及时性。 **DBC 文件支持**:程序支持加载 DBC 文件,借助文件信息解析和显示 CAN 消息的详细内容,帮助用户深入了解数据含义。 **日志记录**:用户可选择将接收到的 CAN 消息记录到日志文件中,便于后续追溯和分析。 **交互式界面**:提供命令行界面,用户能输入消息 ID,查看对应消息的详细信息,操作便捷。 ## 二、安装依赖 在运行 CAN_monitor.py 程序前,需安装所需的 Python 库,可使用以下命令进行安装: ``` pip install cantools python-can ``` ## 三、配置文件 程序借助 config.ini 文件进行配置,示例配置文件如下: ``` [CAN] channel_name = can0 bus_type = socketcan [Display] output = false ``` **channel_name**:指定要监听的 CAN 通道名称,默认值为 can0。 **bus_type**:指定 CAN 总线类型,默认值为 socketcan。 **output**:决定是否将接收到的 CAN 消息记录到日志文件中,默认值为 false。 ## 四、DBC 文件 程序需要一个 DBC 文件来解析 CAN 消息。请将 DBC 文件放置在 dbcfile 文件夹中,并且确保该文件夹中仅有一个.dbc 文件。 ## 五、运行程序 1.在终端中执行以下命令,即可启动程序: ``` python CAN_monitor.py ``` 2.使用已经编译好的文件进行运行(管理员模式下运行) ## 六、使用说明 **启动程序**:程序启动后,会自动开始监听 CAN 总线数据,并在界面上展示接收到的消息基本信息。 **查看详细信息**:在界面上输入要查看的消息 ID(十六进制),然后按下回车键,程序将显示该消息的详细解码信息。 **返回基本信息**:在查看详细信息时,再次输入任意数字并按下回车键,程序将恢复到显示基本信息的状态。 **退出程序**:按下 Ctrl+C,即可退出程序。 ## 七、日志记录 若在 config.ini 文件中将 output 设置为 true,程序会把接收到的 CAN 消息记录到 can\_messages.log 文件中,方便用户后续查阅。 ## ## 八、注意事项 请确保 dbcfile 文件夹和 config.ini 文件存在,并且 dbcfile 文件夹中只有一个.dbc 文件。 若在运行过程中遇到问题,请检查配置文件和 DBC 文件的正确性。