公共自行车租赁系统站点控制平台软件设计

2015-09-19 03:42阳,黄俊,李
电视技术 2015年22期
关键词:租车流程图总线

李 阳,黄 俊,李 建

(重庆邮电大学 信号与信息处理重庆市重点实验室,重庆400065)

随着城市交通机动化的发展,交通拥堵、环境污染越来越严重,发展慢行交通,建立公共自行车系统,鼓励更多的出行者采用非机动交通工具,引导居民形成“公共自行车+公共交通”的出行模式,使之成为提高城市交通运行效率和减少环境污染的有效途径,我国许多城市已经开始试点和推行公共自行车服务,公共自行车因此得到了快速发展,正逐渐成为我国公共交通体系中不可或缺的一环[1]。

公共自行车租赁系统主要以当地市民和外地游客为对象,在城市或特定区域范围内提供若干个站点和若干公共自行车,系统可提供人们免费或者象征性收费使用自行车,并能在任意服务站点实现通租通还[2]。

目前,公共自行车系统已发展到第三代,其采用许多现代技术手段,如网络技术、无线通信技术、智能卡技术等。管理中心、租赁站点服务终端、停车器都实现了互联,能够实时进行通信,不仅可以实现异地还车,很多其他交易如会员注册也不受服务站点地理位置的限制[3]。但与此同时,目前的公共自行车系统仍存在一些问题,如:只提供自行车的租赁和管理;高峰期的机动调运能力低下,上班和下班高峰期借车和还车困难;车辆故障不能及时修理解决,刷卡系统时有故障;数据传输速率低下,数据安全没有保证。

本文中所设计的站点控制平台,针对以上问题,提出利用RFID 技术、CAN 总线技术、计算机网络技术等手段的有效的解决方案;CAN 总线技术保证站点控制平台与锁桩部分的数据实施有效且安全可靠;采用TCP、UDP、FTP 等多种通信手段相结合的通信方式,能够处理多种数据,为后台的调度方案提供数据支持,从而解决高峰时期调度车辆难的问题。

1 系统介绍

一个公共自行车租赁系统包含一个站点控制平台及其下的若干锁桩、服务器集群等组成。

站点控制平台通过对锁桩的控制,可以提供车辆租赁服务,此外还提供用户自助服务,用户在此处查询可租还车辆、查询用户和周围网站车辆信息,也可以进行App 租车以及登录并进行个人业务处理。

如图1 所示,站点控制平台与锁桩通过CAN 总线的方式进行通信的,CAN 总线具有实时性强可靠性高的特点,保证了车辆租还的实时可靠;站点控制平台与后台服务平台通过有线和无线两种方式进行通信,在两种方式都可用的情况下,优先使用有线通信方式进行通信,在特殊情况下使用GPRS 方式进行网络通信,保证网络数据能够正常可靠的进行。

图1 公共自行车租赁系统结构图

2 软件设计

站点控制平台的软件设计基于Linux 内核进行应用程序设计。应用程序采用QT 进行开发,站点控制平台的软件设计基于Linux 内核进行应用程序设计。QT 版本为QT4.8.5,开发环境为QtCreator2.4.1,交叉编译器采用arm-linux-gcc-4.4.1,Linux 内核版本Linux3.2.1。整个站点控制平台软件设计运用嵌入式Linux、RFID 无线射频、CAN 总线等技术手段,包括公共自行车租/还管理、数据通信处理、数据存储管理、调度管理的智能管理系统,对自行车租用实现了各站点控制平台之间通租通还、自助服务、操作方便、智能科学管理的要求[4]。自行车租赁站点控制平台的主要功能模块如图2所示。

图2 站点控制平台的主要功能模块

站点控制平台的数据流图如3 所示。从图上可以看出,整个软件设计可以根据多站点控制平台向上可通过网口设备,进行UDP,TCP,NTP 同步以及FTP 通信,多种通信方式保证了各数据处理流程有序进行;向下可通过CAN 总线与锁桩通信;此外还可以通过读卡器模块在站点控制平台进行读/写卡操作。

图3 站点控制平台的数据流图

2.1 初始化程序设计

在站点开启时,需要与后台的服务器进行同步,同时,需要向后台服务平台请求本站点的基本信息以及周围站点的实时信息,同时更新特殊卡的状态信息。具体的初始化流程图如图4 所示。

图4 初始化程序流程图

在站点开启时,需要与后台的服务器进行同步,同步包括时间同步和数据同步;时间同步是指使用NTP 服务与服务器进行时间同步,数据同步是向服务器请求更新本地数据库的数据,同时更新配置文件的内容,与后台数据库保持一致。

2.2 用户卡租车

租车流程如图5 所示,站点控制平台与锁桩通信时采用一应一答形式,用户持卡到锁桩刷卡租车操作时,首先锁桩向站点发出卡校验请求,判断是工作人员的调度卡还是用户卡,若为工作人员的调度卡,则判断为调度车辆操作;若为用户卡,则进行卡片的状态判断;若为特殊卡状态,则拒绝租车。再判断该卡是否已经租车,若已租车且未还车,则拒绝其租车;否则继续判断其卡片内的余额。如果余额足够,超过一次租车所有的最大金额,则允许其租车;否则拒绝租车。

图5 租车流程图

用户一旦成功租车,站点控制平台就会在本地Sqlite 数据库生成租还车数据,同时,修改数据库中锁桩的状态表,保证一旦网络出现故障无法与服务器进行通信,站点能够存储一定量数据。

2.3 用户卡还车

还车流程如图6 所示,用户持卡和自行车到站点控制平台下的锁桩进行还车操作。用户将车推入锁桩后,将卡放在读卡区进行刷卡操作,锁桩获取用户卡中的卡信息和车辆卡中的卡信息,并将卡信息与车辆信息进行比对,如果卡信息与车辆信息匹配,则锁桩向站点控制平台发送还车信息,站点确认信息后返回还车响应信息。用户卡还车流程如图6 所示。

图6 还车流程图

2.4 手机App 租车

手机App 登录界面及用户操作界面如图7 所示。站点控制平台支持用户使用手机App 进行租车。用户需要下载专用的租车软件,在登录后,软件自动匹配最近站点,一旦进入站点范围,就可以租车。用户在App 上可申请租车验证码。在站点控制平台输入验证码后,完成租车操作。

图7 App 租车流程图(截图)

此外,手机App 还提供了多种便捷服务。手机App 提供对其他站点信息进行查询的功能,通过调用Google 地图API函数[5],生成附近站点的地图坐标位置,用户可以在地图上直观的看到站点和网点分布,并可以查询每个站点的信息;此外,手机App 还提供对用户卡的租还车记录的查询操作以及联系客服中心的功能。

3 关键技术

针对传统自行车租赁系统中锁桩与站点控制平台通信可靠性低,实时性差的问题,本次设计采用了CAN 总线通信方式。而在实际使用中,会遇到多个锁桩同时租还车的现象,从而导致在大量数据涌入时数据丢失。本次设计考虑到这一问题,提出FIFO+Hash 算法的解决方案,其基本方法为:首先,对CAN 数据进行优先级区分,高优先级优先处理。其次,采用多线程的方式,使用A 线程对数据进行循环读取,并将读到的CAN 数据插入到设定好的FIFO 队列中,规则为高优先级插入高优先级FIFO,低优先级插入低优先级FIFO,FIFO 队列设定的容量足够大。B 线程则对FIFO 队列进行出队的操作,将得到的CAN 数据根据CAN Id 分别插入Hash 表中,CAN Id 为对应的Key 值,CAN 帧可根据Key 进行组装。在处理数据时,根据Key 值取出相应的CAN 数据。从而解决的在CAN 数据突发量大时数据丢包的问题。具体设计流程如图8 所示。

图8 FIFO+Hash 算法流程图

4 结束语

本文设计的公共自行车站点控制平台,根据实际需求,实现有卡和App 租车两种方式租车,提出并实现了以RJ-45 以太网接口与GPRS 无线通信两种方式与监控中心与服务平台进行数据交互,同时,提出并实现了采用CAN-BUS 与锁桩进行实时有效的通信。本文中的设计从实用性和可靠性方面对已有的公共电动自行车自助服务终端系统进行了优化,下一步的研究方向,是加强手机App 的功能,如通过扫描二维码进行租还车等,逐步取消使用卡片进行操作;同时,将更多的支付平台集成到站点控制平台,使用户可以通过多种支付方式进行租还车。

[1]李婷婷.城市公共自行车租赁点选址规划研究[D].北京:北京交通大学,2010.

[2]黄孝斌,魏剑平,樊勇,等. 物联网助力城市信息化发展——探索城市管理新模式[J].中国科学院院刊,2010(1):64-70.

[3]晏婷,黄俊.电动自行车自助服务终端系统的设计与实现[J].电视技术,2015,39(4):110-113.

[4]陈勇,王宏伟.基于Qt/E 的只能仓储管理便携式终端设计[J].重庆邮电大学学报:自然科学版,2012,24(3):369-373.

[5]徐光侠,封雷,涂演.基于Android 和Google Maps 的生活辅助系统的设计与实现[J].重庆邮电大学学报:自然科学版,2012,24(2):242-247.

猜你喜欢
租车流程图总线
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
抢占消费者心智
租车背后的“学问”
专利申请审批流程图
专利申请审批流程图
网络“卖”豪车为骗钱 租车玩倒卖被判刑
CAN总线并发通信时下位机应用软件设计
租车抵押获利行为的定性及数额认定
多通道ARINC429总线检查仪