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

上传人:b****6 文档编号:7207928 上传时间:2023-05-11 格式:DOCX 页数:14 大小:316.67KB
下载 相关 举报
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第1页
第1页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第2页
第2页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第3页
第3页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第4页
第4页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第5页
第5页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第6页
第6页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第7页
第7页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第8页
第8页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第9页
第9页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第10页
第10页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第11页
第11页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第12页
第12页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第13页
第13页 / 共14页
电动自行车租赁站点服务终端软件设计与实现第4章下.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《电动自行车租赁站点服务终端软件设计与实现第4章下.docx》由会员分享,可在线阅读,更多相关《电动自行车租赁站点服务终端软件设计与实现第4章下.docx(14页珍藏版)》请在冰点文库上搜索。

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

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

4.5服务终端软件功能模块实现

服务终端软件功能模块由用户管理模块、车辆管理模块、站点管理模块和通信管理模块四个模块组成,下面将对各模块的功能进行详细分析和实现。

4.5.1通信模块实现

服务终端采用多种通信方式,包括网络通信、3G无线通信和CAN总线。

1.网络通信

服务终端软件与监管平台采用TCP通信方式。

服务终端软件向监管平台发送数据时,建立QTcpsocket,连接监管平台地址和端口,连接成功则发送数据,然后处理监管平台返回的数据,实现流程如图4.10所示。

图4.10TCP通信程序设计流程图

服务终端还需建立QTcpserver用于监听监管平台发送的数据,数据主要包括黑名单信息、网点信息、站点车桩控制信息、终端控制信息和站点收费信息等。

服务终端收到这些信息后,进行分类处理,将黑名单信息、网点信息和站点收费信息写入数据库,对于控制信息,应遵循控制规则对服务终端和车桩进行停用或者启用。

2.CAN总线通信

服务终端软件以中断方式读取CAN总线发送的数据,流程图如图4.11所示。

图4.11服务终端读取CAN总线数据流程图

由于CAN数据帧格式限制,当数据大小超过6字节时,需要拆分成多帧发送,服务终端设置255字节的缓存can_buffer,待一条数据完整接收后再进行解析处理,对有效数据根据功能码进行分类处理,无效数据丢弃并返回错误信息至车桩。

3.RFID模块信息读取

服务终端通过串口与单片机通信,用户刷卡登录服务终端由串口线程SerialPortThread实现,读取RFID模块采集的用户卡信息,采用中断方式完成用户与服务终端软件之间的交互,图4.12为服务终端读卡操作整体流程。

图4.12服务终端读卡流程图

租赁站点服务终端启动初始化完成后,创建SerialPortThread子线程,解析串口接收数据完成对软件操作用户鉴权,然后响应用户操作,完成与用户的交互。

4.5.2车辆管理模块实现

根据软件模块划分可知,车辆管理模块分为车辆信息采集和车辆充电管理。

通过主动轮询,完成车辆信息采集,从而实现车桩电量监控和充电控制,以及车辆和车桩管理。

1.车辆信息采集

车桩和车辆信息的采集通过PollThread线程实现,服务终端每隔10分钟发送一次轮询信息,轮询流程如图4.13所示。

服务终端软件向租赁站点所有车桩发出含有05H功能码的轮询命令,车桩依次将车辆信息和车桩信息及时返回至服务终端。

图4.13CAN总线轮询流程图

服务终端软件将CAN总线返回的车桩和车辆信息与数据库中存储数据进行比对过滤,将有效的数据存入数据库,无效数据丢弃,异常的数据上报监管平台。

2.租车/还车

服务终端最基本的功能是用户租车和还车,用户租车和还车同时涉及到了网络通信和CAN通信,为简化租车流程和确保车辆安全,一张卡只能租用一辆车。

同时,为方便用户租车,在每个车桩上都有两个RFID控制器,一个用于读写用户卡,另一个用作读写车辆RFID号。

本文设计实现了租车和还车,以及无卡还车,用户在有车的车桩刷卡就可以实现租车,租车流程如图4.14所示。

图4.14租车流程图

用户在车桩刷卡,车桩采集车辆和车桩的信息,通过CAN总线将卡号、卡状态和卡余额等租车相关信息发送至服务终端,服务终端根据车桩返回信息对用户卡进行鉴权,当余额充足时,解锁对应车桩的车锁,并上传用户卡信息和对应车桩的车辆ID号,标注用户卡为租车锁定用户,语音提示用户租车成功;当用户卡余额不足时,进行语音提示。

还车用户只需要将车辆放置到空闲的,并且正常运行的车桩,并在车桩读卡区域刷卡,就可实现用户卡还车。

用户还车时也可以不刷卡,虽然不刷卡简化了用户的还车流程,但会增加电动自行车租赁系统处理的还车复杂程度,还车流程如图4.15所示。

图4.15还车流程图

用户还车时在车桩刷卡,车桩读取用户卡内存储的租车信息和车辆的RFID号上传至服务终端。

服务终端根据上传还车信息进行费用计算,并返回消费信息至车桩,同时将租车记录上传至监管平台,以方便管理和用户查询。

车桩根据返回信息对用户卡进行写卡操作。

服务终端提供无卡租车,用户要在公共电动自行车租赁网站上进行注册和实名认证才能进行无卡租车。

在租赁站点使用终端登录站点免费WiFi,根据WiFi推送页面的操作流程进行租车。

具体操作流程如图4.16所示。

图4.16WiFi用户租车流程图

用户使用终端登录站点WiFi,在租车页面输入需租车辆的ID号并提交给监管平台,监管平台对用户发送信息进行租车权限判断,若拥有租车权限则返回租车确认信息至对应的租赁站点服务终端和用户手机终端。

服务终端控制对应车桩开锁,完成租车;反之提示租车失败。

还车时用户只需将电动自行车推入空闲车桩,车桩自动识别车辆ID并上传还车信息,监管平台根据车辆ID信息计算租车费用,用户通过在线支付方式进行费用结算,完成还车。

4.5.3用户管理模块实现

用户管理模块包括用户查询功能和地图功能。

1.用户管理模块

服务终端软件的不同使用者拥有不同的权限,不同权限用户登录软件使用不同的功能。

用户的登录流程如图4.17所示。

图4.17用户登录流程图

不同类别的用户拥有不同的权限,普通用户只能拥有个人密码修改权限和个人信息修改权限,调度员比普通用户多了一项站点车辆信息查看权限,维修员可以查看站点车辆、车桩和服务终端信息,其中管理员的权限最高,可以对服务终端和车桩进行配置。

2.地图

任何人都可查看本市租赁站点分布、网点分布和电子商务相关信息。

服务终端的电子地图主要是用来标注城市已有的租赁站点和网点,方便用户查询。

用户还可以搜索附近的公交车站、景点、宾馆和饭店,方便出行。

通过查询,可以确认目的地附近是否有租赁站点,方便用户租还车。

同时用户查询时,可以根据用户查询内容推广租赁站点周围商户信息,为用户提供消费便利,提高商家的知名度。

(1)电子地图功能

国内已经有很多免费的电子地图,例如XX地图、高德地图和腾讯地图等。

XX地图有很庞大的用户群体,且免费为开发者提供API接口,JavaScriptAPI、Web服务API、AndroidSDK、iOSSDK、定位SDK、车联网API和LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端和服务器等多种设备,可在多种操作系统下进行地图应用开发[38]。

开发者在开发时,需要申请唯一密钥,以保证数据安全,这些特点使开发变得易于实现且安全,所以服务终端采用XX地图进行二次开发。

XX地图提供了Javascript类参考、极速版JS类参考、Web组件类参考、Android类参考、Flash类参考和iOS类参考等多种类参考,因为QT中的QtWebKit提供了HTML浏览器引擎,可以方便访问网络内容和服务,Javascript作为Web页面中的一种脚本编程语言,可用web系统的客户端和服务器端的编程[39],服务终端软件使用Javascript类参考作为接口。

(2)地图功能实现

本设计基于XX地图API进行二次开发,使用版本为Javascript类v2.0,该套API免费对外开放,为了保证信息的安全性,需要申请密钥。

下面主要对服务终端如何获取XX地图服务和租赁站点在XX地图上的标注做详细设计。

XX地图提供丰富的API供开发者调用,标注流程如图4.18所示。

图4.18地图标注流程图

首先在html文件中使用

建立一个div元素,在该div元素上实现地图实例的创建,如:

varmap=newBMap.Map("allmap");其次使用经纬度坐标或城市名初始化地图,并设置缩放级别,根据使用者的操作,向服务区发出请求,获得相关坐标并在地图上标注。

4.5.4站点管理模块实现

站点管理主要是车辆调度和车辆维修、服务终端管理和车桩管理、广告和网络异常管理。

1.车辆调度和车辆维修

车辆调度和维修管理主要依赖于操作员在车桩上进行操作并刷卡,然后在服务终端相应界面进行数据录入。

服务终端软件使用CanThread实现获取车辆调度和车辆维修信息,CanThread初始化时启动,用于持续监听租车、还车、维修和调度信息。

2.服务终端管理和车桩管理

服务终端管理和车桩管理主要是对车桩和终端进行一键停止/启用功能,同时通过CAN总线轮询采集车桩信息和车辆信息。

服务终端配置信息和车桩配置信息从监管平台通过UdpThread获得,服务终端软件初次启动加入网络,监听监管平台分发的配置广播信息,根据配置信息进行终端配置。

UDP通信流程如图4.19所示。

图4.19UDP通信程序设计流程图

服务终端软件将接收到的配置信息terminalsite.txt和bicyclesiteconfig.txt保存至./file下,terminalsite.txt文件内容主要有终端配置编号ID、租赁站点名称、租赁站点地址、租赁站点车桩数、服务终端状态、站点添加时间、租赁站点经度和租赁站点纬度;bicyclesiteconfig.txt文件主要内容有车桩配置编号ID、车桩起止使用标记和车桩添加时间。

服务终端根据解析配置txt具体内容更新数据库表内容。

服务终端软件UDP程序流程:

(1)程序的初始化,使用QUdpsocket()函数建立一个QUdpsocket。

(2)设置本地地址中的sockaddr_in结构中的变量信息,并进行赋值。

(3)绑定和监听一个固定端口号8800端口,调用bind()函数进行绑定,再检查是否成功,有错误就退出,避免重复运行。

(4)进入监听状态,直到收到监管平台发送的广播信息,并向监管平台请求配置信息。

(5)产生新的进程与客户端进行数据通信交换。

(6)进程结束后断开连接。

3.广告

随着智慧城市智慧交通的发展,在公共电动自行车租赁站点投放广告能够降低公共自行车租赁投资成本,同时还能给市民提供便利。

在电动自行车租赁站点放置LED显示屏播放广告和公告,满足服务终端软件多元化综合需求。

服务终端将从监管平台接收的广告文件存储到./ad目录下,并将播放规则存储到本地数据库。

广告信息数据库表如表4.7所示,在每个服务终端初始化时建立广告信息数据库表用于存储广告播放规则。

表4.7ad_information广告信息表

中文属性

数据字段

数据类型

长度

允许空

约束

站点编号

site_id

char

4

PK

广告格式

ad_type

varchar

4

广告名称

ad_namet

varchar

10

播放规则

ad_play_rule

varchar

4

操作级别

ad_operate_priority

varchar

4

添加时间

ad_add_time

datetime

监管平台统一按照规定的图片和视频格式进行归类传送至服务终端,对不同的租赁站点分发不同的广告,广告信息由广告商提供。

服务终端收到广告文件后,根据播放规则播放。

服务终端还有公告功能,用于发布生活信息或紧急消息。

服务终端同样将从监管平台接收的公告信息存储到./notice目录下,并将播放规则存储到本地数据库进行公告播放。

公告信息由监管平台制定分发,公告数据库表如表4.8所示。

表4.8notice_information公告信息表

中文属性

数据字段

数据类型

长度

允许空

约束

站点编号

site_id

char

4

PK

公告格式

notice_type

varchar

4

公告名称

notice_name

nvarchar

10

播放规则

notice_play_rule

varchar

4

操作级别

notice_operate_priority

varchar

4

添加时间

notice_add_time

datetime

服务终端在夜间通信闲时将广告文件分发至各个服务终端。

在一般情况下,公告的优先级高于广告,因此会先分发优先级别较高的公告信息。

由服务终端软件通过在STcpThread线程里建立Tcpserver实现监听监管平台发送数据,监管平台先将新广告通知发送至服务终端,服务终端根据解析通知内容,通过FTP进行广告信息的获取。

由于公告是文本信息播放简单,本文就不再赘述,下文将分别介绍广告视频文件的获取和播放。

(1)视频传输功能实现

广告文件的远程控制,符合智能化现代社会的要求。

FTP主要实现Internet上控制文件的双向传输。

与大多数Internet服务一样,FTP也是一个客户机/服务器系统。

FTP视频获取流程如4.20所示。

图4.20FTP视频获取流程图

服务终端向作为监管平台发出FTP请求,监管平台通过21号端口控制会话,然后服务终端通过端口20进行广告数据的获取,服务终端将需对接收到的视频进行MD5(Message-DigestAlgorithm5,消息摘要算法)验证,以保证数据接收的正确性和完整性。

(2)视频播放功能实现

QT提供了强大的外部程序调用类,可以方便简单的调用外部程序。

服务终端软件使用MPlayer作为视频播放软件,该软件可移植到嵌入式平台直接使用,有强大的编解码功能,支持绝大多数的视频格式,其稳定性能和播放质量较高。

QT中调用外部程序的方法分为三种:

LinuxC函数、QT中QProcess类中的excute函数和QT中QProcess类中的start函数。

前两种方式是阻塞调用,直到被调用程序结束运行前,都不会执行后边的代码,占用内存大,而第三种方式是非阻塞调用,支持多进程,所以本设计使用第三种方法。

MPlayer的移植比较简单,就不在赘述。

4.网络异常

断网时租赁站点提供“只还不借”服务,且不影响还车计时。

服务终端软件在断网时需要进行数据备份,将站点数据暂存在数据库中,等待网络正常时传输至监管平台,同时还将数据库内容以文本形式备份至SD卡,方便管理员进行数据管理。

4.6界面设计

用户界面在布局、美观性等方面进行的约束和要求是目前系统研发过程中非常重要的因素。

因为开发人员所设计的软件或系统完成后需要面向不同的群体,用户当中有很多对计算机并不精通,因此界面的设计要满足透明性、友好性、实用性以及美观性等原则。

4.6.1界面设计思想

服务终端屏幕相比普通的计算机屏幕尺寸要小,但是功能必须要求能够尽量完善。

在界面设计上,针对服务终端软件,主要有以下几个主要指标:

1.设计直观,采用标准化的布局方式;

2.导航条和按钮配合使用,用户可以方便快捷地找到需要的功能;

3.图片清晰、字体大小合适、画面颜色鲜明,能够突出主题;

4.键盘和触摸屏对应,配合使用,方便用户快速操作[40];

5.各窗口风格一致,体现软件的整体风格,并降低不必要的影响;

6.简洁明了,降低界面占用资源率。

4.6.2界面实现

服务终端软件GUI的实现采用QtCreator,QtCreator提供可视化的设计方式,简化图形界面设计。

QtCreator包括项目生成向导、高级的C++代码编辑器、浏览文件及类的工具,集成了QtDesigner、QtAssistant、QtLinguist、图形化的GDB调试和qmake构建工具等[41]。

同时还具有信号与槽(Signals&Slots)图示调试器,使Qt类结构可一目了然。

图4.21GUI界面设计框架图

服务终端软件GUI界面设计如图4.21所示,分为以下几个模块界面:

租赁站点服务终端软件主界面、管理员界面、普通用户界面、维修员界面、调度员界面和其他界面。

4.7本章小结

本章主要介绍了服务终端软件的设计,首先对进行了开发环境的配置,然后详细设计和实现了服务终端软件的各功能模块,包括角色分配、数据库设计、通信模块设计、车辆管理模块、用户管理模块和站点管理模块,最后对GUI界面设计并实现。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 职业教育 > 职高对口

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

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