基于QT的CAN数据采集模拟器工具

这篇具有很好参考价值的文章主要介绍了基于QT的CAN数据采集模拟器工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CANalyst-II基于QT的二次开发
调试完成后,基于项目应用做了些扩展功能,主要有:CAN数据采集及保存,基于SAEJ1939协议常用的几项数据解析,单帧CAN数据发送,CAN文件发送。功能界面如下:
基于QT的CAN数据采集模拟器工具

一、CAN数据采集及保存
1、CAN参数设置

通过“CAN参数设置”按钮进入设置界面:
基于QT的CAN数据采集模拟器工具
常用250K波特率,设为默认,其他125K、500K、1000K等几十种可选;
CANalyst-II为双路CAN,因此双通道0、1可选,一次只能使用一路。
设置好后退出。

2、采集数据
点击“CAN启动”后,即可采集数据。数据显示界面采用tableWidget:
基于QT的CAN数据采集模拟器工具
tableWidget设计时几点需注意的地方:
1)、添加数据时,一定要设置行数,否则数据不会显示出来;

	//serial_number根据接收数据帧数增加,实现行数增加。
    ui->tableWidget->setRowCount(serial_number+1);

2)、让tableWidget的滚动条保持在底部

ui->tableWidget->setItem(serial_number, j, Item);
ui->tableWidget->scrollToBottom();

3)、清空tableWidget需要使用clearContents(),不清理行头和列头。
如果使用clear()函数,清空整个tableWidget,包括行头和列头。

ui->tableWidget->clearContents();

4)、verticalHeaderVisible默认勾选,作为列头。是序号。不需要就去掉勾选。
基于QT的CAN数据采集模拟器工具
5)、最后一列数据项多时,需要勾选上horizontalHeaderStretchLastSection这样数据就能更多显示出来。
基于QT的CAN数据采集模拟器工具
3、保存数据
通过Check Box勾选、取消来实现保存、关闭功能。格式按照tableWidget数据格式来,通过制表符’\t’分隔。
保存采集的CAN数据是可以直接做为文件发送的呦。

void MainWindow::on_checkBox_clicked()
{
    if(ui->checkBox->isChecked())
    {
        QString textFile = QFileDialog::getSaveFileName(this,tr("Save txt"), "",tr("text (*.txt)")); //选择路径

        if(textFile.isEmpty())
        {
            qDebug("文件名为空");
        }
        else
        {
            sfile->setFileName(textFile);//文件命名
            if (!sfile->open(QFile::WriteOnly | QFile::Text))     //检测文件是否打开
            {
                qDebug("打开文件失败");
                return;
            }
            else
            {
                qDebug("打开文件成功");
                QString titlestr ="序号\t传输方向\t时间标识\t状态\t名称\t帧ID\t格式\t类型\tDLC\t数据\n";
                QTextStream out(sfile);                 //分行写入文件
                out << titlestr;
                saveflag = true;
            }
        }
    }
    else
    {
        saveflag = false;
        sfile->close();
    }
}

二、基于SAEJ1939协议常用的几项数据解析
如果采集的数据是基于SAEJ1939协议的,打开"解析数据"按钮,可以实现常用的几项数据解析。且为实时解析
基于QT的CAN数据采集模拟器工具
三、单帧CAN数据发送
基于QT的CAN数据采集模拟器工具
四、文件发送

文件发送分为单次发送和循环发送。文件格式需要按照上面第一部分采集的数据格式来。CANalyst-II商家提供的CANPro协议分析平台采集的数据同样适用。

实车采集的CAN数据,然后在家,通过循环发送文件方式,妥妥的模拟ECU啊。此时CANalyst-II做为模拟器使用,来测试设备就可以了。

QString textFile = QFileDialog::getOpenFileName(this,tr("Open txt"), "",tr("text (*.txt)")); //选择路径

五、设置标题、图标、及执行文件打包

1、设置标题
基于QT的CAN数据采集模拟器工具
2、设置图标
做好图标文件app.ico,放在项目目录下,然后.pro文件中添加

RC_ICONS += app.ico

3、打包执行文件
1)找到exe文件。选的Release,在build-CAN_simulator-Desktop_Qt_5_14_2_MinGW_64_bit-Release\release文件夹下。
基于QT的CAN数据采集模拟器工具
拷贝到一个单独的文件夹。

2)、打开QT5.14.2(MinGW7.3.0 64-bit)
基于QT的CAN数据采集模拟器工具
3、命令行进入要打包的exe目录下
基于QT的CAN数据采集模拟器工具
4、输入命令行:windeployqt 程序名 敲击回车。这一步操作是将所需的库文件全都拷贝到exe程序的当前文件夹。
基于QT的CAN数据采集模拟器工具
注意:ControlCAN.dll需要另外拷贝进文件夹的,不然无法运行。
基于QT的CAN数据采集模拟器工具

此时CAN_simulator.exe已经可以运行,将文件夹发给其他人也可以使用了。

5、使用Enigma Virtual Box虚拟文件打包工具继续打包
基于QT的CAN数据采集模拟器工具
点击浏览选择CAN_simulator.exe文件,点击打包生成最终的CAN_simulator_boxed.exe。
基于QT的CAN数据采集模拟器工具
至此,小工具已经完成了。后续根据项目需要,再来扩展吧。文章来源地址https://www.toymoban.com/news/detail-407407.html

到了这里,关于基于QT的CAN数据采集模拟器工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全 —— 实验(基于华为eNSP模拟器)

    1. 实验一 —— 两个PC机相连 实验 :利用两虚拟PC连接,进行简单通信 实验命令 ▶ 结构图 结果 2. 实验二 —— 两个PC机通过交换机相连 实验 :利用两虚拟PC通过一个交换机进行连接,进行简单通信 实验命令 ▶ 结构图 结果 3. 实验三 —— 一台交换机连接多台PC 实验 :利用

    2024年02月08日
    浏览(47)
  • 毕设项目——基于Qt、PYTHON智能校园防御系统应用程序,实现了摄像头数据采集、人脸识别、口罩识别、 数据统计等功能

    完整项目地址:https://download.csdn.net/download/lijunhcn/88453470 项目结构 环境选型 语言:Python 操作系统:Windows 数据库:MySQL 窗口界面:PyQT API接口:百度AI接口,用以实现人脸登陆与注册 远程MySQL表结构 远程表结构sql脚本 项目背景 智能校园防御软件是实现了一款基于摄像头数据

    2024年02月04日
    浏览(44)
  • 基于appnium+python+夜神模拟器的自动化

    目录 1、安装夜神模拟器 2、定位元素 3、开始编码 首先搭好appnium环境!参考https://www.cnblogs.com/testlearn/p/11419797.html   下载安装夜神模拟器后,在cmd命令输入adb connect 127.0.0.1:62001,显示出设备则表示连接成功 打开安卓目录下,...sdktools目录下面的uiautomatorviewer.bat文件; 打开

    2024年02月12日
    浏览(38)
  • 基于EmulatorJs的Docker实现Web端游玩模拟器

    或许大家都见过一些在线游玩fc、gbc等老游戏的网页了,这些网页使我们随时随地都能体验并回味一波老游戏的滋味, 也能在上班的时候摸鱼 ,曾经我思考过这些网站的实现原理,想要模仿一下,自己搭建一个在线的模拟器网站。在参考了网络上各路大神的方案后我选择基于

    2024年01月19日
    浏览(69)
  • FPGA基于XDMA实现PCIE X8采集AD7606数据 提供工程源码和QT上位机程序和技术支持

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2024年02月06日
    浏览(77)
  • FPGA基于XDMA实现PCIE X8采集AD9226数据 提供工程源码和QT上位机程序和技术支持

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2024年02月04日
    浏览(44)
  • DHCP饿死攻击及防御(基于ENSP模拟器、Kali攻击机实现)

    ·Kali攻击机一台 ·ENSP模拟器         实验说明: ·通过配置DHCP_Server,使得192.168.150.0/24子网内的终端能够自动获取IP地址及DNS ·通过配置SW交换机,开启DHCP Snooping功能,用于保证DHCP客户端从合法的DHCP服务器获取IP地址 ·Kali攻击机接入192.168.150.0/24内网中,获取内网IP地址,使

    2024年02月09日
    浏览(35)
  • 1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume

    数据仓库( Data Warehouse ),是为企业制定决策,提供数据支持的。可以帮助企业,改进业务流程、提高产品质量等。 数据仓库的输入数据通常包括:业务数据、用户行为数据和爬虫数据等。 业务数据:就是各行业在处理事务过程中产生的数据。比如用户在电商网站中登录、

    2024年02月12日
    浏览(45)
  • 高校数据中心网络规划设计及思科模拟器CISCO模拟实现(网络安全、数据冗余)

            数据中心在现代社会中的地位愈加重要,这得益于信息技术的迅速发展。信息处理的能力、安全性等方面的要求也在不断攀升。因此,在服务器的计算能力、稳定性、可靠性、安全性、未来扩展性以及方便管理等多个方面,都应对其要求更高水平。         高校没有

    2024年02月01日
    浏览(69)
  • LabVIEW-模拟传感器采集数据并预测数据

    已知某传感器过去的一段时间内采集的数据为d1,d2,d3,......,dn,现欲以m点的数据宽度,预测 tao 步后的数据值,即将一维的时间序列数据重构为如下m+1列的形式: d(1)    d(2 )   .......    d(m),        d(m+tao) d(2)    d(3 )   .......    d(m+1),    d(m+tao+1) ......................

    2024年02月16日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包