APP下载

基于物联网技术的出租车调度系统设计*

2014-09-13姚仲敏姚天健龙昭鹏

计算机工程与科学 2014年8期
关键词:站牌出租车路由

姚仲敏,姚天健,龙昭鹏,李 强

(齐齐哈尔大学通信与电子工程学院,黑龙江 齐齐哈尔 161006)

基于物联网技术的出租车调度系统设计*

姚仲敏,姚天健,龙昭鹏,李 强

(齐齐哈尔大学通信与电子工程学院,黑龙江 齐齐哈尔 161006)

针对目前基于站牌调度的出租车调度系统存在的易出现乘客抢上车插队、调度没有最优化和乘客/出租车爽约现象频发的不足,提出了基于物联网技术的出租车调度系统。系统在原站牌调度系统基础上,增加了感知层射频识别(RFID)读写器、传输层通用分组无线服务技术(GPRS)网关模块和应用层调度管理中心等。测试结果表明,该系统能够实现在城市内的各站牌预约点近距离调度站牌附近出租车,调度管理中心可实现各站牌点调度结果的管理与查询。

物联网;调度系统;ZigBee;射频识别;通用分组无线服务技术

1 引言

出租车调度系统一定程度上解决了“人找车,车找人”的现象,降低了城市出租车空载率。目前的出租车调度系统主要有:电话调度[1,2]、GPS调度[3~6]、站牌调度[7~9]等。

出租车电话调度具有可随时随地叫车的优点,但需乘客拨打出租车调度中心电话与话务员座席沟通确认乘客位置,方能人工调度附近的出租车前往搭载乘客,交互过程长、调度效率低,不适于快节奏的打车需求。GPS调度是根据乘客实时的GPS位置信息进行调度的出租车调度系统,乘客可以通过短信和手机软件发送GPS位置信息至调度中心,调度中心采用Dijkstra算法,自动调度附近的出租车搭载乘客。该方法采取自动调度,节省了人工座席服务的支出。但是,由于乘客位置是GPS信息,需要出租车安装有电子导航仪。电子导航仪价格贵,有升级费用,出租车司机消费高,难以普及。站牌调度系统通过站牌和出租车车载应答子系统进行无线通信,实现城市出租车预约功能。该系统中乘客和出租车司机直接交互,无需调度中心等第三方平台。站牌即乘客位置,各站牌采用统一编码,通过编码信息即可得知乘客所在精确位置,无需GPS定位系统,乘客定位简单准确。站牌调度虽然具有不依赖调度中心和GPS定位系统、交互直接、调度快和设备费用低等优点,但目前的站牌调度系统还存在以下不足:(1)司机没有乘客信息,仅乘客知道出租车车牌号,而且乘客没有具体凭证,多位乘客叫车时,司机不能辨别乘客,容易出现乘客抢车插队现象;(2)根据出租车司机响应结果来决定出租车调度对象,没有考虑出租车具体路程,不能确保是最优的调度结果;(3)缺乏乘客和出租车司机双方的诚信约束措施,爽约现象频发,造成司乘双方支持信心不足,对推广实施不利。

为解决上述不足,本文在传统的站牌调度系统上进行较大改进,提出基于物联网感知、传输、应用三层架构的出租车调度系统方案。方案采用乘客刷卡预约出租车的方式,用以解决乘客插队和诚信问题;通过增加信号中继节点,扩大出租车调度范围;并采用JN5139作为核心处理模块进行系统设计,用Jennic ZigBee协议组建ZigBee树状拓扑网络,结合Cskip地址分配算法和AODVjr路由算法,选择最佳出租车调度对象,实现乘客“自助式”、可靠、快速的出租车调度。

Figure 1 System structure图1 系统结构

2 系统结构

本系统基于物联网感知、传输、应用三层体系架构,三层功能分布在系统的站牌预约点子系统、车载应答子系统、ZigBee中继节点和调度管理中心四部分实体中实现。系统在原站牌调度系统基础上,增加架构了感知层RFID读写器、ZigBee中继节点、传输层GPRS(General Packet Radio Service)网关模块和应用层调度管理中心等。

站牌预约点子系统安装在经常出现打车行为的道路边(如大型商场、小区、学区、写字楼等),乘客通过RFID刷卡预约车,采用ZigBee无线通信方式发布乘客打车信息、接收出租车司机应答信息,并用GPRS上传调度结果信息。车载应答子系统安装在出租车内,用于接收乘客打车信息、发送司机应答信息和乘客上车刷卡核对卡号。ZigBee中继节点安装在信号较弱处,用于转发ZigBee无线信号,扩大调度范围。调度管理中心负责接收、保持和查询GPRS上传的调度结果信息和司乘双方守约爽约信息等,建立乘客预扣定金、出租车爽约扣罚金和扣罚金补偿给守约方的双重机制,促使双方遵守诚信。系统结构如图1所示。

3 系统硬件设计

该系统主要通过感知层实现分布在城市内的多站牌点近距离出租车调度功能。该层以分布在城市内的站牌预约点为网络协调器节点,信号中继装置为路由器节点,构成不断将行驶进入站牌限定范围内的出租车车载应答子系统加入为网络终端节点的多个动态ZigBee自组网络。站牌预约点子系统主要包括ZigBee无线通信模块、RFID读写器模块、GPRS网关模块、显示模块和电源模块,站牌预约点子系统框图如图2所示。

Figure 2 Block diagram of taxi-booking subsystem图2 站牌预约点子系统框图

站牌预约点子系统ZigBee无线通信模块负责搭建ZigBee网络,控制RFID读写器模块工作,无线传输乘客打车信息、将违约/调度结果信息通过串口发送给GPRS网关模块;RFID读写器模块供乘客刷卡发送打车信息和预约成功后预扣定金;GPRS网关模块发送调度结果和爽约信息至调度管理中心;显示模块显示乘客预约打车结果。

ZigBee无线通信模块采用JN5139-Z01-M02(以下简称JN5139),其具有使用免费频段、无线自组网等优点,适用于出租车和乘客之间通信。RFID读写器模块采用Mifare RC522读写卡芯片,它是一款低电压、低成本、体积小的非接触式读写卡芯片。GPRS网关模块采用SIMCOM公司的SIM300模块,它具有GSM和GPRS功能。显示器模块采用VL-TS-COG-BT12864(以下简称BT12864)系列液晶显示器。

站牌预约点子系统中,核心处理器是JN5139,其他各模块都需要和JN5139进行通信。JN5139、RC522、SIM300和BT12864各通信接口如下:JN5139具有SPI串行接口(可选择五个从属SPI设备)和两个UART;RC522有SPI、I2C、UART三种接口,这三种接口的最高通信速率分别为10 Mbit/s、3 400 Kbit/s和1 228.8 Kbit/s;SIM300与外部接口为UART;BT12864有串行接口(SPI接口)和并行接口两种。

系统电路设计按照电路简单、较少使用JN5139的DIO接口和通信速率较快的要求,结合各模块的通信接口标准,设计的通信接口电路如图3所示。图3中,JN5139和BT12864、RC522采用SPI串行接口通信,通信速率分别为2 Mbit/s、1 Mbit/s;JN5139和SIM300之间采用UART通信,通信波特率为19 200 baud/s。

Figure 3 JN5139 interface with modules图3 JN5139与各模块接口

站牌预约点子系统中JN5139、RC522、BT12864都可采用3.3 V供电。而SIM300需要4 V供电,而且要求能够提供最大2 A的瞬时电流,取市电(220 V交流电)输入变压器后得12 V电压,采用可以调节输出电压的稳压芯片LM2756。LM2756输出电压Vo=1.23×(1+R1/R2)。其中R1取4.7 kΩ,R2取2 kΩ,经整流滤波后输出4.12 V电压,符合SIM300的工作要求。将此4.12 V电压输入稳压芯片LP2985,输出端接电容滤波,得到较为稳定的3.3 V电压,给其它模块供电。

本文硬件设计部分主要介绍站牌预约点子系统的硬件电路设计,车载应答子系统各模块与站牌预约点子系统各模块大体相同,将站牌预约子系统的GPRS网关模块(SIM300)换成语音识别模块即为车载应答子系统。ZigBee中继节点即JN5139模块加上电源模块。

4 系统软件设计

乘客需在站牌预约点刷卡,站牌预约点子系统通过动态ZigBee自组网络组播一则打车消息。若有多位出租车司机回复,选择路由最短的作为调度对象。站牌预约点子系统调度流程如图4所示。

Figure 4 Flowchart of taxi-booking subsystem图4 站牌预约点子系统流程

JN5139通过配置RC522寄存器控制读写器进行相应工作,需要注意的是在使用SPI总线读取RC522的FIFO-Buffer时,写第一次地址读出来的是无效值,写第二次地址返回第一次的数据,写第三次地址返回第二次的数据,以此类推。RFID读写器选定卡片扣除预约金的部分代码如下:

voidctrlprocess(void){

Rc522Reset();

Rc522Request(PICC_REQIDL,&RevBuffer[0]);

Rc522Anticoll(&RevBuffer[2]);

memcpy(MLastSelectedSnr,&RevBuffer[2],4);

Rc522Select(MLastScelectedSnr);

Rc522Value(unsigned chardd_mode,unsigned charaddr,unsigned char *pValue);}

构建出租车调度系统的动态ZigBee自组网,需对网络内协调器、路由、终端节点进行配置,特别是要不断动态地发现和将行驶进入站牌点限定范围内的出租车车载单元加入成为网络终端节点。本系统网络默认的信道可能在一些场合中已被其他系统使用,故各站牌预约点子系统可能使用不同信道,终端节点要加入不同信道的ZigBee网络,需要进行配置,如设置网络信道为0,则可实现终端设备自动搜索所在区域的ZigBee网络。当信道和个域网ID都匹配时,加入该网络。当ZigBee协议栈一段时间没有收到网络应答信息时,判断为离开网络,需要重新设置,并重新寻找网络。系统无线通信采用Jennic公司的硬件及协议栈,部分设置代码如下:

PUBLIC voidAppColdStart(void){

……

JZS_sConfig.u32Channel= 0;

JZS_sConfig.u16PanId=WSN_PAN_ID;}

PUBLIC voidJZA_vStackEvent(

teJZS_EventIdentifiereEventId,

tuJZS_StackEvent *puStackEvent){

……

switch(eEventId){

case JZS_EVENT_APS_DATA_CONFIRM:

if(puStackEvent→sApsDataConfirmEvent.u8Status==MAC_ENUM_SUCCESS){

u8cofirmCounter=0;}

if(puStackEvent→sApsDataConfirmEvent.u8Status==MAC_ENUM_NO_ACK ){

u8cofirmCounter++;

if(u8cofirmCounter>10){……}}}}

调度中心采用C++Build的Socket套接字编程,在Socket服务器组件中添加OnClientRead事件处理函数,接收、处理GPRS上传的数据,存储在SQLserver数据库中。调度中心、各出租车公司可对出租车司机的基本信息、调度结果和爽约情况进行查询。

5 最佳调度对象选择

本系统采用AODVjr路由,AODVjr对AODV算法进行了简化和改进,这种按需路由协议在移动性高、负载低的场合性能较高。AODVjr路由中,当源节点需要向目的节点发送数据而不知道路径时,则将RREQ分组组播至其邻居节点。若收到该分组的邻居节点是带路由功能的节点,则该邻居节点先建立反向路由,该反向路由指向源节点,然后继续组播该RREQ分组至其自己的邻居节点。不具备路由功能的邻居节点,则通过上述的地址分配算法将该RREQ分组发送至其子节点或父节点,由其子节点或父节点转发该分组。而目标节点在收到RREQ分组后,向源节点单播回复RREQ分组,并将接收到此RREQ分组的所有节点保存在邻居表中,从而建立到源节点的路由。

在有多个司机回复乘客预约车信息时,系统需要进行最佳调度对象的选择,因布点时相邻中继节点距离基本相同,路由跳数基本上能反映出租车距站牌预约点的距离,可通过路由跳数大小确定较佳的调度对象。但是,当道路中存在护栏或者绿化带时,站牌预约点另一侧的出租车即使路由跳数少,也因出租车不能直接转向到达站牌预约点,而不能作为调度对象。所以,本系统在站牌预约点另一侧添加一个节点(如图5中的F节点,相应增加中继节点后,也可以将F节点做成站牌预约点,供另一侧的乘客预约车),以区分站牌预约点另一侧的出租车,并采用Cskip算法和最短路由相结合确定系统的最佳调度对象。

Figure 5 Network nodes distribution图5 网络布点

Cskip定义如下:

Cskip(d)=

(1)

其中,Cm为每个父节点允许的直接子节点数;Rm为父节点所能拥有的最大路由节点数;Lm为网络的最大深度;d为设备的实际深度。

深度为d的第n个路由节点的地址为ARouter。

(2)

其中,AParent为该路由器父节点地址。

深度为d的第n个终端节点的地址为AEndDevice。

(3)

网络各父节点允许的最大直接子节点数Cm=5,允许的路由节点数Rm=2,最大网络深度Lm=4,则其地址分配如图6所示。

Figure 6 Cskip network address allocation图6 Cskip算法网络地址分配图

上述算法分配的地址为车载应答子系统加入网络时的地址,JN5139采用的协议栈中,除了路由表之外还有一个邻居节点表,它保存了可以直接通信的节点的地址。在实际生活中,乘客可能会在站牌预约点下车,这时出租车空载,从而加入网络。此时它处在站牌预约点的邻居表中而不是路由表中,所以在比较路由时,需要同时读取路由表和邻居表中的节点进行比较。读取邻居表和路由表的部分代码如下所示:

#include“TablesCoordRouter.h”

#include“nwk.h”

PRIVATEvoidvReadNeighbourTable(void){

for(i=0;i

if ((gsNIB.nwkNeighborTable[i].eDevicetype==ZIGBEE_ENDDEVICE) &&

(gsNIB.nwkNeighborTable[i].eRelationship==NEIGHBOR_CHILD) &&

(gsNIB.nwkNeighborTable[i].u16Addr!=0xffff)) {

……}}}

PRIVATE voidvReadRoutingTable(void) {

for (i=0;i

if (gsNIB.nwkRoutingTable[i].eStatus!=ACTIVE) {

bAllEntriesActive = FALSE;}

if(bAllEntriesActive){

……}}}

6 测试结果

实验测试环境为齐齐哈尔市文化大街,道路宽8 m,路旁有10 m高的杨树。测试设备采用连接5 db天线的JN5139-Z01-M02模块,经测试信号传输距离在500 m左右,本系统测试时最大调度范围为1 500 m。测试网络布点如图5所示。

节点A、B、C、D、E、F为信号中继装置,除节点C、D外,其他相邻节点间的距离为500 m。测试中,车牌号为黑BT1347和黑BT1947的两辆出租车都向站牌预约点行驶。乘客在站牌预约点刷卡预约出租车,两辆出租车均同意乘客打车,其中,黑BT1347出租车消息路由为B→D→C→O,黑BT1947的消息路由为E→D→C→O,二者路由跳数相同,二者距站牌预约点的距离也基本相同(布点时相邻中继节点间距离基本相同)。但是,根据我国行驶规则,黑BT1947出租车不需等待交通灯,能最快赶到站牌预约点,故选择结果最合理的调度对象为车牌号为黑BT1947的空载出租车。结合图6知,黑BT1947出租车通过E节点加入网络,其网络短地址在22~24之间;同理,黑BT1347的网络短地址在28~30之间,所以,根据出租车短地址即可以进行相同路由跳数下的最佳调度对象选择。站牌预约点子系统调度结果如图7所示。

Figure 7 System scheduling results图7 系统调度结果

测试实例中,乘客共发出11次打车请求,其中有一次为司机响应后没有前往站牌预约点接乘客,属于出租车司机爽约,调度管理中心据此对出租车司机扣除相应违约金,以维护乘客和出租车司机双方的诚信约束制度。站牌预约的进程信息通过GPRS传输至调度管理中心。调度管理中心可查询乘客和出租车司机爽约信息、各站牌预约点打车信息和司机详细信息等。实例中调度管理中心对司机李强的详细信息查询结果如图8所示。

Figure 8 Details query results of taxi driver图8 司机详细信息查询结果

7 结束语

本文提出了一种基于物联网技术的出租车调度系统,系统基于物联网技术,融合RFID、ZigBee、GPRS等感知层、传输层技术,实现乘客在站牌预约点刷卡叫车,系统感知层构建的ZigBee自组网络可合理调度网内空载出租车为乘客提供乘车服务。系统传输层、应用层的构建,实现调度管理中心通过记录、保存调度信息、暂扣乘客卡内预约定金和监督出租车司机守约功能,有效防止出租车司机或乘客爽约,建立出租车司机和乘客之间的诚信。各出租车公司也可查询本公司员工调度纪录确保系统长期稳定运行。系统还可以进行升级与扩展,如在应用层增加物联网预约车平台和手机平台后,乘客预约出租车信息通过GPRS网关即可传至相应站牌预约点子系统,乘客可通过互联网与3G/4G技术预约出租车。本系统为乘客提供一种打车新方式,具有一定的实际应用价值。系统方案获2012“研华杯”全国高校物联网创新创业大赛决赛三等奖。

[1] Yu Bin, Zhu Hai-qing, Li Mei-li. Taxi dispatch system based on GPS/GIS/GSM[J]. Urban Public Transport, 2010(4):41-44. (in Chinese)

[2] Zhou Xian-chun, Shi Lan-fang, Zhou Jie. A design of taxi dispatch center system[J]. Application of Electronic Techn-

ique, 2012, 38(3):136-138. (in Chinese)

[3] Liu Xin-zhu. The design and implementation of the taxi intelligent dispatch system[J]. Computer Knowledge and Technology, 2008, 3(5):980-982. (in Chinese)

[4] Zhou Xiao-min, Zhao Hong-yu, Yu Jian-xin. Taxi calling and scheduling system based on GPS[J]. Computer Engineering and Design, 2009, 30(21):4995-4997. (in Chinese)

[5] Dong Xi-zhe, Yang Bo. Taxi GPS dispatching system optimization study[J]. Heilongjiang Science and Technology Information, 2011(3):73. (in Chinese)

[6] Chen Shao-jie, Chen Xian-fu. The design and implementation of taxi dispatching system based on GPS/GIS[J]. Electronic Technology, 2011(6):28-30. (in Chinese)

[7] Wang Xue-hui, Chen Xin, Ding Li-bo, et al. Design of a taxi close quarters calling system[J]. Computer and Communications, 2008, 26(3):105-107. (in Chinese)

[8] Ding Li-bo,Wang Xue-hui. Close quarters taxi calling system design based on nRF905[J]. Information Technology, 2008(12):15-17. (in Chinese)

[9] Hu Jian, Wu Hai-xi, Ye Shu-guang, et al. City taxi call reservation network based on ZigBee road-side controller design[J]. Machinery, 2011(8):33-35. (in Chinese)

附中文参考文献:

[1] 俞斌,朱海清,黎美丽. 基于GPS/GIS/GSM的出租车调度系统[J]. 城市公共交通, 2010(4):41-44.

[2] 周先春,石兰芳,周杰. 一种出租车调度中心系统的设计[J]. 电子技术应用, 2012, 38(3):136-138.

[3] 刘新竹. 出租车智能调度系统的设计与实现[J]. 电脑知识与技术, 2008, 3(5):980-982.

[4] 周晓敏,赵红玉,俞建新. 基于GPS的出租车呼叫与调度系统[J]. 计算机工程与设计, 2009, 30(21):4995-4997.

[5] 董溪哲,杨波. 出租车GPS调度系统优化研究[J]. 黑龙江科技信息, 2011(3):73.

[6] 陈少杰,陈贤富. 基于GPS/GIS的出租车调度系统的设计与实现[J]. 电子技术, 2011(6):28-30.

[7] 王学慧,陈新,丁立波,等. 出租车近距离自主呼叫系统设计[J]. 交通与计算机, 2008, 26(3):105-107.

[8] 丁立波,王学慧. 基于nRF905的出租车短距离呼叫系统设计[J]. 信息技术, 2008(12):15-17.

[9] 胡剑,吴海曦,叶术广,等. 基于ZigBee的城市出租车呼叫预约网络道路控制器设计[J]. 机械制造, 2011(8):33-35.

YAOZhong-min,born in 1959,professor,her research interests include WSN, and internet of things.

DesignoftaxidispatchsystembasedonInternetofThings

YAO Zhong-min,YAO Tian-jian,LONG Zhao-peng,LI Qiang

(School of Communication and Electronic Engineering,Qiqihar University,Qiqihar 161006,China)

The current taxi dispatch system based on taxi stop board has the shortages that passengers jump the queue frequently, the scheduling result is not optimized and appointments are broken by both passengers and taxi drivers. In order to solve these problems, a taxi dispatch system based on Internet of Things (IoT) technology is proposed. The system adds Radio Frequency Identification (RFID) reader as the perception layer, General Packet Radio Service (GPRS) gateway modules as the transport layer and scheduling management center as the application layer, etc. The test results show that, each taxi stop of the system distributed in the city can schedule the nearby taxis. The dispatch management center can realize the management and query of scheduling results of each taxi stop.

Internet of Things (IoT);dispatch system;ZigBee;RFID;GPRS

1007-130X(2014)08-1476-06

2013-02-25;

:2013-04-12

国家自然科学基金资助项目(51177072);黑龙江省教改项目(JGXM-HLJ-2011133);齐齐哈尔市科技攻关重点项目(GYGG-201106)

TP399

:A

10.3969/j.issn.1007-130X.2014.08.009

姚仲敏(1959-),女,河北人,教授,研究方向为无线网络和物联网。E-mail:user1023456@126.com

通信地址:161006 黑龙江省齐齐哈尔市齐齐哈尔大学通信与电子工程学院

Address:School of Communication and Electronic Engineering,Qiqihar University,Qiqihar 161006,Heilongjiang,P.R.China

猜你喜欢

站牌出租车路由
我们的下落是一样的
乘坐出租车
探究路由与环路的问题
凭什么
基于预期延迟值的扩散转发路由算法
开往春天的深夜出租车
李书福炮轰出租车
PRIME和G3-PLC路由机制对比
eNSP在路由交换课程教学改革中的应用
“老马”的站牌情缘