ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:316.67KB ,
资源ID:7207928      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7207928.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电动自行车租赁站点服务终端软件设计与实现第4章下.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

电动自行车租赁站点服务终端软件设计与实现第4章下.docx

1、电动自行车租赁站点服务终端软件设计与实现第4章下4.5 服务终端软件功能模块实现服务终端软件功能模块由用户管理模块、车辆管理模块、站点管理模块和通信管理模块四个模块组成,下面将对各模块的功能进行详细分析和实现。4.5.1 通信模块实现服务终端采用多种通信方式,包括网络通信、3G无线通信和CAN总线。1. 网络通信服务终端软件与监管平台采用TCP通信方式。服务终端软件向监管平台发送数据时,建立QTcpsocket,连接监管平台地址和端口,连接成功则发送数据,然后处理监管平台返回的数据,实现流程如图4.10所示。图4.10 TCP通信程序设计流程图服务终端还需建立QTcpserver用于监听监管平

2、台发送的数据,数据主要包括黑名单信息、网点信息、站点车桩控制信息、终端控制信息和站点收费信息等。服务终端收到这些信息后,进行分类处理,将黑名单信息、网点信息和站点收费信息写入数据库,对于控制信息,应遵循控制规则对服务终端和车桩进行停用或者启用。2. CAN总线通信服务终端软件以中断方式读取CAN总线发送的数据,流程图如图4.11所示。图4.11 服务终端读取CAN总线数据流程图由于CAN数据帧格式限制,当数据大小超过6字节时,需要拆分成多帧发送,服务终端设置255字节的缓存can_buffer,待一条数据完整接收后再进行解析处理,对有效数据根据功能码进行分类处理,无效数据丢弃并返回错误信息至车

3、桩。3. RFID模块信息读取服务终端通过串口与单片机通信,用户刷卡登录服务终端由串口线程SerialPortThread实现,读取RFID模块采集的用户卡信息,采用中断方式完成用户与服务终端软件之间的交互,图4.12为服务终端读卡操作整体流程。图4.12 服务终端读卡流程图租赁站点服务终端启动初始化完成后,创建SerialPortThread子线程,解析串口接收数据完成对软件操作用户鉴权,然后响应用户操作,完成与用户的交互。4.5.2 车辆管理模块实现根据软件模块划分可知,车辆管理模块分为车辆信息采集和车辆充电管理。通过主动轮询,完成车辆信息采集,从而实现车桩电量监控和充电控制,以及车辆和车

4、桩管理。1. 车辆信息采集车桩和车辆信息的采集通过PollThread线程实现,服务终端每隔10分钟发送一次轮询信息,轮询流程如图4.13所示。服务终端软件向租赁站点所有车桩发出含有05H功能码的轮询命令,车桩依次将车辆信息和车桩信息及时返回至服务终端。图4.13 CAN总线轮询流程图服务终端软件将CAN总线返回的车桩和车辆信息与数据库中存储数据进行比对过滤,将有效的数据存入数据库,无效数据丢弃,异常的数据上报监管平台。2. 租车/还车服务终端最基本的功能是用户租车和还车,用户租车和还车同时涉及到了网络通信和CAN通信,为简化租车流程和确保车辆安全,一张卡只能租用一辆车。同时,为方便用户租车,

5、在每个车桩上都有两个RFID控制器,一个用于读写用户卡,另一个用作读写车辆RFID号。本文设计实现了租车和还车,以及无卡还车,用户在有车的车桩刷卡就可以实现租车,租车流程如图4.14所示。图4.14 租车流程图用户在车桩刷卡,车桩采集车辆和车桩的信息,通过CAN总线将卡号、卡状态和卡余额等租车相关信息发送至服务终端,服务终端根据车桩返回信息对用户卡进行鉴权,当余额充足时,解锁对应车桩的车锁,并上传用户卡信息和对应车桩的车辆ID号,标注用户卡为租车锁定用户,语音提示用户租车成功;当用户卡余额不足时,进行语音提示。还车用户只需要将车辆放置到空闲的,并且正常运行的车桩,并在车桩读卡区域刷卡,就可实现

6、用户卡还车。用户还车时也可以不刷卡,虽然不刷卡简化了用户的还车流程,但会增加电动自行车租赁系统处理的还车复杂程度,还车流程如图4.15所示。图4.15 还车流程图用户还车时在车桩刷卡,车桩读取用户卡内存储的租车信息和车辆的RFID号上传至服务终端。服务终端根据上传还车信息进行费用计算,并返回消费信息至车桩,同时将租车记录上传至监管平台,以方便管理和用户查询。车桩根据返回信息对用户卡进行写卡操作。服务终端提供无卡租车,用户要在公共电动自行车租赁网站上进行注册和实名认证才能进行无卡租车。在租赁站点使用终端登录站点免费WiFi,根据WiFi推送页面的操作流程进行租车。具体操作流程如图4.16所示。图

7、4.16 WiFi用户租车流程图用户使用终端登录站点WiFi,在租车页面输入需租车辆的ID号并提交给监管平台,监管平台对用户发送信息进行租车权限判断,若拥有租车权限则返回租车确认信息至对应的租赁站点服务终端和用户手机终端。服务终端控制对应车桩开锁,完成租车;反之提示租车失败。还车时用户只需将电动自行车推入空闲车桩,车桩自动识别车辆ID并上传还车信息,监管平台根据车辆ID信息计算租车费用,用户通过在线支付方式进行费用结算,完成还车。4.5.3 用户管理模块实现用户管理模块包括用户查询功能和地图功能。1. 用户管理模块服务终端软件的不同使用者拥有不同的权限,不同权限用户登录软件使用不同的功能。用户

8、的登录流程如图4.17所示。图4.17 用户登录流程图不同类别的用户拥有不同的权限,普通用户只能拥有个人密码修改权限和个人信息修改权限,调度员比普通用户多了一项站点车辆信息查看权限,维修员可以查看站点车辆、车桩和服务终端信息,其中管理员的权限最高,可以对服务终端和车桩进行配置。2. 地图任何人都可查看本市租赁站点分布、网点分布和电子商务相关信息。服务终端的电子地图主要是用来标注城市已有的租赁站点和网点,方便用户查询。用户还可以搜索附近的公交车站、景点、宾馆和饭店,方便出行。通过查询,可以确认目的地附近是否有租赁站点,方便用户租还车。同时用户查询时,可以根据用户查询内容推广租赁站点周围商户信息,

9、为用户提供消费便利,提高商家的知名度。(1) 电子地图功能国内已经有很多免费的电子地图,例如XX地图、高德地图和腾讯地图等。XX地图有很庞大的用户群体,且免费为开发者提供API接口,JavaScript API、Web服务API、Android SDK、iOS SDK、定位SDK、车联网API和LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端和服务器等多种设备,可在多种操作系统下进行地图应用开发38。开发者在开发时,需要申请唯一密钥,以保证数据安全,这些特点使开发变得易于实现且安全,所以服务终端采用XX地图进行二

10、次开发。XX地图提供了Javascript类参考、极速版JS类参考、Web组件类参考、Android类参考、Flash类参考和iOS类参考等多种类参考,因为QT中的QtWebKit提供了HTML浏览器引擎,可以方便访问网络内容和服务,Javascript作为Web页面中的一种脚本编程语言,可用web系统的客户端和服务器端的编程39,服务终端软件使用Javascript类参考作为接口。 (2) 地图功能实现本设计基于XX地图API进行二次开发,使用版本为Javascript类v2.0,该套API免费对外开放,为了保证信息的安全性,需要申请密钥。下面主要对服务终端如何获取XX地图服务和租赁站点在X

11、X地图上的标注做详细设计。XX地图提供丰富的API供开发者调用,标注流程如图4.18所示。图4.18 地图标注流程图首先在html文件中使用建立一个div元素,在该div元素上实现地图实例的创建,如:var map = new BMap.Map(allmap);其次使用经纬度坐标或城市名初始化地图,并设置缩放级别,根据使用者的操作,向服务区发出请求,获得相关坐标并在地图上标注。4.5.4 站点管理模块实现站点管理主要是车辆调度和车辆维修、服务终端管理和车桩管理、广告和网络异常管理。1. 车辆调度和车辆维修车辆调度和维修管理主要依赖于操作员在车桩上进行操作并刷卡,然后在服务终端相应界面进行数据录

12、入。服务终端软件使用CanThread实现获取车辆调度和车辆维修信息,CanThread初始化时启动,用于持续监听租车、还车、维修和调度信息。2. 服务终端管理和车桩管理服务终端管理和车桩管理主要是对车桩和终端进行一键停止/启用功能,同时通过CAN总线轮询采集车桩信息和车辆信息。服务终端配置信息和车桩配置信息从监管平台通过UdpThread获得,服务终端软件初次启动加入网络,监听监管平台分发的配置广播信息,根据配置信息进行终端配置。UDP通信流程如图4.19所示。图4.19 UDP通信程序设计流程图服务终端软件将接收到的配置信息terminalsite.txt和bicyclesiteconfi

13、g.txt保存至./file下,terminalsite.txt文件内容主要有终端配置编号ID、租赁站点名称、租赁站点地址、租赁站点车桩数、服务终端状态、站点添加时间、租赁站点经度和租赁站点纬度;bicyclesiteconfig.txt文件主要内容有车桩配置编号ID、车桩起止使用标记和车桩添加时间。服务终端根据解析配置txt具体内容更新数据库表内容。服务终端软件UDP程序流程:(1) 程序的初始化,使用QUdpsocket()函数建立一个QUdpsocket。(2) 设置本地地址中的sockaddr_in结构中的变量信息,并进行赋值。(3) 绑定和监听一个固定端口号8800端口,调用bind

14、()函数进行绑定,再检查是否成功,有错误就退出,避免重复运行。(4) 进入监听状态,直到收到监管平台发送的广播信息,并向监管平台请求配置信息。(5) 产生新的进程与客户端进行数据通信交换。(6) 进程结束后断开连接。3. 广告随着智慧城市智慧交通的发展,在公共电动自行车租赁站点投放广告能够降低公共自行车租赁投资成本,同时还能给市民提供便利。在电动自行车租赁站点放置LED显示屏播放广告和公告,满足服务终端软件多元化综合需求。服务终端将从监管平台接收的广告文件存储到./ad目录下,并将播放规则存储到本地数据库。广告信息数据库表如表4.7所示,在每个服务终端初始化时建立广告信息数据库表用于存储广告播

15、放规则。表4.7 ad_information广告信息表中文属性数据字段数据类型长度允许空约束站点编号site_idchar4PK广告格式ad_typevarchar4广告名称ad_nametvarchar10播放规则ad_play_rulevarchar4操作级别ad_operate_priorityvarchar4添加时间ad_add_timedatetime监管平台统一按照规定的图片和视频格式进行归类传送至服务终端,对不同的租赁站点分发不同的广告,广告信息由广告商提供。服务终端收到广告文件后,根据播放规则播放。服务终端还有公告功能,用于发布生活信息或紧急消息。服务终端同样将从监管平台接收

16、的公告信息存储到./notice目录下,并将播放规则存储到本地数据库进行公告播放。公告信息由监管平台制定分发,公告数据库表如表4.8所示。表4.8 notice_information公告信息表中文属性数据字段数据类型长度允许空约束站点编号site_idchar4PK公告格式notice_typevarchar4公告名称notice_namenvarchar10播放规则notice_play_rulevarchar4操作级别notice_operate_priorityvarchar4添加时间notice_add_timedatetime服务终端在夜间通信闲时将广告文件分发至各个服务终端。在一

17、般情况下,公告的优先级高于广告,因此会先分发优先级别较高的公告信息。由服务终端软件通过在STcpThread线程里建立Tcpserver实现监听监管平台发送数据,监管平台先将新广告通知发送至服务终端,服务终端根据解析通知内容,通过FTP进行广告信息的获取。由于公告是文本信息播放简单,本文就不再赘述,下文将分别介绍广告视频文件的获取和播放。(1) 视频传输功能实现广告文件的远程控制,符合智能化现代社会的要求。FTP主要实现Internet上控制文件的双向传输。与大多数Internet服务一样,FTP也是一个客户机/服务器系统。FTP视频获取流程如4.20所示。图4.20 FTP视频获取流程图服务

18、终端向作为监管平台发出FTP请求,监管平台通过21号端口控制会话,然后服务终端通过端口20进行广告数据的获取,服务终端将需对接收到的视频进行MD5(Message-Digest Algorithm 5,消息摘要算法)验证,以保证数据接收的正确性和完整性。(2) 视频播放功能实现QT提供了强大的外部程序调用类,可以方便简单的调用外部程序。服务终端软件使用MPlayer作为视频播放软件,该软件可移植到嵌入式平台直接使用,有强大的编解码功能,支持绝大多数的视频格式,其稳定性能和播放质量较高。QT中调用外部程序的方法分为三种:Linux C函数、QT中QProcess类中的excute函数和QT中QP

19、rocess类中的start函数。前两种方式是阻塞调用,直到被调用程序结束运行前,都不会执行后边的代码,占用内存大,而第三种方式是非阻塞调用,支持多进程,所以本设计使用第三种方法。MPlayer的移植比较简单,就不在赘述。4. 网络异常断网时租赁站点提供“只还不借”服务,且不影响还车计时。服务终端软件在断网时需要进行数据备份,将站点数据暂存在数据库中,等待网络正常时传输至监管平台,同时还将数据库内容以文本形式备份至SD卡,方便管理员进行数据管理。4.6 界面设计用户界面在布局、美观性等方面进行的约束和要求是目前系统研发过程中非常重要的因素。因为开发人员所设计的软件或系统完成后需要面向不同的群体

20、,用户当中有很多对计算机并不精通,因此界面的设计要满足透明性、友好性、实用性以及美观性等原则。4.6.1 界面设计思想服务终端屏幕相比普通的计算机屏幕尺寸要小,但是功能必须要求能够尽量完善。在界面设计上,针对服务终端软件,主要有以下几个主要指标:1. 设计直观,采用标准化的布局方式;2. 导航条和按钮配合使用,用户可以方便快捷地找到需要的功能;3. 图片清晰、字体大小合适、画面颜色鲜明,能够突出主题;4. 键盘和触摸屏对应,配合使用,方便用户快速操作40;5. 各窗口风格一致,体现软件的整体风格,并降低不必要的影响;6. 简洁明了,降低界面占用资源率。4.6.2 界面实现服务终端软件GUI的实

21、现采用Qt Creator,Qt Creator提供可视化的设计方式,简化图形界面设计。Qt Creator包括项目生成向导、高级的C+代码编辑器、浏览文件及类的工具,集成了Qt Designer、Qt Assistant、Qt Linguist、图形化的GDB调试和qmake构建工具等41。同时还具有信号与槽(Signals&Slots)图示调试器,使Qt类结构可一目了然。图4.21 GUI界面设计框架图服务终端软件GUI界面设计如图4.21所示,分为以下几个模块界面:租赁站点服务终端软件主界面、管理员界面、普通用户界面、维修员界面、调度员界面和其他界面。4.7 本章小结本章主要介绍了服务终端软件的设计,首先对进行了开发环境的配置,然后详细设计和实现了服务终端软件的各功能模块,包括角色分配、数据库设计、通信模块设计、车辆管理模块、用户管理模块和站点管理模块,最后对GUI界面设计并实现。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2