今日长缨在手,何时缚住苍龙。这篇文章主要讲述CanToolAPP_成果展示相关的知识,希望能为你提供帮助。
github链接如下:https://github.com/cyj-fightman/CanTool
该软件用的虚拟串口工具是友善串口调试助手,模拟端口连接使用的是VSPD
展示下开发界面:其中Main.java为主要的入口,点击Main.java运行即可,若不是为了调试,我们小组也对软件进行了打包处理:CanTool.exe为可运行文件,CanTool.jar为可执行jar包,都可以运行
需要提醒的几点是需要
1.程序需要将rxtxParallel.dll,rxtxSerial.dll 这两个文件复制到 C:\\Windows\\System32 目录下(不管调试还是为了使用都需要的)
2.程序另外导入RXTXcomm.jar,SerialPortIO.jar两个jar包(调试需要)
3.程序使用eclipse开发,使用SWT/Jface插件,开发语言为java
4.程序使用java jdk 1.8
5.database.txt需要放在可执行文件同一层,方便默认进行解析,当然也可以在导入功能中导入。调试时放在最顶层目录。
【CanToolAPP_成果展示】6.程序开发和运行需要配置环境,可以参照github上面的“”安装和配置说明“”
https://github.com/cyj-fightman/CanTool/tree/master/CanTool_data
文章图片
文章图片
接下来是程序的主界面:
文章图片
主界面的菜单栏有:文件,参数设置,和关于,
其中文件分为两个内容,分别是导出接收到的并解析完成的文件,也是在窗口右边栏获取到的数据
导入数据文件是导入定义的数据文件,根据数据文件来解析获取到的字段拥有的内容
文章图片
文章图片
另外有参数设置,用以设置跟串口连接是的参数,如波特率,端口,停止位等。
文章图片
文章图片
关于:主要是对软件和本小组成员的一些介绍
文章图片
来看一下软件接收功能,首先需要的是模拟对端的Can装置,这边采用友善串口调试助手打开COM2口,波特率设置为115200,数据位8位,停止位1,
文章图片
其中的 t35880011121314151617 为将要发送的数据,该数据经过编码,需要在程序中进行解码操作
程序的解码分为两个部分,首先是解析得到的ID DLC DATA数据:代码如下
文章图片
再通过ID来对应数据库中的ID,以此来获取数据库中的进一步解析方式:如下
文章图片
其中数据库中的856 进行十进制跟十六进制的转换就能得到从t35880011121314151617解析得到的ID,也即是:358:
文章图片
再根据数据库中的内容进行解析生成的DATA:
文章图片
如图所示,(拿第一行举例)每行所对应的重要内容有,
器件名:CDU_HVACOffButtonSt
提取DATA中的起始位和长度:0|1
提取方向:0+
A,B值:(1,0) A为1LSB(Least Significant Bit)代表的物理值大小,也称Factor,B是物理量的偏移量
取值范围:[0|1]
单位名称:"" (这边为空,后面有温度符号 °C)
节点名:HVAC
接下来接收内容:本软件就会将数据获取到并且解析,左边框代表收到的数据,右边框代表解析后的数据与数据库中表内容的对应
文章图片
接下来介绍发送内容:软件可以在窗口直接打字进行发送:
文章图片
在另外一个端口就会收到内容:
文章图片
同时本软件还提供了智能发送的功能,因为需要将编码后的数据发送给下一层的Can装置,而编码结果很难人工把握,比如编码t35880011121314151617就很难看懂,
因此完成了智能发送的功能:
点击智能发送可以看到另一个窗口弹出:
文章图片
点击任意的对应的数据库表名:表名也是从数据的对应的ID后面提取出来的:
如点击CDU_1出现如下内容:
文章图片
在此表格的数值上可以进行编辑,编辑完成之后点击×,即可退出该窗口,同时,在主窗口的发送框内出现了需要发送的编码内容:
文章图片
点击发送,发现对端已经接收到内容了
文章图片
附:此外添加了一下错误提示:
1:如参数设置界面出错:
文章图片
2:如数据库规定取值范围编辑出错
文章图片
文章图片
以上就是我们软件的基本内容
团队成员:陈煌榕
陈育建
李俊
袁琳琳
推荐阅读
- APP测试基本流程
- mybatis自动生成mapper,dao映射文件
- Unity调用讯飞做语音听写(Android Studio版)
- mac android studio 出现 Error: SDK location not found. Define location with sdk.dir in the local.prope
- android百度地图SDKInitializer.initialize(getApplicationContext());
- 关于sys.path.append()
- 最新版 INSPINIA IN+ - WebApp Admin Theme v2.7.1,包含asp.net MVC5示例代码,做管理系统最佳的选择。
- Android Handler研究
- Android 实现手写板技术