这是我大学期间为了获取车辆信息而构筑的一整套系统,由于没有车,所以专门购买了一个用于模拟OBD(车载诊断系统)数据的模拟器,OBDStm32和OBDSimulator都是在卖家给的源代码基础上进行开发的,本项目主要分为3各部分
- 汽车数据模拟器
- OBD开发助手
- OBD使用场景
├─activity
│ │ DeviceState.java
│ │ MainActivity.java
│ │
│ ├─adapter
│ │ CarDataAdapter.java
│ │ CommandAdapter.java
│ │ LeDeviceListAdapter.java
│ │ PropertyAdapter.java
│ │
│ └─fragment
│ DashBoardFragment.java
│ PubSubFragment.java
│ SettingFragment.java
│
├─model
│ CarData.java
│ Command.java
│ PropertyData.java
│
├─service
│ BluetoothLeService.java
│ MqttService.java
│ Send.java
│
├─setting
│ AppSetting.java
│ BluetoothLeServiceSetting.java
│ MqttSeting.java
│
└─util
DataAnalysed.java
OBDCProtocol.java
其中util中的OBDCProtocol是用来按照格式读取OBD信息的,DataAnalysed则是处理回传信息 如果您选用的OBD传感器和我的不一样,请修改项目中的BluetoothLeService以及DataAnalysed和OBDCProtocol类
本软件使用的是MQTT作为通讯协议,所以如果需要直接使用的话,请下载安装本软件,然后在设置页面输入MQTT的相关信息即可。
├─activity
│ DeviceState.java
│ MainActivity.java
│
├─adapter
│ CarDataAdapter.java
│ LeDeviceListAdapter.java
│
├─database
│ MyDatabaseHelper.java
│
├─fragment
│ CarFragment.java
│ DashBoardFragment.java
│ NavigationFragment.java
│
├─model
│ CarData.java
│ Point.java
│
├─service
│ BluetoothLeService.java
│ MqttService.java
│ Send.java
│
└─util
AppSetting.java
CoordinateConversion.java
DataAnalysed.java
OBDCProtocol.java
本项目和上述开发者辅助工具差不多,基本使用了同样的结构和构架,本项目工程主要是面对希望使用OBD获取车辆信息的人,现在界面和数据分析功能都还不齐全,正在更新中(没车让我很忧伤啊,正在考驾照中)
呃呃呃 这部分内容其实没什么可以看得,我是从淘宝上买家哪里获得的源码,它分为两部分,其中一部分是模拟器本身Stm32的程序,另一部分是电脑.NET的程序,我只是根据自己的需求,新增了随机数功能,让他在原有的数据基础上能够随便+1s -1s之类的而已 →_→
我认真看过了卖家的文档,他其实是用.NET写了一个串口工具,然后还是按照老样子发送AT+SDSxxx:UP之类的指令,所谓的调节精度就是点一下后发送多少次而已,我在思考要不要把它改成直接发送数据的值,然后接受后直接返回当前数据的值,不知道这样会不会更好用一点
这部分的话我也仔细看了下,老实说卖家有一部分函数真的是很毒啊,有很多函数名称都是随便起的,而且刚开始看的时候结构真的很尴尬,他实际上是一个while()循环,然后等待串口数据输入,如果有输入则判断输入数据是什么然后修改相关数据的值,最终通过Kan或者Can等协议发送(不过这部分确实很厉害啊,但对我来说我又不需要改Kan或者Can的协议 hhh)

