彭名華,劉建生,鐘新梅,劉沁炆
(西南石油大學(xué),四川成都 610500)
在城市中,特別是一些大城市中,就打車而言,常會看到3 個場景:1)乘客需要打車盡快趕到某地,但很長時間都看不到計程車;2)乘客居住地離主干道較遠,出門走很長一段路也找不到計程車;3)同一時刻,一些計程車司機可能找不到生意。這3 個場景充分暴露了計程車傳統(tǒng)服務(wù)模式存在的弊端:1)乘客乘車的效率低下,如果運氣差點,甚至有可能一天都乘不到車;2)計程車的運行效率低下,只有看到了乘客才能進行服務(wù),造成巨大的資源浪費;3)計程車的服務(wù)范圍有限,在城市中可以行車的偏僻地方,因計程車很少前往,所以傳統(tǒng)的計程車服務(wù)就無能為力了。
針對這些弊端,電召、打車地圖、打車軟件應(yīng)運而生。但是,現(xiàn)有的打車方式依然存在一些問題,如電召成功率不高、打車地圖無人看、打車軟件存在安全隱患、難以監(jiān)管而被叫停。該文設(shè)計并實現(xiàn)了一種基于ZigBee 與WiFi 技術(shù)相結(jié)合的計程車招呼系統(tǒng)。系統(tǒng)綜合運用嵌入式計算機技術(shù)、無線通信技術(shù)、ZigBee 技術(shù)組建無線taxi 站臺招呼網(wǎng)絡(luò),利用WiFi 技術(shù)組建高速無線局域網(wǎng)絡(luò),利用ZigBee-WiFi節(jié)點實現(xiàn)信息路由,并利用ARM-Linux 實現(xiàn)車載終端開發(fā)。
ZigBee 技術(shù)是一種工作于免授權(quán)的2.4 GHz 頻段的無線通訊技術(shù),具有傳輸距離短、成本低、功耗低、速率低的特點,傳輸速率為10~250 kbit/s,傳輸距離可達75 m[1],可以外加功率放大器,增加傳輸距離。與ZigBee 技術(shù)相比,WiFi(Wireless Fidelity) 是一種傳輸距離遠、功耗高的無線網(wǎng)絡(luò)技術(shù),傳輸速率可達54 Mbp/s,采用802.11 標(biāo)準(zhǔn),目前,在無線局域網(wǎng)中得到了較為廣泛的應(yīng)用,便于接入Internet[2-5]。
鑒于ZigBee 和WiFi 各自的優(yōu)點,將ZigBee 技術(shù)與WiFi 技術(shù)相結(jié)合,設(shè)計出一套計程車招呼系統(tǒng),其硬件系統(tǒng)由taxi 站臺、車載終端、高速無線主節(jié)點和子節(jié)點以及信息中心組成,如圖1 所示。該系統(tǒng)利用ZigBee 和WiFi 來實現(xiàn)整個系統(tǒng)的數(shù)據(jù)傳輸,形成一個高效的網(wǎng)絡(luò),隨時監(jiān)控各個taxi 站臺乘客的乘車需求以及每一輛計程車的搭載情況,并通過信息中心(PC 機)的邏輯分析,為每一位有乘車請求的乘客選擇最近、最方便的計程車。服務(wù)器用數(shù)據(jù)庫技術(shù)、JAVA、C 語言實現(xiàn),整個系統(tǒng)的信息處理、存儲及各種服務(wù)的調(diào)度都由服務(wù)器完成。
圖1 系統(tǒng)組成框圖
該系統(tǒng)的每個模塊都有自己的獨立功能,它們之間相互協(xié)調(diào)工作才能有效保證該系統(tǒng)方案的實現(xiàn)。
信息中心由數(shù)據(jù)庫、信息處理中心和信息調(diào)度中心組成。數(shù)據(jù)庫用于存儲計程車、taxi 站臺的各種信息,并且數(shù)據(jù)庫中的定時事件和存儲過程還會幫助系統(tǒng)處理過時的計程車招呼信息;信息處理中心是整個系統(tǒng)的核心部分,負(fù)責(zé)監(jiān)控整個系統(tǒng)計程車的運行狀態(tài)(位置、載人申請等)和站臺乘客的乘車請求,并根據(jù)這些信息進行一系列的邏輯運算,通過調(diào)度中心將最近的計程車調(diào)度給有乘車請求的站臺乘客;信息調(diào)度中心負(fù)責(zé)整個系統(tǒng)信息調(diào)度的功能,它會將站臺、計程車的信息搜集起來發(fā)送給信息處理中心,并將信息處理中心運算好的調(diào)度操作從不同的端口發(fā)送出去。
高速無線網(wǎng)絡(luò)主節(jié)點是系統(tǒng)通信節(jié)點的核心,為所屬區(qū)域所有數(shù)據(jù)的匯聚處,負(fù)責(zé)和站臺系統(tǒng)的高速網(wǎng)絡(luò)子節(jié)點通信,也負(fù)責(zé)和車載設(shè)備的無線通信。主節(jié)點將匯聚的數(shù)據(jù)傳送給調(diào)度中心,調(diào)度中心的數(shù)據(jù)也通過此節(jié)點向外發(fā)送數(shù)據(jù)。
高速無線網(wǎng)絡(luò)子節(jié)點由ZigBee 協(xié)調(diào)器和WiFi組成。負(fù)責(zé)將ZigBee 協(xié)調(diào)器搜集到的所有Zigbee 終端節(jié)點發(fā)送來的信息通過WiFi 傳遞給高速無線網(wǎng)絡(luò)主節(jié)點,并將高速無線網(wǎng)絡(luò)主節(jié)點發(fā)送來的信息發(fā)送給對應(yīng)的ZigBee 終端節(jié)點[6-7],同時兼有數(shù)據(jù)緩沖功能,以解決ZigBee 網(wǎng)絡(luò)和高速無線網(wǎng)絡(luò)速度不匹配的問題。
taxi 站臺由ZigBee 通信模塊和站臺人機交互模塊組成。每個終端ZigBee 節(jié)點負(fù)責(zé)將乘車站臺采集到的信息通過自己所在無線ZigBee 網(wǎng)絡(luò)發(fā)送到高速無線網(wǎng)絡(luò)子節(jié)點上,并且監(jiān)聽整個網(wǎng)絡(luò)。如果發(fā)現(xiàn)有發(fā)送給自己負(fù)責(zé)的站臺的信息,則接收后傳輸給站臺,由站臺顯示器顯示計程車的信息供乘客選擇。
站臺人機交互模塊則通過“ZigBee 網(wǎng)絡(luò)<-->高速無線網(wǎng)絡(luò)”來建立與信息調(diào)度中心的通信。站臺負(fù)責(zé)與乘客之間的信息交流,它將采集乘客“請求乘車”、“同意等待”、“拒絕等待”的信息,并展示“計程車編號”、“計程車到此處距離”、“有車前來”、“無車響應(yīng)”以及當(dāng)前站臺狀態(tài)等信息給乘客。
每個車載設(shè)備上都有一個無線網(wǎng)卡用來和高速無線網(wǎng)絡(luò)主節(jié)點進行通信。車載設(shè)備主要負(fù)責(zé)計程車司機和信息中心的信息交流,采集計程車司機“前往對應(yīng)站臺”、“設(shè)置當(dāng)前狀態(tài)”、“接收其他計程車任務(wù)”等信息,同時展示“當(dāng)前申請乘車乘客信息列表”、“乘客位置信息”、“乘客是否同意等待”等信息。
高速無線網(wǎng)絡(luò)子節(jié)點的主要功能是實現(xiàn)路由,連接ZigBee 和WiFi 兩個相對獨立的網(wǎng)絡(luò)[8]。當(dāng)子節(jié)點沒有連接到主節(jié)點時,子節(jié)點會將taxi 站臺的傳輸數(shù)據(jù)存儲到本地存儲器中,當(dāng)子節(jié)點與主節(jié)點間建立連接時,會將這些數(shù)據(jù)發(fā)送出去。如果子節(jié)點與主節(jié)點一直連接,數(shù)據(jù)會直接轉(zhuǎn)發(fā)給服務(wù)器,不需要存儲。當(dāng)服務(wù)器需要發(fā)送信息給站臺節(jié)點時,子節(jié)點會將數(shù)據(jù)轉(zhuǎn)發(fā)給指定的站臺節(jié)點。高速無線網(wǎng)絡(luò)子節(jié)點結(jié)構(gòu)框圖如圖2 所示,以S3C2410 為核心,通過USB 與WiFi 模塊相連接,通過RS232 與ZigBee網(wǎng)絡(luò)的協(xié)調(diào)器相連[9],并完成ZigBee 和WiFi 兩種協(xié)議間的數(shù)據(jù)格式轉(zhuǎn)換,實現(xiàn)打車信息的轉(zhuǎn)發(fā)。
圖2 高速無線網(wǎng)絡(luò)子節(jié)點結(jié)構(gòu)框圖
3.2.1 taxi站臺硬件設(shè)計
為保證所有的站臺節(jié)點能夠?qū)崿F(xiàn)自主加入,必須保證網(wǎng)絡(luò)中所有的節(jié)點能夠滿足共同的協(xié)議,只要符合協(xié)議標(biāo)準(zhǔn)的節(jié)點都能夠接入系統(tǒng)。系統(tǒng)中的taxi 站臺節(jié)點以MCU(Micro Control Unit)為主控芯片,節(jié)點將數(shù)據(jù)通過ZigBee 終端發(fā)送到高速無線網(wǎng)絡(luò)子節(jié)點,同時接收子節(jié)點轉(zhuǎn)發(fā)來的反饋信息指令。taxi 站臺原理框圖如圖3 所示,taxi 站臺控制器如圖4 所示。
圖3 taxi站臺原理框圖
圖4 taxi站臺控制器
3.2.2 taxi站臺軟件設(shè)計
taxi 站臺招呼功能主要由站臺乘客招呼算法、計程車先到處理算法、站臺申請超時算法、站臺多次申請乘車算法實現(xiàn)。站臺乘客招呼算法完成計程車乘車申請、同意等待、拒絕等待功能;計程車先到處理算法完成在業(yè)務(wù)計程車未到達taxi 站臺時,其他空車經(jīng)過此站臺的一種優(yōu)先上車調(diào)度策略;站臺申請超時算法針對高峰時刻計程車繁忙而不能申請到計程車的情況,每次申請有規(guī)定的最大響應(yīng)時間,如果超過這個時間,系統(tǒng)會自動取消這次申請,同時向站臺發(fā)送申請失效信息;站臺多次申請乘車算法針對一個站臺有多個人申請乘車的情況,當(dāng)一個人申請成功,獲取到前來接送的計程車ID 之后,站臺系統(tǒng)馬上恢復(fù)到初始狀態(tài),下一位乘客又可以繼續(xù)申請計程車。站臺軟件流程如圖5 所示。
圖5 站臺軟件流程
3.3.1 車載終端硬件設(shè)計
車載終端平臺采用的S3C6410 芯片是基于ARM11 架構(gòu)的16/32 位RISC 微處理器。它采用ARMv6 指令集,支持從SD Card、NOR Flash、NAND Flash 和One-NAND Flash 中引導(dǎo)系統(tǒng),是一個低成本、低功耗、高性能的應(yīng)用處理器解決方案[10]。外圍組件主要包括觸摸屏顯示模塊、WiFi 模塊、電源模塊等,如圖6 所示。
圖6 車載設(shè)備框圖
3.3.2 車載終端系統(tǒng)開發(fā)
系統(tǒng)軟件選擇嵌入式Linux 為操作系統(tǒng),整個系統(tǒng)由引導(dǎo)程序、設(shè)備驅(qū)動、Linux 內(nèi)核、文件系統(tǒng)組成[11-13]。在搭建平臺的過程中,由于嵌入式設(shè)備上的資源非常有限,要對Linux 進行針對性的裁剪,并進行裁剪后的Linux 系統(tǒng)移植[14-15]。
QT/ Embedded 通常為小型化、低功耗、便攜式的設(shè)備開發(fā)帶有圖形化界面的應(yīng)用程序[16],所設(shè)計的GUI 實用、簡潔。該車載終端選用移植性強的QT軟件設(shè)計圖形車載終端界面,利用QT/Embedded 的用戶圖形界面開發(fā),實現(xiàn)了人機交互[17]。計程車車載軟件界面如圖7 所示。
圖7 車載終端系統(tǒng)界面
在實驗室配置一臺服務(wù)器(PC 機模擬)、6 個taxi站臺、一個車載終端、無線高速網(wǎng)絡(luò)子節(jié)點以及主節(jié)點,對系統(tǒng)進行模擬測試。圖8 為車載終端,顯示(申請的站臺、站臺名稱、經(jīng)度緯度、距離)的是乘客與計程車達成的乘車服務(wù)。經(jīng)過測試,taxi 站臺的“請求乘車”、“同意等待”、“拒絕等待”、“計程車編號”、“計程車到此處距離”、“有車前來”、“無車響應(yīng)”以及車載終端的“前往對應(yīng)站臺”、“設(shè)置當(dāng)前狀態(tài)”、“接收其他計程車任務(wù)”等功能完全能夠?qū)崿F(xiàn)。
圖8 車載終端測試結(jié)果
ZigBee 和WiFi 技術(shù)的結(jié)合很好地實現(xiàn)了計程車招呼功能。該系統(tǒng)具效率高、實用性強、成本低廉、網(wǎng)絡(luò)選擇靈活等特點,打破了傳統(tǒng)打車的弊端,規(guī)避了正在被叫停的打車軟件的不足。此外,系統(tǒng)功能還可以進一步擴展,如引進GSM、3G 網(wǎng)絡(luò)等技術(shù)。