一種基于物聯(lián)網(wǎng)的公交車(chē)信息查詢系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要 系統(tǒng)結(jié)合新一代信息技術(shù)的重要組成部分——物聯(lián)網(wǎng)的科學(xué)技術(shù)理念,利用各類(lèi)傳感器收集信息,并將信息通過(guò)GPRS網(wǎng)路發(fā)送給綜合信息處理平臺(tái),平臺(tái)對(duì)各班次公交車(chē)的各類(lèi)信息進(jìn)行存儲(chǔ)和分析,并實(shí)時(shí)更新。用戶通過(guò)手機(jī)登錄綜合信息處理平臺(tái)Web界面即可獲取想要秉坐的公交車(chē)具體信息,從而給用戶的出行帶來(lái)便捷。
關(guān)鍵詞 智能公交;物聯(lián)網(wǎng);無(wú)線通信
1 研究背景
隨著城市建設(shè)的飛速發(fā)展及公交系統(tǒng)的不斷完善,公交車(chē)已成為城市居民出行的主要交通工具。但由于城市公交線路四通八達(dá),且隨著城市擴(kuò)建而快速發(fā)展,新的公交線路在不斷延伸和開(kāi)辟,再加上單行道、禁左等道路交通約束,出現(xiàn)了交通擁堵問(wèn)題。而且近年來(lái)嚴(yán)重的交通擁堵問(wèn)題不僅局限于大城市,在二線甚至三線城市也開(kāi)始蔓延。根據(jù)中國(guó)汽車(chē)協(xié)會(huì)2010年發(fā)布的數(shù)據(jù),2009年中國(guó)汽車(chē)銷(xiāo)售量達(dá)1 364.48萬(wàn)輛,超過(guò)美國(guó)成為全球第一,其中乘用車(chē)數(shù)量為1033.13萬(wàn)輛,同比增長(zhǎng)53%。而去年全國(guó)公路增長(zhǎng)里程共計(jì)9.8萬(wàn)公里,同比下降33%。二者之間的不均衡發(fā)展導(dǎo)致了交通安全事故頻發(fā)、城市居民乘車(chē)出行不便、上下班時(shí)間增加等問(wèn)題。
隨著現(xiàn)代網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,公交查詢系統(tǒng)因運(yùn)而生。因此也出現(xiàn)了基于各種技術(shù)的公交查詢系統(tǒng),如基于ASP.NET+XML的公交查詢系統(tǒng)、基于J2ME的公交查詢系統(tǒng)、基于GIS、GPS、RS的公交查詢系統(tǒng)等。這些系統(tǒng)能提供電子地圖、二維數(shù)字城市中的地圖和三維城市模型的信息、高精度的GPS定位服務(wù),但是他們無(wú)法及時(shí)反應(yīng)出某一時(shí)刻某一站點(diǎn)的來(lái)車(chē)詳細(xì)信息。
目前大多數(shù)的公交查詢系統(tǒng),基本具備以下功能:采用車(chē)站站點(diǎn)查詢、車(chē)次查詢、模糊查詢、站至站查詢4種查詢形式,不僅能夠查詢到各條線路的起停站點(diǎn),同時(shí)還能夠分析出換乘車(chē)輛情況。但是由于各個(gè)地區(qū)公交車(chē)數(shù)據(jù)龐大,無(wú)法迅速、準(zhǔn)確地查到所需要的目的地以及各個(gè)車(chē)次所經(jīng)過(guò)站點(diǎn)的信息,導(dǎo)致查詢不便且結(jié)果復(fù)雜缺少人性化。另外,物聯(lián)網(wǎng)作為新一代信息技術(shù)的重要組成部分,第一,物聯(lián)網(wǎng)的核心和基礎(chǔ)仍然是互聯(lián)網(wǎng),是在互聯(lián)網(wǎng)基礎(chǔ)上的延伸和擴(kuò)展的網(wǎng)絡(luò);第二,其用戶端延伸和擴(kuò)展到了物體與物體之間,進(jìn)行信息交換和通信。但其應(yīng)用方面多是對(duì)于一些大型行業(yè),還沒(méi)有擴(kuò)展到民用基礎(chǔ)設(shè)施上。
而本系統(tǒng)可以給用戶帶來(lái)意想不到的便捷,通過(guò)登陸網(wǎng)站即可查到用戶要乘坐的公交車(chē)的具體情況,包括距用戶還有多少站以及車(chē)上乘客數(shù)量,這樣即使正在趕往公交站臺(tái)的路上,也不用擔(dān)心會(huì)誤了最快到達(dá)的公交車(chē)。同時(shí)用戶也可以作出等待還是換乘別的路線的公交車(chē)的選擇,這樣不僅節(jié)省了時(shí)間而且使公交資源最大化利用。
2 系統(tǒng)的總體結(jié)構(gòu)
系統(tǒng)結(jié)合物聯(lián)網(wǎng)的科學(xué)技術(shù)理念,利用特定裝置如紅外掃描等對(duì)公交車(chē)的乘客數(shù)量進(jìn)行統(tǒng)計(jì),將RFID標(biāo)簽嵌入到公交站牌上,公交車(chē)路過(guò)站牌時(shí)自動(dòng)提取站點(diǎn)信息,同時(shí)實(shí)現(xiàn)彎道提醒、線路提醒等功能。車(chē)載信息存儲(chǔ)模塊將乘客數(shù)量信息、站點(diǎn)信息和車(chē)輛上下行信息匯總和儲(chǔ)存,并通過(guò)GPRS網(wǎng)絡(luò)發(fā)送至綜合信息處理平臺(tái),平臺(tái)對(duì)各班次公交車(chē)的信息進(jìn)行排序整理,作出為每一站點(diǎn)的兩個(gè)方向生成各自數(shù)據(jù)模塊等處理,同時(shí)上傳互聯(lián)網(wǎng),并實(shí)時(shí)更新。
從技術(shù)架構(gòu)上看,基于物聯(lián)網(wǎng)的公交信息查詢系統(tǒng)可分為3層:感知層、網(wǎng)絡(luò)層和應(yīng)用層。(1)感知層由各種傳感器以及傳感器網(wǎng)關(guān)構(gòu)成,包括紅外傳感器、RFID等感知終端。感知層主要功能是識(shí)別物體和采集信息。(2)網(wǎng)絡(luò)層由無(wú)線通信、互聯(lián)網(wǎng)和網(wǎng)絡(luò)管理系統(tǒng)等組成,負(fù)責(zé)傳遞和處理感知層獲取的信息。系統(tǒng)擬建立公交信息綜合處理平臺(tái),基于互聯(lián)網(wǎng)編程實(shí)現(xiàn)公交信息數(shù)據(jù)庫(kù)的建立和維護(hù),并對(duì)接受信息進(jìn)行排序、添加、刪除及實(shí)時(shí)更新,包括整個(gè)平臺(tái)的維護(hù)等。(3)應(yīng)用層是公交信息查詢系統(tǒng)和用戶的接口,它實(shí)現(xiàn)公交信息查詢系統(tǒng)的智能應(yīng)用。本系統(tǒng)擬采用用戶手機(jī)查詢?yōu)g覽公交信息查詢系統(tǒng)網(wǎng)頁(yè)的方式實(shí)現(xiàn)公交信息查詢系統(tǒng)的用戶應(yīng)用。
系統(tǒng)總體結(jié)構(gòu)如圖1所示。
3 基于GPRS的信息傳輸方案設(shè)計(jì)
系統(tǒng)采用GPRS無(wú)線數(shù)據(jù)傳輸方式實(shí)現(xiàn)車(chē)載終端與監(jiān)控中心的通信,并以華為公司GTM900-C無(wú)線通信模塊為例,具體介紹車(chē)輛監(jiān)控系統(tǒng)中實(shí)現(xiàn)GPRS數(shù)據(jù)傳輸?shù)姆椒ㄒ约瓣P(guān)鍵技術(shù)。
GPRS專網(wǎng)系統(tǒng)終端上網(wǎng)登錄服務(wù)器平臺(tái)的流程為:(1)檢查網(wǎng)絡(luò)狀態(tài)。(2)用戶發(fā)出GPRS登錄請(qǐng)求,請(qǐng)求中包括由移動(dòng)公司為GPRS專網(wǎng)系統(tǒng)專門(mén)分配的專網(wǎng)APN;(3)根據(jù)請(qǐng)求中的APN,SGSN向DNS服務(wù)器發(fā)出查詢請(qǐng)求,找到與企業(yè)服務(wù)器平臺(tái)連接的GGSN,并將用戶請(qǐng)求通過(guò)GTP隧道封裝送給GGSN;(4)GGSN將用戶認(rèn)證信息(包括手機(jī)號(hào)碼、用戶賬號(hào)、密碼等)通過(guò)專線送至Radius進(jìn)行認(rèn)證;(5)Paddius認(rèn)證服務(wù)器看到手機(jī)號(hào)等認(rèn)證信息,確認(rèn)是合法用戶發(fā)來(lái)的請(qǐng)求,向DHCP服務(wù)器請(qǐng)求分配用戶地址;(6)Radius認(rèn)證通過(guò)后,由Radius向GGSN發(fā)送攜帶用戶地址的確認(rèn)信息;(7)用戶得到了IP地址,就可以攜帶數(shù)據(jù)包,對(duì)GPRS專網(wǎng)系統(tǒng)信息查詢和業(yè)務(wù)處理平臺(tái)進(jìn)行訪問(wèn)。(8)訪問(wèn)后關(guān)閉鏈路。
下面基于上述流程,并結(jié)合實(shí)際實(shí)驗(yàn)操作,詳解可能用到的AT指令。
3.1 建立GPRS數(shù)據(jù)傳輸?shù)恼{(diào)制指令
系統(tǒng)設(shè)計(jì)的主要思路是單片機(jī)通過(guò)發(fā)送AT指令控制GPRS模塊建立無(wú)線信道、完成數(shù)據(jù)傳輸。GPRS數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)主要有兩種方式:通過(guò)域名解析進(jìn)行GPRS數(shù)據(jù)傳輸。AT指令實(shí)現(xiàn)通過(guò)IP地址進(jìn)行GPRS數(shù)據(jù)傳輸?shù)恼{(diào)制指令如下:
(1)AT+CSQ查詢網(wǎng)絡(luò)質(zhì)量。實(shí)驗(yàn)中在串口調(diào)試助手上返回“+CSQ 31,99”,說(shuō)明網(wǎng)絡(luò)質(zhì)量好。通常,CSQ為24以上就認(rèn)為網(wǎng)絡(luò)質(zhì)量良好。
(2)AT+CPIN?查詢SLM是否準(zhǔn)備好。實(shí)驗(yàn)中返回“+CPIN READY”說(shuō)明SIM準(zhǔn)備就緒。
(3)AT+CGREG?查詢是否注冊(cè)成功。實(shí)驗(yàn)中返回“+CGREG:0,5”說(shuō)明注冊(cè)成功。
以上3步主要是確認(rèn)當(dāng)前網(wǎng)絡(luò)和模塊的狀態(tài)。
(4)AT+CGDCQNT=1,“IP”,“CMNET”設(shè)置APN無(wú)線接入點(diǎn)。實(shí)驗(yàn)中返回:“OK”,說(shuō)明接入點(diǎn)設(shè)置成功。APN(Access Point Name),即“接入點(diǎn)名稱”,是在通過(guò)手機(jī)上網(wǎng)時(shí)必須配置的一個(gè)參數(shù),它決定了手機(jī)通過(guò)哪種接入方式來(lái)訪問(wèn)網(wǎng)絡(luò),用來(lái)標(biāo)識(shí)GPRS的業(yè)務(wù)種類(lèi),目前分為兩大類(lèi):CMWAP/UNIWAP/3GWAP和CMNET/UNINET/3GNET。中國(guó)聯(lián)通2G業(yè)務(wù)WAP瀏覽器中使用的APN為“UNIWAP”,3G業(yè)務(wù)WAP瀏覽器使用的APN為"3GWAP";中國(guó)聯(lián)通的2G上公網(wǎng)使用的APN為“UNINET”,3G業(yè)務(wù)上網(wǎng)卡及上公網(wǎng)使用的APN為“3GNET”。中國(guó)移動(dòng)上內(nèi)網(wǎng)的APN為“CMWAP”,上網(wǎng)卡及上公網(wǎng)使用的APN為“CMNET”。實(shí)驗(yàn)中使用移動(dòng)動(dòng)感地帶,APN設(shè)置為“CMWAP”。
(5)AT%ETCPIP=“”,“”進(jìn)行PPP撥號(hào)。實(shí)驗(yàn)中返回:“OK”,說(shuō)明撥號(hào)成功。
(6)AT%ETCPIP?查詢獲得本地IP地址,以用DNS服務(wù)器地址。實(shí)驗(yàn)返回:+ETCPIP:1,“10.73.11.1”,“211.138.24.71”,“211.138.30.66”。其中“10.73.11.1”是本地IP,“211.138.24.71”,“211.138.30.66”是獲得的DNS服務(wù)器地址。
(7)AT%IPOPEN=“ICP”,“192.168.1.101”,1234(實(shí)驗(yàn)時(shí)改成自己的IP和端口號(hào))。
(8)AT%IPSEND=“616263313233”。發(fā)送abc123。此處由于使用華為公司GTM900-C無(wú)線通信模塊,數(shù)據(jù)以16進(jìn)制發(fā)送,所以發(fā)送的是abc123的16進(jìn)制表示。
(9)AT%IPOPEN?查詢鏈路狀態(tài)。試驗(yàn)中返回:“TCP”,”211.252.207.107”,1234,1026。AT%IPOPEN之后,要等待直到出現(xiàn)CONNECT或者CONNECTERROR之類(lèi)的提示信息才能做下一步的操作。
(10)AT%IPCLOSE和AT%IPCLOSE=5關(guān)閉連接。實(shí)際中必須等待連接成功后才能關(guān)閉。
3.2 數(shù)傳終端的硬件設(shè)計(jì)
系統(tǒng)中單片機(jī)串口利用MAX232完成TTL/CMOS電平轉(zhuǎn)換后與GPRS模塊相連接,實(shí)現(xiàn)模塊初始化和數(shù)據(jù)收發(fā)。同時(shí)擴(kuò)展串口可與GPS接收機(jī)或其他嵌入式系統(tǒng)相連進(jìn)行數(shù)據(jù)處理與交換。MCU選用Atmel公司的AT89S51;GPRS模塊選用華為公司GTM900-C無(wú)線通信模塊。
3.3 數(shù)傳終端的軟件實(shí)現(xiàn)
系統(tǒng)軟件設(shè)計(jì)的核心部分是單片機(jī)與GPRS模塊的通信,兩者間需定義通信協(xié)議、規(guī)定幀格式,通過(guò)AT指令實(shí)現(xiàn)GPRS網(wǎng)絡(luò)的附著、PDP激活、Internet的接入及數(shù)傳。系統(tǒng)程序設(shè)計(jì)采用模塊化設(shè)計(jì)思想,主要分為系統(tǒng)初始化模塊、建立連接模塊、數(shù)據(jù)傳輸模塊、斷開(kāi)連接模塊4部分。
3.3.1 初始化及通信協(xié)議
通信協(xié)議功能:實(shí)現(xiàn)GPS模塊、藍(lán)牙模塊、GPRS模塊與單片機(jī)間的通信。此處信息由GPS、藍(lán)牙采集,經(jīng)過(guò)單片機(jī)處理后經(jīng)GPRS網(wǎng)絡(luò)發(fā)送。
幀格式說(shuō)明:1,幀頭。0xff,一幀的起始位置。2,幀類(lèi)型。0x01,代表命令幀;0x02,代表數(shù)據(jù)幀。3,區(qū)別碼。0x11:模塊發(fā)送信息給單片機(jī);0x12:?jiǎn)纹瑱C(jī)發(fā)送信息給模塊。4,設(shè)備號(hào)。0x20:?jiǎn)纹瑱C(jī);0x21:GPS模塊;0x22:藍(lán)牙模塊;0x23:GPRS模塊。5,內(nèi)容長(zhǎng)度。
0x(xx),xx為適當(dāng)?shù)闹怠?,命令類(lèi)型。0x31:讀取目標(biāo)設(shè)備的當(dāng)前狀態(tài);0x32:讀取目標(biāo)設(shè)備的數(shù)據(jù)。7,內(nèi)容。在不使用它的命令格式中,它的值無(wú)意義,為通信方便,在不使用它的命令格式中,規(guī)定其值為0x00。8,校驗(yàn)碼。從第一個(gè)字節(jié)開(kāi)始到Xor的前一字節(jié),共N-1 Byte,作異或運(yùn)算。
3.3.2 建立連接
為方便程序設(shè)計(jì),將建立連接所需的AT命令以字符串形式存放于AT命令緩存區(qū),所需多條AT指令長(zhǎng)度不一且發(fā)送順序不可改變,為有效控制每條AT指令、提高CPU利用率需將AT指令緩存區(qū)設(shè)置為指針數(shù)組形式,在建立連接時(shí)通過(guò)循環(huán)調(diào)用字符串發(fā)送函數(shù)將AT命令發(fā)送,相鄰AT命令間需要2~3 s的延時(shí),每發(fā)送完一條AT命令調(diào)用一個(gè)3 s的延時(shí)子程序,然后通過(guò)串口中斷接收函數(shù)接收AT命令返回值來(lái)判斷連接是否成功。注意,AT命令均以回車(chē)符作為結(jié)束標(biāo)志,并以字符串形式傳送,因此在定義AT命令緩存區(qū)時(shí)應(yīng)注意轉(zhuǎn)義字符的使用。
3.3.3 數(shù)據(jù)傳輸
在與上位機(jī)連接成功后,通過(guò)字符串發(fā)送函數(shù)發(fā)送數(shù)據(jù)緩存區(qū)中的數(shù)據(jù),數(shù)據(jù)緩存區(qū)仍需設(shè)置為指針數(shù)組形式,發(fā)送數(shù)據(jù)的原理與建立連接時(shí)的基本相同,但數(shù)據(jù)的接收是通過(guò)串口中斷接收函數(shù)完成的,同時(shí)將接收到的數(shù)據(jù)必須先放入接收緩存區(qū)以便作顯示處理。需要指出的是,串口中斷程序既要接收指令返回值又要接收上位機(jī)傳來(lái)的數(shù)據(jù),這兩種接收信息的處理方式不同,所以在中斷函數(shù)中應(yīng)通過(guò)設(shè)置兩個(gè)不同的標(biāo)志來(lái)解決這一問(wèn)題。
3.3.4 斷開(kāi)連接
數(shù)據(jù)鏈路的釋放可通過(guò)發(fā)送數(shù)據(jù)結(jié)束標(biāo)志“+++”實(shí)現(xiàn),但必須延時(shí)一定時(shí)間后再發(fā)送斷開(kāi)連接指令:AT#CONNECTIONST;AT+OGATT=0。
4 綜合信息處理平臺(tái)的設(shè)計(jì)
綜合信息處理平臺(tái),包括網(wǎng)絡(luò)通信模塊,歷史記錄分析模塊、Web登錄管理界面模塊,該Web登錄管理界面模塊,用于登錄管理公交車(chē)查詢系統(tǒng)的綜合信息處理平臺(tái),該網(wǎng)絡(luò)通信模塊用于接收移動(dòng)通信終端傳輸?shù)膶?shí)時(shí)公交車(chē)信息,并將其數(shù)據(jù)傳輸至歷史記錄分析模塊進(jìn)行存儲(chǔ)和分析,待用戶登錄查看。綜合信息處理平臺(tái)結(jié)構(gòu)框圖如圖3所示。
系統(tǒng)中,綜合信息處理平臺(tái)當(dāng)接收到網(wǎng)絡(luò)通信模塊發(fā)來(lái)的公交車(chē)數(shù)據(jù)時(shí),首先對(duì)數(shù)據(jù)進(jìn)行分類(lèi),統(tǒng)計(jì)和儲(chǔ)存,當(dāng)有用戶通過(guò)Web界面連接到平臺(tái)之后,新建立一個(gè)子線程為其服務(wù),之后接收到用戶傳輸過(guò)來(lái)的查詢數(shù)據(jù),按照協(xié)議對(duì)數(shù)據(jù)進(jìn)行分類(lèi)、統(tǒng)計(jì)和分析,并將結(jié)果反饋給用戶。
5 結(jié)束語(yǔ)
系統(tǒng)完成了一個(gè)基于物聯(lián)網(wǎng)的公交車(chē)信息查詢系統(tǒng),很好地利用了物聯(lián)網(wǎng)的采集處理發(fā)送信息等相關(guān)理念,是一款使用簡(jiǎn)單、操作方便、查詢速度快、目標(biāo)車(chē)輛明確的信息查詢系統(tǒng)。系統(tǒng)基于物聯(lián)網(wǎng)是信息科學(xué)技術(shù)領(lǐng)域內(nèi)的新興研究方向,既是對(duì)物聯(lián)網(wǎng)技術(shù)的探索和應(yīng)用,又是對(duì)實(shí)際問(wèn)題的解決。