github連接以下:https://github.com/cyj-fightman/CanTool java
該軟件用的虛擬串口工具是友善串口調試助手,模擬端口鏈接使用的是VSPDgit
展現下開發界面:其中Main.java爲主要的入口,點擊Main.java運行便可,若不是爲了調試,咱們小組也對軟件進行了打包處理:CanTool.exe爲可運行文件,CanTool.jar爲可執行jar包,均可以運行github
須要提醒的幾點是須要數據庫
1.程序須要將rxtxParallel.dll,rxtxSerial.dll 這兩個文件複製到 C:\Windows\System32 目錄下(無論調試仍是爲了使用都須要的)eclipse
2.程序另外導入RXTXcomm.jar,SerialPortIO.jar兩個jar包(調試須要)工具
3.程序使用eclipse開發,使用SWT/Jface插件,開發語言爲java編碼
4.程序使用java jdk 1.8spa
5.database.txt須要放在可執行文件同一層,方便默認進行解析,固然也能夠在導入功能中導入。調試時放在最頂層目錄。插件
6.程序開發和運行須要配置環境,能夠參照github上面的「」安裝和配置說明「」 https://github.com/cyj-fightman/CanTool/tree/master/CanTool_data
3d
接下來是程序的主界面:
主界面的菜單欄有:文件,參數設置,和關於,
其中文件分爲兩個內容,分別是導出接收到的並解析完成的文件,也是在窗口右邊欄獲取到的數據
導入數據文件是導入定義的數據文件,根據數據文件來解析獲取到的字段擁有的內容
另外有參數設置,用以設置跟串口鏈接是的參數,如波特率,端口,中止位等。
關於:主要是對軟件和本小組成員的一些介紹
來看一下軟件接收功能,首先須要的是模擬對端的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:如數據庫規定取值範圍編輯出錯
以上就是咱們軟件的基本內容
團隊成員:陳煌榕
陳育健
李俊
袁琳琳