摘要:介绍了农业车辆智能终端控制系统的整体框架结构,从车辆信息采集模块和STM32控制器等多方面介绍了系统硬件部分,并从系统框架和系统软件设计两方面介绍了Android应用程序设计和开发重点。农用车辆定位服务验证试验表明:系统能够对农用车辆进行精准的定位服务,证明了系统具有一定的可行性和实用性。
关键词:农业车辆;智能终端;STM32;Android;定位服务
0引言
近年来,复杂的信息控制技术使汽车工业在移动终端领域取得了很大的进步,汽车的移动终端设备涉及4G通信、物联网、电子信息技术的自动融合。到目前为止,不少的农业车辆制造商和第三方服务提供商开始研发如车辆故障诊断、车辆状态显示、远程监控及驾驶辅助等智能终端应用程序。本文结合Android和嵌入式控制技术,设计了一套农业车辆智能终端控制系统,能够实现对农业车辆状态的智能显示和实时控制。
1系统整体结构设计
农业车辆智能终端控制系统工作原理是运用嵌入式、传感技术、GPS、GPRS及移动设备等多种技术,采集农用车辆的行车状态和GPS信息,在Android实时显示这些信息,让驾驶员实时了解车辆信息,并通过GPRS信号将工作状态传回至后台集中检测中心。农业车辆智能终端控制系统整体结构如图1所示。
农业车辆智能终端控制系统包括车辆信息采集模块、GPS模块、GPRS通信模块、屏幕显示、语音设备、APP模块、MPU6050、SDRAM、时钟、电源及复位等。其中,车辆信息采集模块可以自动获取实时的车辆故障码和动力系统、电气系统等车内系统的数据流,主要功能是实现现场总线数据通信及自身电源的调理;GPRS通信模块,使用GC65无线通信模块或者第三代移动通信技术,支持基站定位、TCP/IP数据传输,可实现远程数据传输及云端数据共享功能;GPS定位模块可提供车辆实时的经纬度位置信息,并利用卫星实时传输更新系统时间,保证时间准确性;倾角与振动检测模块使用了MPU6050(3轴加速度传感器+3轴角速度传感器)模块,对系统提供实时的加速度信息,以此为依据,记录车辆行驶行为(加速、减速、变道)。
2系统硬件设计
1)STM32处理器。STM32F103系列是意法半导体(ST)公司设计的高性能、低功耗和低成本的芯片,采用超低功耗的ARMCortex-M3设计。ARMCortex-M3是基于ARMv7-M架构的处理器,采用了哈佛结构,拥有相互独立的指令总线和数据总线,可以实现取指令和数据访问并行执行。本系统选用STM32F103RCT6芯片,CPU工作频率高达72MHz,拥有256kB的FLASH闪存和48kB的SRAM,芯片共有64个管脚,可用于外围传感器或其他存储设备通信。
2)车辆信息采集模块设计。车辆信息采集模块采用人工智能技术,对数据流进行分析分类,得到故障特征信息,根据车辆传感器数据量比较小的特点,系统选取了支持向量机(SVM,SupportVectorMachine)作为分类算法。支持向量机理论是基于统计学习理论与结构风险最小化原则,具有完整的理论体系结构的机器学习理论。
3、Android软件开发与设计
3.1Android系统框架
Android操作系统是谷歌于2007年正式公布推出的一款智能手机系统平台,是在Linux内核上进行开发设计的,并采用Androidframework层与Linuxkernel进行隔开。Android系统框架如图4所示。
Android系统可以分为Java应用层、Framework层、Libraries层和Linux层等4层。其中,Java应用层是采用Java语言开发,可以与用户直接进行交互的应用程序;Framework层大多采用Java语言开发,是Android系统中Java的基石;Libraries层大多采用C/C++开发,可以被称之为Native层;Linux内核层包含了Linux内核和所有的驱动模块,其直接可对硬件进行控制。
3.2Android系统软件设计
1)Eclipse开发软件安装。移动客户端的开发环境选择Eclipse,为了实现其完整的开发作用,需要对环境进行一系列的搭建,ADT安装界面如图5所示。
(1)安装JDK,配置环境变量,提供java代码编译和运行的环境;
(2)安装ADT插件(androiddevelopertools)为Android开发提供开发工具;
(3)下载安装SDK(SoftwareDevelopmentKit),提供应用程序所需要的框架,库类函数等;
(4)打开模拟器,模拟器可以选择系统模拟器或者夜神模拟器,点击工具栏图标AndroidVirtualDeviceManager,选择Create创建,设置相关属性后,点击OK,选择该模拟器start、launch启动运行;
(5)打开DDMS(DalvikDebugMonitorService),即Dalvik虚拟机调试监控服务,方便进行功能调试。
2)Android应用程序组件。Android移动客户端的开发离不开组件的支持,开发设计时,根据各个组件的功能及应用方向可将其分为4大类别组件:Activity、Service、Broadcast、Receiver(广播接收者),以及ContentProvider(内容提供者)。
(1)Activity。每个移动客户端由多个Activity组成,显示界面将在各个Activity间进行跳转。作为程序设计开发的重点,在Activity中运行着大部分的程序流程,对应着与用户交互的窗口。在Activity中可对Button、TextView等控件进行添加,对控件进行监听实现跳转的相关逻辑,同时每一个Activity都是与用户进行交互的接口。
(2)Service。Service作为Android的组件之一,与Activity不同的是只能在后台运行且没有用户界面。因为在后台运行的Service服务不存在时间限制,所以它常用来执行需要持续运行的任务,且Service服务在应用程序中的主线程内运行,对于耗时任务将派生新的线程来进行。
(3)BroadcastReceiver。广播是在应用程序之间传输信息的机制,而BroadcastReceiver则是对发送出来的广播进行过滤接受并响应的一类组件。其注册方式有两种,既可选择在配置文件AndroidManifest.xml中注册也可通过代码Context.registerReceive()进行注册,且BroadcastReceiver和Service一样,不存在界面。
(4)ContentProvider。在Android中,对数据的保护十分严密,应用程序所具有的数据库、文件等内容,不允许其他直接访问,而主要用于Android应用程序的数据存储管理的ContentProvider组件则提供了一种访问的方式。应用程序通过创建ContentResolver对象,调用它的方法对数据进行访问。
4试验
农业车辆智能终端控制系统包括农用车辆定位服务、行驶状态实时显示及防盗等应用程序,为了验证基于Android的农业车辆智能终端控制系统是否满足设计要求,以农用车辆定位服务应用程序为例,对该系统进行验证。农用车辆定位服务主要包括配置、GNSS数据显示、软件日志和地图显示灯等4个模块,在使用定位程序之前,需要在定位服务应用程序界面进行信息配置。设置卫星导航定位算法和接收机定位参数输出等参数格式,如图6左侧所示,农用车辆定位服务定位显示如图6右侧所示。
由图6可以看出:在对定位服务应用程序设置查分服务器IP、参考基站数据输出、卫星导航定位算法、接收机定位参数输出等参数格式后,系统能够对农用车辆进行精准的定位服务,证明了系统具有一定的可行性和实用性。
5结论
采用物联网、Android和智能控制系统,设计了农业车辆智能终端控制系统,可以实现车辆定位服务、行驶状态实时显示、防盗等多种功能。在农用车辆定位服务应用程序是否可行的验证试验中,对定位服务应用程序导航定位的参数后,系统能够对农用车辆进行精准的定位服务,证明了系统具有一定的可行性和实用性。
相关期刊推荐:《农机化研究》为农业工程类学术期刊,创办于1979年,其投稿要以紧紧围绕大农业概念下(包括农、林、《农机化研究》牧、副、渔)的机械化、电气化、自动化及数字化相关的新理论、新技术、新成果和综合述评为核心内容,语言精炼、结构完整、表达准确。主要栏目包括:农业发展新视点、理论研究与探讨、设计制造、试验研究、新技术应用、环境与能源动力工程、综述、短文。有投稿需求的作者,可以咨询期刊天空在线编辑。
* 稍后学术顾问联系您