姚仲敏,姚天健,龍昭鵬,李 強
(齊齊哈爾大學通信與電子工程學院,黑龍江 齊齊哈爾 161006)
基于物聯網技術的出租車調度系統設計*
姚仲敏,姚天健,龍昭鵬,李 強
(齊齊哈爾大學通信與電子工程學院,黑龍江 齊齊哈爾 161006)
針對目前基于站牌調度的出租車調度系統存在的易出現乘客搶上車插隊、調度沒有最優化和乘客/出租車爽約現象頻發的不足,提出了基于物聯網技術的出租車調度系統。系統在原站牌調度系統基礎上,增加了感知層射頻識別(RFID)讀寫器、傳輸層通用分組無線服務技術(GPRS)網關模塊和應用層調度管理中心等。測試結果表明,該系統能夠實現在城市內的各站牌預約點近距離調度站牌附近出租車,調度管理中心可實現各站牌點調度結果的管理與查詢。
物聯網;調度系統;ZigBee;射頻識別;通用分組無線服務技術
出租車調度系統一定程度上解決了“人找車,車找人”的現象,降低了城市出租車空載率。目前的出租車調度系統主要有:電話調度[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 系統結構
本系統基于物聯網感知、傳輸、應用三層體系架構,三層功能分布在系統的站牌預約點子系統、車載應答子系統、ZigBee中繼節點和調度管理中心四部分實體中實現。系統在原站牌調度系統基礎上,增加架構了感知層RFID讀寫器、ZigBee中繼節點、傳輸層GPRS(General Packet Radio Service)網關模塊和應用層調度管理中心等。
站牌預約點子系統安裝在經常出現打車行為的道路邊(如大型商場、小區、學區、寫字樓等),乘客通過RFID刷卡預約車,采用ZigBee無線通信方式發布乘客打車信息、接收出租車司機應答信息,并用GPRS上傳調度結果信息。車載應答子系統安裝在出租車內,用于接收乘客打車信息、發送司機應答信息和乘客上車刷卡核對卡號。ZigBee中繼節點安裝在信號較弱處,用于轉發ZigBee無線信號,擴大調度范圍。調度管理中心負責接收、保持和查詢GPRS上傳的調度結果信息和司乘雙方守約爽約信息等,建立乘客預扣定金、出租車爽約扣罰金和扣罰金補償給守約方的雙重機制,促使雙方遵守誠信。系統結構如圖1所示。
該系統主要通過感知層實現分布在城市內的多站牌點近距離出租車調度功能。該層以分布在城市內的站牌預約點為網絡協調器節點,信號中繼裝置為路由器節點,構成不斷將行駛進入站牌限定范圍內的出租車車載應答子系統加入為網絡終端節點的多個動態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模塊加上電源模塊。
乘客需在站牌預約點刷卡,站牌預約點子系統通過動態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數據庫中。調度中心、各出租車公司可對出租車司機的基本信息、調度結果和爽約情況進行查詢。
本系統采用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){ ……}}} 實驗測試環境為齊齊哈爾市文化大街,道路寬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 司機詳細信息查詢結果 本文提出了一種基于物聯網技術的出租車調度系統,系統基于物聯網技術,融合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.China6 測試結果


7 結束語
