一直想做基于安卓的车联网项目,但由于之前没接触过安卓系统,不知道如何下手。在静下心来学习了一个月之后,终于能写点东西出来了。
汽车内部
通信使用的是CAN总线网络,即控制局域网络(Controller Area Network),CAN总线的优点是能够实时处理数据、在恶劣环境下正常工作、成本低且拥有比较高的带宽。汽车不同节点通过CAN总线进行数据共享,因此,想要获得汽车的相关数据(车速、档位和行驶里程等),就需要参与CAN总线通信。
此项目的目标车型为新能源汽车,由于OK210
开发板自身不包含CAN模块,不能直接与CAN总线网络交互,因此在项目中使用带CAN模块的飞思卡尔
单片机读取CAN总线数据,并通过串口将数据传输给OK210开发板,在开发板屏幕上显示诸如车速、档位和电机转速等信息。
为了后续方便扩展开发以及整车电气布置的优化,将单片机与OK210开发板的串口通信通过串口蓝牙模块转化为蓝牙无线通信,以下为结构图:
1、通过飞思卡尔单片机和CAN总线收发器读取CAN网络中的数据,并通过蓝牙模块将数据进行共享:
2、通过蓝牙模块接收共享的数据,并通过串口传送至OK210显示界面:
以上为此项目的基本结构,后面将会对各模块的实现方法及效果进行介绍。